Java 按名称获取对象方法不起作用
我有一个“Item”对象,其定义如下:Java 按名称获取对象方法不起作用,java,android,string,list,object,Java,Android,String,List,Object,我有一个“Item”对象,其定义如下: Item odysseusBow = new Item(getString(R.string.odysseus_bow_name), R.drawable.odysseus_bow, 2100, 'P', 'I', 0, 0, 0.0, 0.0, 0, 0, 0, 0, 0, 0.4, 0, 0, 0, 0, getStrin
Item odysseusBow = new Item(getString(R.string.odysseus_bow_name), R.drawable.odysseus_bow, 2100, 'P', 'I',
0, 0, 0.0, 0.0, 0, 0, 0,
0, 0, 0.4, 0,
0, 0, 0,
getString(R.string.odysseus_bow_passive));
其中“R.string.odysseus_bow_name”=“odysseus\'bow”。第一个参数是项名称,可以使用.getName()返回
此项将添加到名为“项”的静态项列表中
然后,我使用一种方法按名称获取项目:
public Item getItemByName(String name) {
Item x = new Item();
for(int i = 0; i < items.size(); i++) {
if (items.get(i).getName().equals(name))
x = items.get(i);
}
return x;
}
“项目名称”的文本是“奥德修斯之弓”。此外,撇号的格式也不是问题所在,因为我还有其他名称中带有撇号的项目,它们的功能与预期相同。您能分享所有相关代码吗?比如你是怎么称呼它的,等等。还有,你试过调试吗?当然,我现在就编辑我的问题。我绝对会建议调试,因为它可能是一个打字错误(因为我们处理的是字符串)。否则,编写一个相等性检查循环,比较每个字符,看看这是否带来了一些启示。我将尝试使用字符相等性方法,但调试对我没有帮助。谢谢你的建议
final Item item = getItemByName(holder.item1Name.getText().toString());
TextView itemName = (TextView) mView.findViewById(R.id.item_header_name);