Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果我首先使用“Arrays.toString”将字符串转换为那样的字符串,那么如何将其转换回字符串[]?_Java - Fatal编程技术网

Java 如果我首先使用“Arrays.toString”将字符串转换为那样的字符串,那么如何将其转换回字符串[]?

Java 如果我首先使用“Arrays.toString”将字符串转换为那样的字符串,那么如何将其转换回字符串[]?,java,Java,我正在使用一个队列服务,它似乎只允许我发送一个字符串作为消息(有点不认为这是正确的,但还不能证明其他),但我需要3个不同的数据项来处理我的工作(int、double和int[])。因此,我使用Arrays.toString将所有三种数据类型转换为字符串 我的问题是,一旦我的工作进程收到需要将其转换回的消息。工人看到了这一点:[0,43.0,[0,59,16]],但我不知道如何最有效地转换它。我现在的做法是删除第一个和最后一个字符,然后执行String[]temp=queue\u String.s

我正在使用一个队列服务,它似乎只允许我发送一个字符串作为消息(有点不认为这是正确的,但还不能证明其他),但我需要3个不同的数据项来处理我的工作(int、double和int[])。因此,我使用
Arrays.toString
将所有三种数据类型转换为字符串

我的问题是,一旦我的工作进程收到需要将其转换回的消息。工人看到了这一点:
[0,43.0,[0,59,16]]
,但我不知道如何最有效地转换它。我现在的做法是删除第一个和最后一个字符,然后执行
String[]temp=queue\u String.split(“,”)
将其作为列表返回


如果这条路是唯一的路,我很好,但我想知道有没有更干净的路?就像
数组。toString
是否有类似
字符串的东西。toArray
(这不存在,我已经尝试过了:-)

我认为最好使用JSON这样的标准作为进程之间传输数据的格式。数据可以很容易地从字符串封送到本机数据类型,然后返回到Java中

Gson gson = new Gson();

int[] sub = { 0, 59, 16 };
Object[] values = { 0, 43.0, sub };
String output = gson.toJson(values);       // => [0, 43.0,[0,59,16]]

Object[] deserialized = gson.fromJson(output, Object[].class);
for ( Object obj : deserialized ) {
    // => 0.0, 43.0, [0.0, 59.0, 16.0]
}

我认为最好使用JSON之类的标准作为进程之间传输数据的格式。数据可以很容易地从字符串封送到本机数据类型,然后返回到Java中

Gson gson = new Gson();

int[] sub = { 0, 59, 16 };
Object[] values = { 0, 43.0, sub };
String output = gson.toJson(values);       // => [0, 43.0,[0,59,16]]

Object[] deserialized = gson.fromJson(output, Object[].class);
for ( Object obj : deserialized ) {
    // => 0.0, 43.0, [0.0, 59.0, 16.0]
}

重复。如前所述,您最好使用StringUtils.duplicate。如前所述,最好的选择是使用StringUtils.Gson库,我使用Array.toString(int[])在我的数据库和新的Gson().fromJson(raw,int[])类中存储字符串;把它换回来。谢谢在Gson库中,我使用Array.toString(int[])在我的数据库中存储一个字符串,并使用新的Gson().fromJson(raw,int[].class);把它换回来。谢谢