gpt4 book ai didi

java - Java中的字符串比较很奇怪

转载 作者:行者123 更新时间:2023-12-01 07:26:34 24 4
gpt4 key购买 nike

嗨,我的代码有一个奇怪的问题,我不知道出了什么问题。

我有:

ArrayList 调用玩家

职业:玩家

类(class):姓名

Player 类包含 Name 类,其中包含 3 个字符串 FirstName MiddleName LastName

问题是当我尝试做

For( int i = 0; i < players.size(); i++)
{
if( players.get(i).getName().getFirst() == "First1")
{
// Some Code
}

System.out.printf(players.get(i).getName().getFirst());
}

如果语句永远不成立,奇怪的是当我使用 system.out 进行检查时,如下所示

System.out.printf(players.get(i).getName().getFirst());

它返回:

第一1第一2第一3

getName() 方法返回对象名称,getFirst() 返回 String FirstName

有什么想法问题出在哪里吗?

最佳答案

永远不要将字符串与 == 进行比较。使用 .equals() 代替。“==”比较字符串的引用。 .equals() 比较实际值。

关于java - Java中的字符串比较很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23671621/

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