2015-04-03 72 views
1

我有以下代码eclipse为什么说局部变量即使被使用也不被使用?

private List<String> getItems() { 
    XmlDoc document = new XmlDoc(); 
    List<String> itemList = new ArrayList<String>(); 
    String itemNum; 
    try { 
     XmlUtils root = document.parse(xmlFile); 
     List<XmlUtils> listNode = root.getChildNodes(); 
     for (XmlUtils node : listNode) { 
      itemNum = node.getValue(); 
     } 
    } catch (XmlException e) { 
     e.printStackTrace(); 
    } 
    return itemList; 
} 

即使我使用的字符串itemNum里面的for循环日食说“局部变量itemNum的值不使用”。为什么?

+3

你在哪里使用它?你认为分配有什么效果? – 2015-04-03 15:10:39

+0

我在String itemNum处看到它; – 2015-04-03 15:11:12

回答

10

因为您正在为itemNum分配一个值,但从未读取的是。这是一个清楚的迹象,表明变量未被使用。事实上,你可以安全地删除这一行:

itemNum = node.getValue(); 

......没有什么会发生。也许你应该在分配它后东西itemNum

+0

正在给变量赋值而不是“使用”它? – 2015-04-03 15:12:18

+1

@ user1629109 nope,你只是在里面放了一个值,但是你希望在稍后的时候做一些有价值的事情,如果没有的话,有什么用处呢? – 2015-04-03 15:13:22

+0

我在列表中添加了Sting,并且警告消息消失了。我只是好奇而已。非常感谢 – 2015-04-03 15:17:44

相关问题