如何遍历相同类型的所有对象?

时间:2019-01-14 12:05:18

标签: java object

对于一个项目,我想检查一个对象中的StringString属性是否相同。

例如,我有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,而是仅查看有多少项目并在创建时循环进行?

1 个答案:

答案 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方法。相反,您必须比较所需的属性。