黑马程序员技术交流社区
标题:
string类对象那个赋值
[打印本页]
作者:
一诺千金
时间:
2014-3-29 17:43
标题:
string类对象那个赋值
用=赋值也new赋值有什么区别?
作者:
苏伯亚
时间:
2014-3-29 18:13
没有区别
作者:
xuehuayous
时间:
2014-3-29 18:19
package com.itheima;
public class Test{
public static void main(String args[]) {
String str1 = new String("abc");
String str2 = "abc";
System.out.println(str1.equals(str2));//true
}
}
复制代码
结果为true,所以没有区别的,希望对你有帮助!
作者:
清风木扬
时间:
2014-3-29 19:04
//字符串本身就是一个不可修改的对象。
String str1 = new String("abc");//将生成两个对象"abc" new String再产一个
String str2 = "abc";//"abc“就产一个对象
System.out.println(str1.equals(str2));//true
System.out.println(str1==str2);//false ==比较变量是指向同一对象 equals比较内容 “String的equals是重构过的,Object的equals比较的hasecode”
作者:
13556793092
时间:
2014-5-17 13:48
如果我们记错的话 区别还是有的
补充下楼上的 别介意哈
String str1 = new String("abc");
String str2 = "abc";
new String每写一遍就会创建一个新的对象
以上代码当你第一次new String("abc");这时除了new出来的对象时,abc也被创建出来放在字符常量缓冲区中
你在执行String str2 = "abc";这句代码实际在这里并没有创建出对象,是直接从字符常量缓冲区中拿来用的
作者:
247033993@qq.co
时间:
2014-5-17 17:11
有区别,你可以用“==”比较看看,你就知道区别在哪里
作者:
杨韬略
时间:
2014-5-18 16:22
=赋值的变量其实是引向该变量地址,new是新建一个变量地址
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2