我有一个值为[0,2,4,5,9]的Object val,实际上这些值是从TreeSet创建的,如下所示
TreeSet ts=new TreeSet ();
ts.add(0);
ts.add(2);
ts.add(4);
ts.add(5);
ts.add(9);
System.out.println(ts);
输出
[0,2,4,5,9]
我将输出作为字符串从服务器传递到客户端
在客户端我已经
Object obj="[0,2,4,5,9]";
任何人都可以告诉我如何将对象值[0,2,4,5,9]转换为TreeSet对象,以便我可以迭代值
答案 0 :(得分:1)
您可以以JSONArray
的形式将树集值发送回客户端。我建议您查看org.json
包,以便轻松地进行这些客户端和服务器交互。
注意: JSON是轻量级数据交换格式而不是xml 。最新的浏览器支持json作为defacult标准。如果你想进一步想要基于字符串的值,你必须使用javascript
函数来分割值并使用它们
答案 1 :(得分:0)
如何将对象值[0,2,4,5,9]转换为TreeSet对象 我可以迭代值
以下是将对象值转换为TreeSet
,
Object obj="[0,2,4,5,9]";
String[] arr=obj.toString().substring(1, obj.toString().length()-1).split(",");
TreeSet ts=new TreeSet(Arrays.asList(arr));
答案 2 :(得分:0)
例如:您在下面的变量
中有TreeSet的String值var str = "[0,2,4,5,9]";
str = str.substring(1,str.length-1);
var res = str.split(","); // This gives you a array of the elements.
答案 3 :(得分:0)
由于课程 AbstractCollection
实施toString()
方法,例如,
/**
* Returns a string representation of this collection. The string
* representation consists of a list of the collection's elements in the
* order they are returned by its iterator, enclosed in square brackets
* (<tt>"[]"</tt>). Adjacent elements are separated by the characters
* <tt>", "</tt> (comma and space). Elements are converted to strings as
* by <tt>String.valueOf(Object)</tt>.<p>
*
* This implementation creates an empty string buffer, appends a left
* square bracket, and iterates over the collection appending the string
* representation of each element in turn. After appending each element
* except the last, the string <tt>", "</tt> is appended. Finally a right
* bracket is appended. A string is obtained from the string buffer, and
* returned.
*
* @return a string representation of this collection.
*/
public String toString() {
StringBuffer buf = new StringBuffer();
buf.append("[");
Iterator<E> i = iterator();
boolean hasNext = i.hasNext();
while (hasNext) {
E o = i.next();
buf.append(o == this ? "(this Collection)" : String.valueOf(o));
hasNext = i.hasNext();
if (hasNext)
buf.append(", ");
}
buf.append("]");
return buf.toString();
}
当您尝试直接打印TreeSet时,这就是为什么你会得到像 [0,2,4,5,9] 这样的字符串。
相反,如果你有 [0,2,4,5,9] 之类的字符串,
您可以删除字符,包括[
和]
。然后使用String.split(",")
方法将值放入字符串数组中。
然后使用new TreeSet(Arrays.asList(stringArray))
;将值转换为TreeSet
对象。