对于一个项目,我想检查一个对象中的String
与String
属性是否相同。
例如,我有3个项目对象:
Item spotion = new Item("small potion", 5, 0, 0, 0, 0, 0);
Item mpotion = new Item("medium potion", 20, 0, 0, 0, 0, 0);
Item lpotion = new Item("large potion", 35, 0, 0, 0, 0, 0);
然后我要检查
String s = spotion;
将等于Item
的任何名称(第一个属性);
是否可以执行任何操作而无需创建要循环浏览的项目ArrayList
,而是仅查看有多少项目并在创建时循环进行?
答案 0 :(得分:2)
要遍历对象,您必须首先将它们放入数组,如下所示:
Item[] items = new Item[] {
new Item("small potion", 5, 0, 0, 0, 0, 0),
new Item("medium potion", 20, 0, 0, 0, 0, 0),
new Item("large potion", 35, 0, 0, 0, 0, 0),
}
然后,您将可以使用普通的旧for
循环遍历数组:
for(int i = 0; i < items.length; i++){
//your code here
}
或增强的for循环:
for(Item item : items){
//your code here
}
要比较变量,您要做的就是使用equals
比较相应的变量:
if(item.yourVariable.equals(string)){
//your code here
}
您不能直接将String
与对象进行比较,除非您重写其toString
方法。相反,您必须比较所需的属性。