发布网友
共3个回答
热心网友
你好!你的问题太长了,而且,我没有抓住重点。
所以就你题目来进行部分解答,希望对你有所帮助。
java的引用和c里面的指针有何不同?
这个我也说不好,java的引用 想当于C的指针,是在JVM堆中的一个地址指向。
如果要说不同,的话,就是我们不能对JVM做什么,只能对它存储的值进行操作。
而C是可以对内存进行操作的。
String直接赋值和String new出来的有何区别?
String str = "hello";
String str = new String("hello");
这两个,在结果上没有区别。
细微的区别就是 java重写了“” 这个符号 "" 与 new String();这是等同的。
"hello" 是在 堆 中创建了一个对象,并直接赋值。
new String("hello"); 是创建了两个对象。
"hello" 创建 了第一个对象。 new String(str) 利用第一个对象的值,创建了第二个对象。
热心网友
String a="你好" //直接赋值 放在缓冲区了。你自己看看吧。不一样。今天看书看到的。
String b=new String("你好") //在堆中新建一个对象
热心网友
你说的东西过于复杂了,有些时候没必要这样子理解,给你一种简单的理解方法:
String a="你好";
String b=new String("你好");
String c = "Hello";
String d=new String("Hello")
你用 Eclipse 写一个简单的 Test 类,在 main 方法里面测试一下以下判断就可以了: