|
|
1
26
没有。这仍然是一件不好的事情——您仍然需要测试引用相等,而不是值相等。
如果您现在看到==正在测试“工作”,那么这是因为您确实拥有相同的引用。出现这种情况的最常见原因可能是由于字符串文本的内部存储,但这在Java中一直存在:
这是由 section 3.10.5 Java语言规范的定义:
|
|
|
2
3
它没有改变。但是,Java编译器使用string.intern()确保源代码中的相同字符串编译为相同的字符串对象。但是,如果从文件或数据库加载字符串,它将不是同一个对象,除非使用String.intern()或其他方法强制加载。 这是个坏主意,您仍然应该使用.equals() |
|
3
1
听着,这是个棘手的概念。 这两者之间有区别:
和
如果字符串是对象,即。,
会导致
但是自从你
结果
这就是区别。你是对的,
为了使两个单独的字符串具有相同的值,但位于
所以
你必须使用
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |