在对象列表中搜索对象属性android
Posted
技术标签:
【中文标题】在对象列表中搜索对象属性android【英文标题】:Search for object property in list of objects android 【发布时间】:2015-11-05 15:46:06 【问题描述】:班级:
public class Category
private String name;
private String baseUnit;
public Category()
public Category(String name, String baseUnit)
this.name = name;
this.baseUnit = baseUnit;
在我的代码中,我有一个类别对象列表:List<Category> categories = new ArrayList<Category>();
我有一个字符串,例如category_1_name
但我如何在 category.name=category_1_name
所在的类别中获取类别对象?
【问题讨论】:
【参考方案1】:public static Category findCategory(Iterable<Category> categories, String name)
for(Category cat : categories) //assume categories isn't null.
if(name.equals(cat.name)) //assumes name isn't null.
return cat;
return null;
否则,我确信有方便的库来做这些事情。我知道 underscore/lodash 是人们用来在 javascript 中执行此类操作的库。我不确定Java。
【讨论】:
【参考方案2】:不幸的是,没有像 C# 的 LINQ 这样的内置功能,但一个简单的方法就足够了:
static Category findCategoryByName(ArrayList<Category> categories, String name)
if(categories == null
|| name == null
|| name.length() == 0)
return null;
Category result = null;
for(Category c : categories)
if(!c.getName().equals(name))
continue;
result = c;
break;
return result;
【讨论】:
以上是关于在对象列表中搜索对象属性android的主要内容,如果未能解决你的问题,请参考以下文章