java - 属性 String 是对象吗?

标签 java string

我有点困惑,我了解到String s 是对象,因此要比较它们,您应该使用 String#equals .

我的问题是:如果我有 String作为一个属性,它是一个对象吗?

澄清我的问题:

Class A {
    public String nom; 
    A(nom) {
        this.nom = nom;
    }
 }

...并在主方法中:

 A a = new A("Sara");
 A b = new A("Youssef");
 A c = new A("Sara");

 a.nom == b.nom; ==> false
 a.nom == c.nom; ==> true

因此,就是String的比较s' 的值更像 c++,即与它们的引用无关?

最佳答案

假设您的构造函数将其参数值分配给实例变量nom...

事实上,a.nom == c.nom 是任意的,并且由于文字 "Sara" 已被保留(或缓存)。

这并不意味着在比较 String 时,除了使用 equals 方法之外,您应该期望得到一致的结果。

关于java - 属性 String 是对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34756458/

相关文章:

JavaPreparedStatement带外键的多批量插入

Java 构造函数,在哪里放置一次繁重的初始化?

string - Lua中将字符串分割成二维表

iOS -- 字符串 -- 在特定位置插入字符串

ruby - 如何使用 Ruby 以有效的方式从字符串中获取所需的格式化散列?

javascript - 将 Javascript Uint8Array 的内容打印为原始字节

java - 如何在 java 中查找字符串中的 EOF?

java - SQLite异常,数据库已关闭

python - 仅对具有重复字符的字符串中的一个字符使用 .replace()

java - fragmentActivity 中的 aFileChoser