关于int,integer初始值问题

int 初始化是 0;

这是如果代码是这样,就会出现没有为参数赋值,也进入了case。为了避免出现这种情况建议参数类型使用byte 、string 或 Integer

这样初始值就不是0了。

但是在使用Integer的时候一定要注意判空,否则如果Integer类型的参数在未赋值的情况下,与数字进行比较就会出现空指针异常

在设计过程中一定要细心,才能避免这样低级错误的发送

时间: 2024-10-12 04:32:31

关于int,integer初始值问题的相关文章

什么是引用数据类型以及引用和基本数据类型的默认初始值

除8种基本数据类型以外都是引用类型,实际上java中只有两种类型引用类型和原始类型(基本数据类型).... String是引用类型变量默认初始值是null String是对象,默认值是null 对象是引用数据类型 new String()和new String("")是申明一个空字串,不是null 布尔型的初始值是false,char型的初始值是空格 private int a; private byte b; private short c; private char d; priv

HashMap源码阅读(1)- 初始值、数据结构、hash计算

最近有被问及HashMap的相关问题,不得不再阅读源码,刨根问底. 1)初始值 我们平常使用Map的时候,创建的时候都是Map<String,Object> map = new HashMap<String,Object>();那么HashMap的默认大小是多少呢?查看源码,发现这么一段: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * The default initial capacity - MUST be a power of

static 和 final 关键字 对实例变量赋初始值的影响

static 和 final 关键字 对实例变量赋初始值的影响 最近一直在看<深入理解Java虚拟机>,在看完了对象内存分配.Class文件格式之后,想深扒一下实例变量是如何被赋上初始值的这个问题的细节. 在2.3.1小节中讲对象创建的时候,讲到内存分配有两种方式:一种是指针碰撞:另一种是空闲列表. 而选择哪种分配方式是由JAVA堆是否规整决定,而JAVA堆是否规整则由虚拟机所采用的垃圾收集器是否带压缩整理功能决定. 我们不管内存分配采用何种方式,当内存分配完成后,虚拟机将分配到的内存空间都初

Java变量的初始值

Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会. 对于成员变量 int a;         // a的初始值为0 如下例中的成员变量a,b,c,d public class VariableInitialValue { public static void main(String args[]) { TestVariable obj = new TestVariable(); System.out.println("a="+obj.a); System.out.p

C#变量初始化问题:字段初始值无法引用非静态字段、方法或属性

http://www.cnblogs.com/bluestorm/p/3432190.html 问题:字段初始值设定项无法引用非静态字段.方法或属性的问题 下面代码出错的原因,在类中定义的字段为什么不能用? public class Test {public Test(){}public int Age=23;public int temp = Age;//ERROR 字段初始值设定项无法引用非静态字段.方法或属性} C#规定在类内部只能定义属性或者变量,并初始化,不能直接变量引用变量. 在初始

Java未赋值变量的默认初始值

在 Java 程序中,任何变量都必须经初始化后才能被使用.当一个对象被创建时,实例变量在分配内存空间时按程序员指定的初始化值赋值,否则系统将按下列默认值进行初始化: 数据类型 初始值 byte 0 short 0 int 0 long 0L char 'u0000' float 0.0f double 0 boolean false 所有引用类型 null 注意:一个具有空值“null”的引用不引用任何对象.试图使用它引用的对象将会引起一个异常.

编写高质量代码改善C#程序的157个建议[为泛型指定初始值、使用委托声明、使用Lambda替代方法和匿名方法]

前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托本身是一种引用类型,它保存的也是托管堆中对象的引用,只不过这个引用比较特殊,它是对方法的引用.事件本身也是委托,它是委托组,C#中提供了关键字event来对事件进行特别区分.一旦我们开始编写稍微复杂的C#代码,就肯定离不开泛型.委托和事件.本章将针对这三个方面进行说明. 本文已更新至http://w

Java 包装类Integer的值比较

对于包装类型Integer的值比较与int的值比较是不同的: public class Java_Val_Compare { public static void main(String[] args) { Integer a1 = 127; Integer a2 = 127; System.out.println("a1==a2?:\t"+(a1==a2)); Integer b1 = 128; Integer b2 = 128; System.out.println("b

Bash 什么时候会给 HOME 赋初始值

今天无意发现下面这个表现: $  env -i bash -c cd bash: line 0: cd: HOME not set $ env -i bash -c 'echo $HOME' 这表明了,Bash 只会从环境变量中继承 HOME 变量,从来不自己初始化它?为了证实这个想法,我去翻了下源码,发现其实并不是,在一种情况下,Bash 是会主动初始化 HOME 变量的: if (login_shell == 1 && posixly_correct == 0) set_home_va