gpt4 book ai didi

java - 将字符串数组值与 JavaFX 组合框值进行比较,计算结果不为 true

转载 作者:行者123 更新时间:2023-12-02 06:32:17 25 4
gpt4 key购买 nike

我有一个循环来检查数组中的值并将它们与组合框中的值进行比较。由于某种原因,即使它们匹配,比较的结果也不会为 true。

这是循环,添加了系统输出以进行故障排除:

System.out.println("Race Changed, setting new attribute min/maxes");
int raceIndex = -1;

for (int i=0;i<5;i++){
System.out.println("RaceCheck index i="
+ Integer.toString(i)
+ " raceIndex="
+ Integer.toString(raceIndex)
+ " miscData.raceData[i].raceName="
+ miscData.raceData[i].raceName
+ " cboRace.getValue()="
+ cboRace.getValue()
+ " match found="
+ (miscData.raceData[i].raceName == cboRace.getValue()));
System.out.println("|"+miscData.raceData[i].raceName+"|");
System.out.println("|"+cboRace.getValue()+"|");
if (miscData.raceData[i].raceName == cboRace.getValue()) {
raceIndex = i;
}
}

if (raceIndex < 0) {
// race was not found, default to Human
System.out.println("Race " + cboRace.getValue() + " was not found in racedata");
raceIndex = 0;
}

这是输出:

Race Changed, setting new attribute min/maxes
RaceCheck index i=0 raceIndex=-1 miscData.raceData[i].raceName=Human cboRace.getValue()=Dwarf match found=false
|Human|
|Dwarf|
RaceCheck index i=1 raceIndex=-1 miscData.raceData[i].raceName=Elf cboRace.getValue()=Dwarf match found=false
|Elf|
|Dwarf|
RaceCheck index i=2 raceIndex=-1 miscData.raceData[i].raceName=Dwarf cboRace.getValue()=Dwarf match found=false
|Dwarf|
|Dwarf|
RaceCheck index i=3 raceIndex=-1 miscData.raceData[i].raceName=Ork cboRace.getValue()=Dwarf match found=false
|Ork|
|Dwarf|
RaceCheck index i=4 raceIndex=-1 miscData.raceData[i].raceName=Troll cboRace.getValue()=Dwarf match found=false
|Troll|
|Dwarf|
Race Dwarf was not found in racedata

我正在使用 Java 7 Update 40,组合框使用 JavaFX。在比较它们时如何使匹配值评估为 true?

最佳答案

在 Java 中(JavaFX 中也是如此)对象应该与 .equals() 方法而不是 == 运算符进行比较。 == 运算符通过引用来比较对象,实际上是通过它们的内存地址来比较。由于 String 也是对象,因此使用

if (miscData.raceData[i].raceName.equals(cboRace.getValue())) {
raceIndex = i;
}

引用Java string comparison .

关于java - 将字符串数组值与 JavaFX 组合框值进行比较,计算结果不为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19958920/

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