gpt4 book ai didi

java - 字符串等于不适用于对象

转载 作者:行者123 更新时间:2023-12-01 11:06:30 26 4
gpt4 key购买 nike

    Object[] abc = { "products" };
methodName(model2, abc);

我初始化了一个对象并调用了方法:

public int methodName(TableModel model, Object value) {
for (int i = model.getRowCount()-1; i >= 0; --i) {
int j = 0; //first column I need

System.out.println("a "+model.getValueAt(i, j)); //a products
//this case RowCount was 1 (tested with println) which also means for loop is only once executed

if (model.getValueAt(i, j).equals(value)) {
return i;
}
}

return -1;
}

它总是返回 -1,尽管它应该返回 i (0)

那么为什么 .equals 不起作用

最佳答案

您将一个数组作为第二个参数传递给methodName,然后检查该数组是否等于model.getValueAt(i, j)。无论 model.getValueAt(i, j) 返回什么,它都不能 equals 到该数组,因为数组使用 equals 的默认实现code> (来自 Object 类),用于比较对象引用。

关于java - 字符串等于不适用于对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893530/

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