一、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类型是不支持增加或删除元素的。