我正在开发一个控制台应用程序,我可以在其中注册项目。每个项目都有 3 个属性:序列号、型号、年份。 我有 3 个类 Laptop、Laptops(arraylist) 和 Office 来运行该应用程序。 到目前为止,我已经设法通过索引号找到对象本身,但我需要列出具有键入属性的所有对象。
这就是我要求用户选择选项的方式
Laptops inHouse = new Laptops();
model = Console.askModel("Enter Model : ");
inHouse.findModel(model);
break;
这是 Laptops 类中的 find 方法
public void findModel(String aModel)
{
int arraySize = laptops.size();
for(int i=0; i<arraySize; i++) {
if (laptops.get(i).getModel() == aModel) {
System.out.println(laptops.get(i));
}
}
}
这是Console类中的askModel方法。
public static String askModel(String aModel)
{
System.out.println(aModel);
String model = askString("Enter the model: ");
return model;
}
此外,我对java很陌生,我理解这个概念,但仍然在很多事情上挣扎,所以如果我忘记发布解决问题所需的代码,我很抱歉。
最佳答案
findModel
很好,除了您的 String
比较检查对象相等性而不是 String
相等性,将比较更改为:
if (laptops.get(i).getModel().equals(aModel))
对于非基元,使用 ==
进行相等测试检查对象是否完全相同(它是相同的实例),而 String.equals
将比较实际的字符串值。
关于java - 如何通过数组列表中的元素之一查找对象并打印它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16680811/