黑马程序员技术交流社区
标题:
两种定义变量方式的区别
[打印本页]
作者:
戴振良
时间:
2012-3-25 15:29
标题:
两种定义变量方式的区别
int [] array = {1,2,3,4};
int [] array = new int[]{3,4,5};
这两种定义方式有什么不同吗?如果没有是不是用第一种比较方便快捷呢?还有下面的也是,有区别吗:
String str = "你好";
String str = new String("你好");
作者:
李柯
时间:
2012-3-25 15:52
第一个问题:
1、前者只能在第一次初始化时使用,在运行时不能重新初始化
2、后者可以在运行时分配存储空间并初始化,并可以运行过程中动态改变这个数组对象
第二个问题:
1.String str = "你好"; 是在堆中构建一个String对象"你好",str为其引用。
2.String str = new String("你好"); 这里共创建了两个对象,第一个是"你好",第二个是由new创建的,str为其引用。
作者:
李见黎
时间:
2012-3-25 18:50
功效是没有什么不同的,主要是看你的代码是否合乎规范。代码写多了,这种就不是快捷的问题,第一种的可读性不好,对以后的调试等都是不好的。
作者:
亚男
时间:
2012-3-26 02:13
我对沙发的内容作下补充,String str = new String(“你好”)
这个是先创建str引用,其次在堆中创建String对象,第三把str指向String创建的对象,而String str = "你好"是在常量池直接创建一个字符串常量,让str指向这个常量,
作者:
戴振良
时间:
2012-3-27 17:41
哦,原来如此,谢谢了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2