Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
将字符串(FF FF FF FF FF FF)转换为int数组java_Java_Android_Hashmap_Hex_Type Conversion - Fatal编程技术网

将字符串(FF FF FF FF FF FF)转换为int数组java

将字符串(FF FF FF FF FF FF)转换为int数组java,java,android,hashmap,hex,type-conversion,Java,Android,Hashmap,Hex,Type Conversion,我正在解析一个XML文件,其中包含以下条目: FF FF FF FF FF 我将它们保存到一个HashMap中,现在我想将得到的字符串转换成int[] 但我不知道怎么做。 我试着用以下代码来解析它:integer.parseInt(mEntry.getValue().toString(),16),但失败,出现错误NumberFormatExceptoin:Invalid int:“FF FF FF FF FF FF” 我用谷歌搜索了我的问题,但没有找到解决问题的办法。 有什么办法可以做到这一点吗

我正在解析一个XML文件,其中包含以下条目:
FF FF FF FF FF

我将它们保存到一个
HashMap
中,现在我想将得到的
字符串
转换成
int[]

但我不知道怎么做。 我试着用以下代码来解析它:
integer.parseInt(mEntry.getValue().toString(),16),但失败,出现错误
NumberFormatExceptoin:Invalid int:“FF FF FF FF FF FF”

我用谷歌搜索了我的问题,但没有找到解决问题的办法。 有什么办法可以做到这一点吗?可能要将其作为
int[]保存在
Hashmap

下面是解析代码:

public static Map<String, String> paramListConf1(Context c, int listResID) {
    Map<String, String> map = null;
    XmlResourceParser parser = c.getResources().getXml(listResID);

    String key = "", value = "";

    try {
        int eventType = parser.getEventType();

        while (eventType != XmlPullParser.END_DOCUMENT) {
            if (eventType == XmlPullParser.START_DOCUMENT) {
            } else if (eventType == XmlPullParser.START_TAG) {
                if (parser.getName().equals("map")) {
                    boolean isLinked = parser.getAttributeBooleanValue(
                            null, "linked", false);

                    map = isLinked ? new LinkedHashMap<String, String>()
                            : new HashMap<String, String>();
                } else if (parser.getName().equals("windowcontrol")) {
                    key = parser.getAttributeValue(null, "key");

                    if (null == key) {
                        parser.close();
                        return null;
                    }
                }
            } else if (eventType == XmlPullParser.TEXT) {
                if (null != key) {
                    value = parser.getText();
                }
            } else if (eventType == XmlPullParser.END_TAG) {
                if (parser.getName().equals("windowcontrol")) {
                    map.put(key, value);
                    key = null;
                    value = null;
                }
            }
            eventType = parser.next();
        }
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }

    return map;
}

我想那是因为FF字节之间的空格。它们应该是
ffffffffffffff

这将修复它:
Integer.parseInt(mEntry.getValue().toString().replaceAll(“\\s+”,”),16)

我认为这是因为FF字节之间的空格。它们应该是
ffffffffffffff

这将修复它:
Integer.parseInt(mEntry.getValue().toString().replaceAll(“\\s+”,”),16)

我认为这是因为FF字节之间的空格。它们应该是
ffffffffffffff

这将修复它:
Integer.parseInt(mEntry.getValue().toString().replaceAll(“\\s+”,”),16)

我认为这是因为FF字节之间的空格。它们应该是
ffffffffffffff

这将修复它:
Integer.parseInt(mEntry.getValue().toString().replaceAll(“\\s+”,”),16)

我假设您希望字符串“FF FF FF FF FF FF FF”作为一个int数组,而不是一个int,因为它对于int来说太大了,长度是-1

    String hexString = "FF FF FF FF FF FF FF FF"; 
    String[] hexNumbers = hexString.split(" ");   //split the string
    int[] ints = new int[hexNumbers.length];      

    for(int i = 0; i<hexNumbers.length; i++) {
        ints[i] = Integer.parseInt(hexNumbers[i], 16);  //convert from hexString to int
    }

    for(int i = 0; i<ints.length; i++) {
        System.out.println(ints[i]);
    }
String hextstring=“FF FF FF FF FF”;
字符串[]hexNumber=hexString.split(“”)//拆线
int[]ints=新的int[hexNumbers.length];

对于(int i=0;i我假设您希望字符串“FF FF FF FF FF FF”作为一个int数组,而不是一个int,因为它对于int来说太大了,而对于长度为-1的int来说太长了

    String hexString = "FF FF FF FF FF FF FF FF"; 
    String[] hexNumbers = hexString.split(" ");   //split the string
    int[] ints = new int[hexNumbers.length];      

    for(int i = 0; i<hexNumbers.length; i++) {
        ints[i] = Integer.parseInt(hexNumbers[i], 16);  //convert from hexString to int
    }

    for(int i = 0; i<ints.length; i++) {
        System.out.println(ints[i]);
    }
String hextstring=“FF FF FF FF FF”;
String[]hexNumbers=hexString.split(“”;//拆分字符串
int[]ints=新的int[hexNumbers.length];

对于(int i=0;i我假设您希望字符串“FF FF FF FF FF FF”作为一个int数组,而不是一个int,因为它对于int来说太大了,而对于长度为-1的int来说太长了

    String hexString = "FF FF FF FF FF FF FF FF"; 
    String[] hexNumbers = hexString.split(" ");   //split the string
    int[] ints = new int[hexNumbers.length];      

    for(int i = 0; i<hexNumbers.length; i++) {
        ints[i] = Integer.parseInt(hexNumbers[i], 16);  //convert from hexString to int
    }

    for(int i = 0; i<ints.length; i++) {
        System.out.println(ints[i]);
    }
String hextstring=“FF FF FF FF FF”;
String[]hexNumbers=hexString.split(“”;//拆分字符串
int[]ints=新的int[hexNumbers.length];

对于(int i=0;i我假设您希望字符串“FF FF FF FF FF FF”作为一个int数组,而不是一个int,因为它对于int来说太大了,而对于长度为-1的int来说太长了

    String hexString = "FF FF FF FF FF FF FF FF"; 
    String[] hexNumbers = hexString.split(" ");   //split the string
    int[] ints = new int[hexNumbers.length];      

    for(int i = 0; i<hexNumbers.length; i++) {
        ints[i] = Integer.parseInt(hexNumbers[i], 16);  //convert from hexString to int
    }

    for(int i = 0; i<ints.length; i++) {
        System.out.println(ints[i]);
    }
String hextstring=“FF FF FF FF FF”;
String[]hexNumbers=hexString.split(“”;//拆分字符串
int[]ints=新的int[hexNumbers.length];

对于(int i=0;ito一个int数组,link
int[]test={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
在我看来,这就像是你试图从整个字符串中解析一个整数。空格解释了你得到的格式异常。我假设你想在一个包含8个元素的数组中以整数的形式得到'FF'。为此,请在空格上拆分字符串,以获得一个字符串数组,其中每个索引都包含“FF”。构造一个大小相同的int[],然后解析各个元素并按当前方式进行解析,将每个值存储在int[]中在相应的索引处。所以拆分似乎是唯一要做的事情。我知道这是可能的,但我认为可能有一种更简单的方法来处理int数组,link
int[]test={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
在我看来,这就像你试图从整个字符串中解析一个整数。空格解释了你得到的格式异常。我假设你想在一个包含8个元素的数组中得到一个整数“FF”(所有FF都来自你的示例)。为此,在空格上拆分字符串,得到一个字符串数组,其中每个索引都包含“FF”。构造一个int[]相同大小,解析单个元素并像当前一样进行解析,将每个值存储在int[]中的相应索引处。因此,拆分似乎是唯一要做的事情。我知道这是可能的,但我认为可能有一种更简单的方法来处理int数组,link
int[]test={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
在我看来,您试图从整个字符串中解析一个整数。空格解释了您得到的格式异常。我假设您想要在一个包含8个元素的数组中以整数的形式得到“FF”(所有FF来自您的示例)。为此,请在空格上拆分字符串,以获得一个字符串数组,其中每个索引都包含“FF”。构造一个大小相同的int[],然后解析各个元素并按当前方式进行解析,将每个值存储在int[]中在相应的索引处。所以拆分似乎是唯一要做的事情。我知道这是可能的,但我认为可能有一种更简单的方法来处理int数组,link
int[]test={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
在我看来,这就像你试图从整个字符串中解析一个整数。空格解释了你得到的格式异常。我假设你想在一个包含8个元素的数组中得到一个整数“FF”(所有FF都来自你的示例)。为此,在空格上拆分字符串,得到一个字符串数组,其中每个索引都包含“FF”。构造一个int[]大小相同,解析各个元素并像当前一样进行解析,将每个值存储在相应索引的int[]中。因此,拆分似乎是唯一要做的事情。我知道这是可能的,但我认为可能有一种更简单的方法来做这件事n