您的位置:

如何将string数组转为long数组

一、string数组转byte数组

在进行string数组转long数组前,需要先将string数组转为byte数组。下面是代码示例:

public static byte[] stringToBytes(String[] input) {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    for (String s : input) {
        bos.write(Byte.parseByte(s));
    }
    return bos.toByteArray();
}

通过ByteArrayOutputStream类的write()方法,将每个string元素解析为byte类型,并输出为byte数组。

二、string数组转integer数组

接下来将byte数组转为integer数组,示例代码如下:

public static int[] bytesToInts(byte[] input) {
    ByteBuffer buf = ByteBuffer.wrap(input);
    int[] result = new int[input.length / 4];
    for (int i = 0; i < result.length; i++) {
        result[i] = buf.getInt();
    }
    return result;
}

通过ByteBuffer类的wrap()方法,将byte数组包裹为ByteBuffer对象。然后,根据每个int类型占用4个byte的特性,循环处理byte数组,并依次输出为integer数组。

三、string数组转double数组

同样的道理,我们可以先将string数组转为byte数组,再转为double数组。示例代码如下:

public static double[] stringToDoubles(String[] input) {
    byte[] bytes = stringToBytes(input);
    int[] ints = bytesToInts(bytes);
    double[] doubles = new double[ints.length];
    for (int i = 0; i < ints.length; i++) {
        doubles[i] = Double.longBitsToDouble(ints[i]);
    }
    return doubles;
}

通过longBitsToDouble()方法,将以long类型存储的字节序列转换为double类型的字节数组,并输出为double数组。

四、string数组转int

string数组转int非常简单,只需要将每个string元素解析为int类型即可:

public static int[] stringToInts(String[] input) {
    int[] result = new int[input.length];
    for (int i = 0; i < input.length; i++) {
        result[i] = Integer.parseInt(input[i]);
    }
    return result;
}

通过Integer类的parseInt()方法,将每个string元素解析为int类型,并输出为int数组。

五、string数组转int数组

同样的道理,我们可以将每个string元素逐一解析为int类型,并输出为int数组:

public static int[] stringToIntegerArray(String[] input) {
    int[] result = new int[input.length];
    for (int i = 0; i < input.length; i++) {
        result[i] = Integer.parseInt(input[i]);
    }
    return result;
}

六、char数组转string数组

char类型与string类型的转换也很简单:

public static String[] charToStringArray(char[] input) {
    String[] result = new String[input.length];
    for (int i = 0; i < input.length; i++) {
        result[i] = String.valueOf(input[i]);
    }
    return result;
}

通过String类的valueOf()方法,将每个char元素转换为String类型,并输出为String数组。

七、string数组、object数组转换成string数组

可以使用Arrays.asList()方法将string数组或object数组转换为List类型,再使用List.toArray()方法将List类型转换为String数组。

public static String[] stringsFromObjectArray(Object[] objects) {
    List<Object> list = Arrays.asList(objects);
    String[] result = list.toArray(new String[list.size()]);
    return result;
}

public static String[] asStrings(String[] input) {
    List<String> list = Arrays.asList(input);
    return list.toArray(new String[list.size()]);
}

八、数组转string

将数组转换为字符串也很简单,可以使用Arrays.toString()方法:

int[] array = new int[] {1,2,3,4,5};
String str1 = Arrays.toString(array);  // 输出 [1, 2, 3, 4, 5]

Integer[] array2 = new Integer[] {1,2,3,4,5};
String str2 = Arrays.toString(array2); // 输出 [1, 2, 3, 4, 5]

九、string数组转成list

可以使用Arrays.asList()方法将string数组转换为List类型:

String[] array = new String[] {"a", "b", "c"};
List<String> list = Arrays.asList(array);

需要注意的是,使用Arrays.asList()方法转换后的List类型是不支持增加或删除元素的。