[英]Return an Object in Java
我一直在努力寻找如何返回对象。
我有以下对象数组。
ArrayList<Object> favourites;
我想根据其“ description”属性在数组中找到一个对象。
public Item finditem(String description) {
for (Object x : favourites) {
if(description.equals(x.getDescription())) {
return Object x;
else {
return null;
有人可以告诉我如何编写此代码。 谢谢。
使用泛型:
ArrayList<Item> favourites;
public Item finditem(String description) {
for (Item x : favourites)
if(description.equals(x.getDescription()))
return x;
return null;
}
或者,如果您确实想拥有一个Objects数组,则该方法的返回类型必须为Object:
public Object findItem(String description)
但实际上您希望收藏夹成为项的数组列表!
您不能在通用对象上调用getDescription。
您希望ArrayList由具有属性描述的特定类型的Object组成。
由于您有班级项目:
public class Item {
private String description;
public String getDescription(){
return description;
}
... other methods here
}
现在,您可以创建这种类型的ArrayList,例如:
List<Item> myList = new ArrayList<Item>();
并以与您执行操作相同的方式对其进行迭代……几乎。
您的迭代代码已损坏,因为您始终只检查第一个元素,如果不是您要查找的内容,则返回null,您想要的是这样的:
for (Item x : favourites) {
if(description.equals(x.getDescription())) {
return x;
return null;
请注意,通过这种方式,您将遍历整个列表,并且只有在循环结束时才返回null。
ArrayList<Item>
或将返回类型更改为Object
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.