【发布时间】:2020-04-29 22:49:54
【问题描述】:
我被简单的事情困住了,比如循环 for 和 if 语句。
我有两个不同的对象:
对象A:
0:id = 1,name = null
1:id = 3,name = null
对象B:
id = 1,名称 = NameForID1
id = 3, name = NameForID3
我的意思是通过 ID 值将名称从 objectB 分配给 objectA。
我已经完成了双循环 + if:
for (int i = 0; i <= objectA.size() - 1; i++){
for(int j = 0; j<=objectB.size() - 1; j++){
if(Objects.requireNonNull(objectA.get(i).getobjectAID()).equals(objectB.get(j).getObjectBID()))
objectA.get(i).setobjectAName(objectB.get(j).getobjectBName());
}
}
在此之后,我有一个 objectA 列表,其姓氏来自 objectB 数组。根据 Android Studio Debugger 和一些......逻辑......这是合乎逻辑的,但我错过了什么并且做错了什么?
我的错误输出:
对象A:
0: id = 1, name = NameForID3
1: id = 3, name = NameForID3
预期输出:
对象A:
0: id = 1, name = NameForID1
1: id = 3, name = NameForID3
UPD
ObjectA 类:
class objectA:Serializable {
var objectAID: Int? = null
var objectAName: String? = null
}
ObjectB 类:
class objectB {
var objectBName: String? = null
var objectBID: Int? = null
}
UPD。 2020 年 4 月 30 日:
仍然得到相同的错误输出,根据下面的答案尝试了 Java 中的 equals、==、===、POJO 的不同变体,而不是 Kotlin。
UPD: 只是浪费了你的时间 - 当我试图发现你的提示有错误时,我已经对我的代码进行了恶意软件攻击,并开始为 objectA 所以和名称分配相同的 ID是平等的。
【问题讨论】:
标签: java android loops if-statement kotlin