Java中数据的声明,各种不同方式的声明和赋值的区别?
Stringa;a="张三";Stringa="";a="张三";Stringa=null;a="张三";Stringa="张三";以上四种的区别或是int类型的intb...
String a;
a ="张三" ;
String a ="";
a ="张三";
String a =null;
a ="张三";
String a = "张三";
以上四种的区别
或是int 类型的
int b ;
b =1;
int b=0;
b= 89;
int b = 89;
以上三种的区别。。 均为Java中的声明和赋值的区别?
1 楼的回答不是正确的 。我测试过。。但是答案并不是很知道区别。。忘高手指导 展开
a ="张三" ;
String a ="";
a ="张三";
String a =null;
a ="张三";
String a = "张三";
以上四种的区别
或是int 类型的
int b ;
b =1;
int b=0;
b= 89;
int b = 89;
以上三种的区别。。 均为Java中的声明和赋值的区别?
1 楼的回答不是正确的 。我测试过。。但是答案并不是很知道区别。。忘高手指导 展开
展开全部
String:
1是定义变量,但没有初始化,就是内存中还没开辟一段存放对象(字符串对象)a;
第3中,初始对象为null空值,再赋值;
而2和4在定义是就初始化了,其中2先初始化为“”空字符串,即使a里放的是指向“”的地址,同理4是指向“张三”的。2在初始化后又重新赋值,也指向“张三”,此时“”对象就不被引用,系统会根据垃圾回收机制确定何时回收该对象内存。并且“张三”是同一个对象,hashcode一样。
对于int等8中基本数据类型,存放的是值不是地址;
3种方式差别不大,它们的复制就是直接改的自己存放的值,只是第一个开始没初始化
注意String是对象,不是基本数据类型
1是定义变量,但没有初始化,就是内存中还没开辟一段存放对象(字符串对象)a;
第3中,初始对象为null空值,再赋值;
而2和4在定义是就初始化了,其中2先初始化为“”空字符串,即使a里放的是指向“”的地址,同理4是指向“张三”的。2在初始化后又重新赋值,也指向“张三”,此时“”对象就不被引用,系统会根据垃圾回收机制确定何时回收该对象内存。并且“张三”是同一个对象,hashcode一样。
对于int等8中基本数据类型,存放的是值不是地址;
3种方式差别不大,它们的复制就是直接改的自己存放的值,只是第一个开始没初始化
注意String是对象,不是基本数据类型
展开全部
String a;//定义一个String引用a
a ="张三" ;//为a引用赋值
String a ="";//定义一个String引用a并初始为""
a ="张三";//为a引用赋值
String a =null;//定义一个String引用并初始为null
a ="张三";//为a赋值
String a = "张三";定义一个String 引用并初始为"张三"
int b ;
b =1;
int b=0;
b= 89;
int b = 89;
跟String一样..定义与赋值..
a ="张三" ;//为a引用赋值
String a ="";//定义一个String引用a并初始为""
a ="张三";//为a引用赋值
String a =null;//定义一个String引用并初始为null
a ="张三";//为a赋值
String a = "张三";定义一个String 引用并初始为"张三"
int b ;
b =1;
int b=0;
b= 89;
int b = 89;
跟String一样..定义与赋值..
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String a;和String a =null只创建了一个String Object;
String a ="";和String a = "张三";创建了两个
但是它们都有相同的hash code;
String a ="";和String a = "张三";创建了两个
但是它们都有相同的hash code;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本上都是一样的,只是编程风格的不同而已。
不用关心他们的区别
不用关心他们的区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询