您的位置:首页 > 编程语言 > Java开发

java中如何将字符串转换为int数组

2017-10-16 16:37 411 查看
//如何将字符串转换为int型数组:提供三种方式

import java.util.Arrays;

public class StrToIntArr{
public static void main(String[] args){
String str = "1234567";
int[] demo01 = demo01(str);
int[] demo02 = demo02(str);
int[] demo03 = demo03(str);
System.out.println(Arrays.toString(demo01));
System.out.println(Arrays.toString(demo02));
System.out.println(Arrays.toString(demo03));
demo04(str);
}
//使用Integer类的parseInt和String类的substring方法(直接转换法)
private static int[] demo01(String str){
int[] arr = new int[str.length()];
for(int i=0; i<str.length(); i++){
arr[i] = Integer.parseInt(str.substring(i,i+1));
}
return arr;
}
//使用String类的charAt方法和Character类的getNumricValue方法(间接转换法)
private static int[] demo02(String str){
int[] arr = new int[str.length()];
for(int i=0; i<str.length(); i++){
arr[i] = Character.getNumericValue(str.charAt(i));
}
return arr;
}
//另外一种间接转换法,String类的toCharArray方法
private static int[] demo03(String str){
char[] arr = new char[str.length()];
int[] arr2 = new int[str.length()];
arr = str.toCharArray();
for(int i=0; i<str.length(); i++){
arr2[i] = arr[i] - 48;//数字0~9的ASCII码为48~57
}
return arr2;
}
//测试一下字符串转字符数组转int数组过程中数组长度变换
private static void demo04(String str){
char[] arr = new char[str.length()];
int[] arr2 = new int[str.length()];
arr = str.toCharArray();
for(int i=0; i<str.length(); i++){
arr2[i] = arr[i];
}
System.out.println("字符串长度:" + str.length());
System.out.println("字符数组长度:" + arr.length);
System.out.println("int数组长度:" + arr.length);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: