2011-08-25 80 views
0

我在客户端使用GWT。我将String对象存储在ArrayList实例中,并且当我添加值“AT & T”时,它似乎只存储“AT”。我怀疑这是ArrayList由于&符号而截断文本的结果,但我还没有写出更小的概念证明来确定。有其他人遇到过这个问题吗?为什么字符串对象的GWT ArrayList使用&字符截断文本?

GWT 2.1.1 Tomcat的7.0.5 火狐5.0.1

所以这个测试成功:

 ArrayList<String> test = new ArrayList<String>(); 
     test.add("testing&123"); 
     Window.alert(test.get(0) + " - " + test.get(0).contains("&")); 

我的代码有效地做这个的:

String test = "AT&T"; 
MyApp.getInstance().getDataStore().add(test); 
Window.alert(test + " - " + MyApp.getInstance().getDataStore().getItems().get(0)); 


public void DataStore.add(String item) { 
    itemsList.add(item); 
} 
public ArrayList<String> getItems() { 
    return itemList; 
} 

输出是“AT & T-AT”。所以如果ArrayList不是问题,它是方法调用吗?

+0

究竟是什么意思“它似乎只是存储AT”?你是怎么看到这个的? –

+0

什么是您的DataStore?它看起来像在放下“&T”。如果它只是一个ArrayList 可以尝试在没有DataStore的间接方式的情况下重现此操作,并查看您的代码是否将它放在其他位置? –

+0

@Jason:我正在尝试这个...... – Kieveli

回答

0

那么,事实证明这是我的历史管理器和DataStore类之间的交互。鉴于我提供的信息有限,没有人可以帮助我。