例如,如果我有一个字符串"{1,2,3,4,5}"
,我想从该字符串中获取一个 int[] 对象。
我看过 Janino 和 Beanshell,但似乎找不到正确的方法让他们为我做这件事。
我正在寻找一种通用的解决方案,它适用于所有类型——不仅是整数数组。
例如,如果我有一个字符串"{1,2,3,4,5}"
,我想从该字符串中获取一个 int[] 对象。
我看过 Janino 和 Beanshell,但似乎找不到正确的方法让他们为我做这件事。
我正在寻找一种通用的解决方案,它适用于所有类型——不仅是整数数组。
最好使用Regular Expression
. 不必你的String
isArray
它可以是任何String
包含数字的。
String s="{1,2,3,4,5}";
Pattern p = Pattern.compile("-?\\d+");
Matcher m = p.matcher(s);
List<Integer> list=new ArrayList<Integer>();
while (m.find()) {
Integer num=new Integer(m.group());
list.add(num);
}
System.out.println(list);
输出:
[1, 2, 3, 4, 5]
对我来说似乎是一个解析问题。看看字符串方法:)
代码可能如下所示:
String s = "{1,2,3,4,5}"
String justIntegers = s.substring(1, s.length()-1);
LinkedList<Integer> l = new LinkedList();
for (String string: justIntegers.split(','))
l.add(Integer.valuesOf(string));
l.toArray();
如果您使用字符串发送/保存对象,请使用 xml 或 json ...
看看https://stackoverflow.com/a/2605050/1458047
答案提出了一些选择。