在java 中
String a=New String("abc")
与Strng b="abc" 有什么区别
这样的话 我先String a=New String("abc")然后再String b="abc" 再然后a==b 返回的是true还是false?
追答这个问题 是true和false 你可以写个简单的代码 到eclipse运行一下马上就能知道结果了。 代码是最有说服力的 。
追问是false
追答public class StrExam {第一个是false 第二个是true
嗯嗯 谢谢
String a="abc" String b="abc" a==b返回的是true
追答>_<
追问什么表情?
哦哦
哦哦
本回答被网友采纳关于String对象的初始化问题
String a=new String("abc");String b="abc";System.out.println(a==b);System.out.println(a.equals(b));你可以试一试上面的代码。第一个是false,第二个是true。关键就在于“==” 和 equals 方法,一个比较的是对象,一个比较的是引用。“==”比较的是引用,也就是上面的a和b的的位置...
Java中String直接赋值和使用new的区别
直接赋值的String是以常量的形式存放在推中的,在同一个程序中 String a="abc";String b="abc";a==b返回的结果是true 他们指向的地址是同一个 而new会重新分配内存给每个String分配不同的内存空间 String a=new String("abc");String b=new String("abc");a==b返回的结果是false,他们指...
String s = new String("abc");在内存中有几个对象?
abc 首先是要存放在常量 区的 如果 之前用过abc字符串, 也就是之前常量池区有abc这个字符串,那么new String("abc"),就只新加了一个对象,如果之前没有abc字符串,那就要先存在常量池区,然后才生成s对象 所以要创建两个对象 按你的问题, 内存中肯定会有两个对象, 三块内存分配: 分别是 s...
java 判断字符串是否相等
这是因为在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份,所以a和b指向的是同一个对象;再比如:String a=new String("abc"); String b=new String("abc");那么a==b将返回false,因为a和b指向不同的对象。2、用equals方法,该方法比较的是字符串的内容是否相同,比如:Str...
Java里为什么string不用new呢?又不是基本数据类型。
String b = "tom";在上诉代码中,变量a和b使用的是缓冲区中的同一个存储对象。在使用String构造方法定义对象时,Java环境会和创建其他类型的对象一样,每次调用时,都会去创建一个新的对象。示例代码如下:String a = new String("tom");String b = new String("tom");在上述代码中,变量a 和...
java中String new和直接赋值的区别
public static void main(String[] args) { String a = new String(); \/\/ 在堆中生成对象s,在 字符串池中创建空字符串 String aa = ""; \/\/ 字符串池中已经存在空字符创,不用再创建了 String aaa = new String("");\/\/ 堆中生成对象aaa,并在 字符串池中创建空字符串 String b = ...
java 字符串变量赋值例如 String a="abc"; String b; b=a; b="
String a = "abc"; \/\/ 定义了一个 "abc" 字符串 ,a 指向 这个字符串String b;b = a; \/\/ 使b也指向 a现在指向的那个字符串("abc")b = "abcd"; \/\/ 定义了一个"abcd" 字符串,b 指向 这个新的字符串在内存中大致的示意图如下:所以最后 a =“abc”,b=“abcd”java中...
java新手请教java大师: string A=a;string B=a; A=B吗?
String str=new String("abc");* 所有通过new操作符的操作都是在堆完成的 它创建两个对象 abc对象和str引用对象 两个必须存放在堆中 str指向堆中的abc对象 也就是说 两个对象和str的地址全部存放在堆中 因为使用了new操作符 所以下面的例子里str2,str3和str4即使是值都为abc因为str2的地址在...
java:两句相同的 String a=new String("abc"); 创造几个对象
栈里只有引用好不,堆才是存对象的 因为==运算比较内存地址,所以可以用它判断堆里有几个对象 System.out.println("abc"=="abc");System.out.println(new String("abc")=="abc");System.out.println(new String("abc")==new String("abc"));结果:true false false so,三个 ...
Java中String直接赋字符串和new String的区别
直接赋值是在常量池寻找字符串,new的会创建对象 看这个 String a="abc",b="abc";String A=new String("abc")B=new String("abc")a==b 是true A==B 是false