gpt4 book ai didi

java - 有没有办法保留或修改代码内基数信息?

转载 作者:行者123 更新时间:2023-11-29 03:41:55 26 4
gpt4 key购买 nike

假设我有以下代码:

int two = 2;
String twoInBinary = Integer.toString(two, 2);

twoInBinary 字符串现在将包含值 10。但似乎基数信息在这种转换中完全丢失了。因此,如果我通过网络将 twoInBinary 作为 XML 文件的一部分发送,并希望将其反序列化为整数格式,如下所示...

int deserializedTwo = Integer.parseInt(twoInBinary);

... 然后 deserializedTwo 将等于 10 而不是 2(十进制)。

我知道有 Integer.parseInt(String s, int radix),但是在对许多不同字符串使用许多不同基数的复杂系统中,是否可以保留基数信息而无需将您的值(value)观保存在单独的同步日志中?

最佳答案

简短回答:不,不是在标准 Java 中。然而,编写一个可以通过网络传输值和基数信息的 Serializable 类是微不足道的。

class ValueWithRadix implements Serializable
{
int radix;
String value;
}

int deserializedTwo = Integer.parseInt( valueWithRadix.getValue() , valueWithRadix.getRadix() );

编辑:为了进一步说明,传输中的 XML 可能看起来像

<ValueWithRadix>
<value>10</value>
<radix>2</radix>
</ValueWithRadix>

不仅仅是

<value>10</value>

这当然不会保留基数信息。

干杯,

关于java - 有没有办法保留或修改代码内基数信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com