为什么字符串对象的GWT ArrayList会用符号和截断文本?

为什么字符串对象的GWT ArrayList会用符号和截断文本?,gwt,special-characters,truncate,Gwt,Special Characters,Truncate,我在客户端使用GWT。我将字符串对象存储在ArrayList实例中,当我添加值“AT&T”时,它似乎只存储“AT”。我怀疑这是ArrayList由于符号而截断文本的结果,但我还没有编写一个更小的概念证明来确定。还有其他人遇到过这个问题吗 GWT 2.1.1 Tomcat 7.0.5 火狐5.0.1 因此,该测试成功: ArrayList<String> test = new ArrayList<String>(); test.add( "t

我在客户端使用GWT。我将字符串对象存储在ArrayList实例中,当我添加值“AT&T”时,它似乎只存储“AT”。我怀疑这是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("&") );
ArrayList test=new ArrayList();
测试。添加(“测试和123”);
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;
}
String test=“AT&T”;
MyApp.getInstance().getDataStore().add(测试);
Window.alert(test+“-”+MyApp.getInstance().getDataStore().getItems().get(0));
public void DataStore.add(字符串项){
项目列表。添加(项目);
}
公共阵列列表getItems(){
返回项目列表;
}

输出为“AT&T-AT”。因此,如果ArrayList不是问题所在,是方法调用的问题吗?

那么,事实证明这是我的历史管理器和数据存储类之间的交互。这是一个非常奇怪的情况,鉴于我提供的信息数量有限,没有人能够帮助我。

什么是“它似乎只存储在”呢?你是怎么看的?你的数据存储是什么?它看起来好像把“&T”放在那里了。如果它只是一个ArrayList,你能尝试在不间接指向数据存储的情况下复制它,看看你的代码是否将它放到了其他地方吗?@Jason:我现在正在尝试……正如Ionut所说,你怎么知道它只存储“AT”?您是否在屏幕上显示数组的值?如果这样做,您可能只看到“AT”,因为您需要在显示数组内容之前转义这些内容。@Luismahou他正在使用alert()来显示从数据存储中检索到的值,因此不需要(取消)转义他的测试用例。我猜数据存储中发生了一些事情。