相关疑难解决方法(0)

Java如何使用"+"进行字符串连接?

我读到了Java使用+=运算符的方式StringBuilder.
操作是否相同("a" + "b")

java string

10
推荐指数
3
解决办法
2万
查看次数

Java中的字符串初始化

  1. String str1;
  2. String str2 = null;
  3. String str3 = "";
  4. String str4 = new String();
  5. String str5 = new String("");

我知道对于上面的第三次初始化,字符串对象在字符串池中初始化,第四次与字符串池无关.

1.和2.有什么区别?如果我将其str1视为指针变量,它存储的是一个从未被JVM或OS使用的特定内存地址?

4和5之间有区别吗?

当我打印str1str2直接通过System.out.println(str1)System.out.println(str2),因为str1,我甚至无法传递编译.因为str2,编译是正常的,我得到"null"和控制台窗口中的输出.为什么?

在@aioobe回答之后编辑:更多问题:

我想更多地了解"null".因为str2(引用变量)就像一个指针变量,所以它应该有一些东西(0/1位)(在这个指针变量占用的内存中).当它被初始化为null时,它是全0位还是null的字节码全为零?另一个问题是,如果我调用toString()方法上str2str2.toString(),我得到了在运行时一个空指针错误.那么JVM是否检查引用变量是否为空?JVM如何知道它是null?JVM检查位str2

大约一个问题在Java中: 空的级联和字符串文字

java string

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

string ×2