簡體   English   中英

如何在運行時從字符串表示形式創建Java對象

[英]How to create a Java object from a string representation at runtime

例如,如果我有一個字符串"{1,2,3,4,5}"我想從該字符串中獲取一個int []對象。

我對Janino和Beanshell有所了解,但似乎找不到正確的方法來使他們為我做這件事。

我正在尋找一種通用解決方案,該解決方案適用於所有類型-不僅限於整數數組。

對我來說似乎是一個解析問題。 看一下字符串方法:)

代碼如下所示:

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

答案提出了一些選擇。

最好使用Regular Expression 。您的String不必是Array它可以是任何包含數字的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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM