java - 字符串基本查询

标签 java string immutability

我有以下代码:

String s1= "Hi";
String s2="Hi";
String s3=s1.concat(" a");
String s4="Hi a";
System.out.println(s1==s2);
System.out.println(s1=="Hi");
System.out.println(s3.equals(s4));
System.out.println(s3==s4);

为什么 System.out.println(s3==s4) 为 false?

最佳答案

这是==.equals()之间的区别。

== 检查两个对象的引用是否相等

.equals()由对象实现,用于检查它是否与另一个对象相等

== 只能用于原始类型

关于java - 字符串基本查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33799073/

相关文章:

java - 替换为大文件 java 堆空间内存不足

javascript - CoSTLy 不可变操作

language-agnostic - 在纯函数式语言中调用函数和实例化对象之间有关系吗?

java - 如何将操作监听器添加到议程中的约会(JFXtras 议程)

java - 如何在 java 中从上到下向我的框架添加 4 个面板?

java - Java 中的 Hex To String 性能太慢

Java如何重新排列字符串中的数字

c - 如何从字符串中按数字分隔单词

java - 如何使 StringBuilder 表现得不可变

java - 我应该为此动画使用 SwingWorker、线程或递归更新吗?