首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS·枚举变量在 未赋值赋值为空 的情况下,默认值为0(即第一个枚举类型)

枚举类型变量的赋值特性: 一个枚举类型如果没有赋初值,则默认值为0。 一个枚举类型如果赋值为nil,同样值为0。...= 1 }; 在调用的时候,代码欲从VC的字典数组 self.resource 中获取某字典 self.resource[indexPath.row] 并取出 type 的键值对,但实际使用时,该字典并不存在键值对...,即 [self.resource[indexPath.row] objectForKey:@"type"] 为空,这时候如果把它传递给枚举类型,所获得到的枚举类型仍为0。...打个断点,可以发现type1和type2的值均为PopupTypeNormal,即第一个枚举类型。...拓展:字典键值对判空测试 测试背景 某次调用,字典self.resource[indexPath.row]根本不存在"type"的键值对,测试对该字典的判空方法。

7.7K10

编码规范 - 养成良好的Java编码习惯

,方法定义的每一个参数都需要有详细的注释描述,建议添加方法返回值描述。...行注释 行级注释一般都是方法内使用到,分为单行注释、多行注释,单行注释采用//设置,多行注释采用/* */设置,如下所示: 单行注释: // 执行方法,获取返回值 多行注释: /* * 执行方法,获取返回值...风格,DTO、VO除外 错误示例: QRCode / UserInfoDto / XMLService 正确示例: QrCode / UserInfoDTO / XmlService 方法名、参数名、成员变量...Object的equals方法容易抛出空指针异常,应使用常量或确定值的对象来调用equals方法。...对trace / debug / info级别的日志输出,必须使用占位符的方式,如果不使用占位符而是直接拼接,可能会导致变量为null导致系统异常,还一点日志等级不匹配时虽然不会打印,但是会执行字符串的拼接

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《面试1v1》java注解

    候选人: 注释是写给人看的,注解是写给机器看的。注释不会对程序产生任何影响,注解会影响程序的编译、运行。注释是// 或者/* */,注解是@打头的。...@Autowired:自动装配成员变量、构造方法和方法参数。@Service:标记业务层组件。@Controller:标记控制层组件。 @Repository:标记数据访问组件。...候选人: SpringBoot中常用的注解有:@SpringBootApplication:标记这个类是SpringBoot的主配置类。...注解只有成员变量,没有方法。注解中的成员变量只能是基本类型、String、Enum、Annotation等,不能是对象。如果注解有默认值,在使用注解时可以忽略该值。同一个地方不能同时存在两个同名注解。...注解不能作用于变量、类的私有成员上。注解不会继承,子类或者实现类无法继承父类或者接口的注解。图片《面试1v1》合集---

    14640

    Spring Boot进阶教程——注解大全(建议收藏!)

    而最后一个为注解集合,即可能会表含前面4种注解。 Spring注解 在Spring Core注解中,主要讨论Spring DI和Spring IOC中使用的Spring核心注释。...1.1 @Autowired @Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,...也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值。...,被其标注的方法会被重写,然后根据其返回值的类型,容器调用BeanFactory的getBean()方法来返回一个bean。...:接收请求路径中占位符的值 2.5 @PostMapping @PostMapping注释将HTTP POST请求映射到特定的处理程序方法。

    2.4K20

    jackson学习之五:JsonInclude注解

    null就不序列化: NON_ABSENT NON_ABSENT略为复杂,当实例化的对象有Optional或AtomicReference类型的成员变量时,如果Optional引用的实例为空,用NON_ABSENT...),如果成员变量上的注解生效,field0就会被序列化(NON_NULL只过滤null,空集合不是null),执行结果如下图,可见是成员变量上的注解生效了: 接下来保持上述代码不变,仅在getField0...方法上添加JsonInclude注释,值是USE_DEFAULTS,这样在序列化过程中,调用getField0方法时,就用类注解JsonInclude的值了,即NON_EMPTY: @JsonInclude...,此时用的成员变量field0上的注解就不生效了,而是类注解生效,导致空集合不被序列化: 小结USE_DEFAULTS的作用如下: a....类注解和成员变量注解同时存在时,以成员变量注解为准; b.

    1.1K20

    Java基础入门笔记02——文档注释,JavaDos文件,数据类型,类型转换,变量默认值问题

    [待补充] 百度看下 ---- 2021.11.13 文档注释 JavaDoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。...变量必须声明类型,变量名必须是合法的标识符 作用域 类变量 实例变量 局部变量 ---- 属性即为变量 实例变量:从属于对象 int age; //若不进行初始化,会自动设置该类型的默认值...见名知意 类成员变量,局部变量,方法名:驼峰原则。...=) instanceof——用于判断一个对象是否为一个类的实例,返回值为布尔值 true false 逻辑运算符:&& || !...(a && b)); 短路运算 && 左边为false就不会进行右边的运算,||左边为true就不会进行右边的运算 ---- 位运算 ^异或 相同为0 不同为1 2*8怎么运算最快?

    44450

    Java入门(2)-- 语言基础

    局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也会销毁。...如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。 “按位或”运算 运算符为“|”,为双目运算符。如果两个操作数对应位是0,则结果位才是0,否则为1。...如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。 “按位取反”运算 也称“按位非”运算,运算符为“~”,为单目运算符。就是将操作数二进制中的1修改为0,0修改为1。...“按位异或”运算 运算符为“^”,为双目运算符。当两个操作数的二进制表示相同(同时为0或同时为1),结果为0,否则为1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。...2.6 代码注释 单行注释:“//” 多行注释:“/* */” 文档注释:“/** */” 注:当文档注释出现在声明(如类的声明、类的成员变量的声明、类的成员方法声明等)之前时,会被Javadoc文档工具读取作为

    48220

    房上的猫:java基础知识部分知识点

    类描述了一组有相同特性( 属性 ) 和相同行为 ( 方法 ) 的对象。 15.请写出成员变量和局部变量的区别。  1)在类中位置不同:成员变量:在类中方法外。局部变量:在方法定义中或者方法声明上。  ...2)在内存中的位置不同:成员变量:在堆内存。 局部变量:在栈内存。  3)生命周期不同:成员变量:随着对象的创建而存在,随着对象的消失而消失。...局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。  4)初始化值不同:成员变量:有默认值初始化。局部变量:没有默认值初始化,必须定义,赋值,然后才能使用。  ...※局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。 16.如何定义类的属性和方法?...1)调用带参方法与调用无参方法的语法相同,但在调用带参方法时必须传入实际的参数的值。  2)定义方法和调用方法时把参数分别称为形式参数和实际参数(形参和实参)。

    1.2K140

    Java知识面试题复习(二)Java基础语法

    Math.round(-11.5)等于多少 Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。...逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。...this与super的区别 super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名...this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过...static应用场景 因为static是被类的实例对象所共享,因此如果某个成员变量是被所有对象所共享的,那么这个成员变量就应该定义为静态变量。

    32920

    Python学习笔记

    /usr/bin/python # coding=utf-8 counter = 100 # 赋值变量 print counter 布尔值 Python中,非0和非空(null)值为true,0 或者...and and逻辑(二元运算),如果左值为False返回False,否则返回右值 or or逻辑(二元运算),如果左值不是0,返回左值,否则返回右值 not not逻辑(一元运算),如果运算值为True...Python的条件表达式不需要小括号包裹,在条件结尾加上冒号。 Python中,不使用花括号包括语句。 规定,相同缩进量的语句,默认被包裹为一个复合语句(一个缩进量为4个空格)。...面向对象 Python中的类内部方法,包含实例方法、类方法、静态方法三种 访问权限 通过单下划线开头定义的成员为protected成员,只能在类内部及子类内部访问 通过双下划线开头定义的成员为private...__i) 构造函数与析构函数 类内部的init__方法为构造函数 类内部的__del方法为析构函数 与其他语言不同的是,如果没有显示调用,Python在构造和析构时,并不会隐式调用父类的无参构造或者析构

    2.3K10

    京东一面:子线程如何获取父线程ThreadLocal的值

    源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析...京东一面」子线程如何获取父线程ThreadLocal的值 子线程如何获取父线程ThreadLocal的值 想要子线程获取父线程中 ThreadLocal 中的值,需要其子类 InheritableThreadLocal...当inheritThreadLocals的值为true并且其父线程的inheritableThreadLocals不为null时, 把其父线程inheritableThreadLocals 赋值给当前线程的...threadLocals,并绑定到当前调用线程的成员变量threadLocals上     return t.threadLocals;  } void createMap(Thread t, T firstValue...同理,getMap方法在当前调用者线程调用get方法的时候返回的也不是threadLocals而是inheritableThreadLocal。

    1.2K50

    java的方法分为两大类型,java题库

    在Java程序中,用\符号表示单行注释,那么用 /* */ 符号表示 多行注释。 14. 在Java程序中使用注释的目的在于 为程序添加说明 。 15....自动类型转换是把级别 低 的变量的值赋给级别 高 的值。 25. 假若 float y=54.23; int x=(int)y;这时x的值为 54 。 26....数组是一组相同类型变量的集合,其下标是从 0 开始算的。 36. 定义一个包含7个元素的数组a,则该数组的最后一个元素是 6 。 37. 比较两个字符串是否相同采用 equals() 方法。 38....成员变量在整个类体中有效,而局部变量只在定义它的 方法 内有 效。 58. 如果局部变量名与成员变量名相同,则 成员变量 被屏蔽。 59. 在Java程序中,使用关键字 this 来引用当前对象。...构造方法只能通过 this 运算符调用,用户不能直接调用。 64. 重载 是指多个方法享有相同的名字,但这些方法的参数必须不同, 或者是参数的个数不同,或者是参数类型不同。 65.

    85320

    Java自定义注解

    从某些方面看,annotation就像修饰符一样被使用,并应用于包、类 型、构造方法、方法、成员变量、参数、本地变量的声明中。这些信息被存储在Annotation的“name=value”结构对中。...Annotation能被用来为某个程序元素(类、方法、成员变量等)关联任何的信息。...packages,type(类,接口,枚举,Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量,catch参数),在Annotation类型的声明中使用了...方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。可以通过default来声明参数的默认值。...(如果没有注释直接存在于此元素上,则返回长度为零的一个数组。)该方法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影响。

    93750

    【收藏篇】Java关键字 及其 更详细介绍

    static 字段(类的成员变量)在类的所有实例中只存在一次。 可以从类的外部调用 static 方法,而不用首先实例化该类。这样的引用始终包括类名作为方法调用的限定符。...volatile 的目标用途是为了确保所有线程所看到的指定变量的值都是相同的。...-示例- inti; for(i=0;i } -注释- for语句的形式为for(initialize;condition;increment...static字段(类的成员变量)在类的所有实例中只存在一次。 可以从类的外部调用static方法,而不用首先实例化该类。这样的引用始终包括类名作为方法调用的限定符。...-示例- public class MyClass{ volatile int shared Value; } -注释- volatile的目标用途是为了确保所有线程所看到的指定变量的值都是相同的。

    67820

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券