有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java按名称获取对象方法不起作用

我有一个“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,  
                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);

“项目名称”的文本是“奥德修斯之弓”。此外,撇号的格式也不是问题所在,因为我有其他名称中带有撇号的项目,它们的功能与预期相同


共 (0) 个答案