班级:
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
?
答案 0 :(得分:2)
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;
}
否则,我确信有便利库可以做这些事情。我知道下划线/ lodash是人们用来在javascript中做这样的事情的库。我不确定Java。
答案 1 :(得分:1)
不幸的是,没有像LINQ for C#这样的内置功能,但是一个简单的方法就足够了:
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;
}