gpt4 book ai didi

java - 字符串比较是否相等

转载 作者:行者123 更新时间:2023-11-29 06:33:23 26 4
gpt4 key购买 nike

<分区>

我有这个代码,

class  Test{

public static void main(String args[])
{
Boolean a;
Boolean b;
char [] c={'S','t','r','i','n','g'};

a=("String".replace('g','G')=="String".replace('g', 'G'));
b=("String".replace('g','g')=="String".replace('g', 'g'));

System.out.println("---"+a);
System.out.println("---"+b);
System.out.println(c.toString()=="String");
}

输出是 - -错误的 - -真的假的

我确实访问了 oracle 的 JLS 文档。替换方法:返回一个新字符串,该字符串是用 newChar 替换此字符串中所有出现的 oldChar 而产生的。如果字符 oldChar 没有出现在此 String 对象表示的字符序列中,则返回对此 String 对象的引用。否则,将创建一个新的 String 对象,该对象表示与此 String 对象表示的字符序列相同的字符序列,除了每次出现的 oldChar 都被出现的 newChar 替换。

当 O/p 1 为假时,为什么 O/p 秒为真?

JLS 文档中提到了 toString 方法:这个对象(已经是一个字符串!)本身被返回。那为什么 O/p 第三个不是真的呢?

谁能给我解释一下

提前致谢平均收视率

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com