Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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_Java_Android_Arrays - Fatal编程技术网

将整数转换为十六进制Java

将整数转换为十六进制Java,java,android,arrays,Java,Android,Arrays,我的应用程序需要这个int[]格式,就像我在标题中写的那样 我正在从一个HashMap中提取值,它是用这种格式[00,00,00,00]填充的XML文件,但是我需要它来处理前面有0x的每个int 我试图通过for循环“转换”它: for(int i = 0; i < value.length; i++){ value[i] = "0x" + value[i]; } 然后我尝试了其中一个答案,并补充道 for(int i = 0; i < value.len

我的应用程序需要这个int[]格式,就像我在标题中写的那样

我正在从一个
HashMap
中提取值,它是用这种格式[00,00,00,00]填充的XML文件,但是我需要它来处理前面有
0x
的每个
int

我试图通过for循环“转换”它:

for(int i = 0; i < value.length; i++){
        value[i] = "0x"  + value[i];
    }
然后我尝试了其中一个答案,并补充道

for(int i = 0; i < value.length; i++){
        value[i] = Integer.valueOf(String.valueOf(value[i]), 16);
    }
for(int i=0;i

在回来之前。现在它工作了。。。但我不知道它为什么会起作用:(

在任何类型化语言中,int/number值都没有格式。Java存储int值的方式是使用两个补码的4字节数,因此0或0x0或00(八进制)或0b是相同的值:二进制字中的32个零

第二次编辑:

我认为你太过工程化了。你应该用一个

Map<String,int[]> map;

在任何类型化语言中,int/number值都没有格式。Java存储int值的方式是使用两个补码的4字节数,因此0或0x0或00(八进制)或0b是相同的值:二进制字中有32个零

第二次编辑:

我认为你太过工程化了。你应该用一个

Map<String,int[]> map;

在任何类型化语言中,int/number值都没有格式。Java存储int值的方式是使用两个补码的4字节数,因此0或0x0或00(八进制)或0b是相同的值:二进制字中有32个零

第二次编辑:

我认为你太过工程化了。你应该用一个

Map<String,int[]> map;

在任何类型化语言中,int/number值都没有格式。Java存储int值的方式是使用两个补码的4字节数,因此0或0x0或00(八进制)或0b是相同的值:二进制字中有32个零

第二次编辑:

我认为你太过工程化了。你应该用一个

Map<String,int[]> map;



你试过在互联网上搜索“java将整数转换为字符串”吗?我不想要字符串,我想要这样:
int[]int={0x00,0x00,0x00,0x00}
这是不可能的,因为
int
int
-十六进制前缀只用于解释而不用于计算。
int[]a={0x00,0x00,0x00}
int[]a={0,0,0,0,0}
我怀疑
value[I]=Integer.valueOf(String.valueOf(value[I]),16)
一般都能工作。问题是,在读取XML时,您已经有一个错误的值,有时甚至是一个
NumberFormatException
。事后无法修复。您是否尝试在internet上搜索“java将整数转换为字符串”?我不想要字符串,我想要这样的字符串:
int[]int={0x00,0x00,0x00,0x00}
这是不可能的,因为
int
int
-十六进制前缀只用于解释而不用于计算。
int[]a={0x00,0x00,0x00,0x00}
int[]a={0,0,0,0}
我怀疑
value[I]=Integer.valueOf(String.valueOf(值[i]),16);
一般都能正常工作。问题是当你读取XML时,你已经有了一个错误的值,有时甚至是一个
NumberFormatException
。事后你无法修复。你有没有试着在internet上搜索“java将整数转换为字符串”?我不想要字符串,我想要这样:
int[]int={0x00,0x00,0x00,0x00}
这是不可能的,因为
int
int
-十六进制前缀只用于解释而不用于计算。
int[]a={0x00,0x00,0x00,0x00}
int[]a={0,0,0,0}
我怀疑
value[I]=Integer.valueOf(String.valueOf(值[i]),16);
一般都能正常工作。问题是当你读取XML时,你已经有了一个错误的值,有时甚至是一个
NumberFormatException
。事后你无法修复。你有没有试着在internet上搜索“java将整数转换为字符串”?我不想要字符串,我想要这样:
int[]int={0x00,0x00,0x00,0x00}
这是不可能的,因为
int
int
-十六进制前缀只用于解释而不用于计算。
int[]a={0x00,0x00,0x00,0x00}
int[]a={0,0,0,0}
我怀疑
value[I]=Integer.valueOf(String.valueOf(价值[i]),16)
一般都有效。问题是,当您读取XML时,您已经有一个错误的值,有时甚至是一个
NumberFormatException
。您无法在事后修复它。没有得到那一点,您可以进一步解释吗?查看我的答案以了解更多详细信息您可以进一步解释吗?查看我的答案以了解更多详细信息你能进一步解释什么?请看我的答案了解更多细节。我不明白你能进一步解释什么?请看我的答案了解更多细节键只是一个字符串,以便更好地识别存储在其中的值(为了更好地阅读)。好的,
String.valueOf()
是一个答案的一部分,该答案现在已被删除(不知道他为什么删除了它).hm…当我现在试图删除String.valueOf part时,它确实说Integer类型中的方法valueOf(int)不适用于参数(int,int)
是的,我把自己搞砸了……让我再次尝试了解您需要什么:p我遇到的问题是从XML中转换了一个字符串。字符串是
80 0 0 0 0 0 0
。因此,通过XmlPullparser,我获取了数据并将其存储在HashMap中。现在我想通过一个键获取存储到它的值。因此,我获取了它并将其保存到
value
int数组。它不起作用的问题是,在我的pullparser中,我没有将它正确地转换为十六进制int。但目前它可以与发布的答案一起工作,但现在是deleted@Fraggles正确,解析必须在读取XML时使用Integer.valueOf(mystring,16)完成存储正确的整数。您存储的是十进制值,这就是您需要重新设置的原因-
String s="80";
int i= Integer.valueOf(s); //it stores 80 (decimal value)
int value= Integer.valueOf(String.valueOf(i),16); //It stores 128, or 0x80 (hex value)