【技巧总结】java整数,字符串,数组之间的相互转换(持续更新)

ONEINAMILLION / 2024-02-02 / 原文

字符串转换为int类型

  • 给定一个字符串 String str = "1234";
  • 转为转数字 1234

valueOf()

Integer num = Integer.valueOf(str);

返回的是包装类对象,可以进行调用对象方法可以用toString()方法。

parseInt

int num = Integer.parseInt(str)

返回的是基本数据类型

字符串转换Char数组

  • 给定字符串 str = "helllo"
  • 转换为char数组 {"h","e","l","l","o"}
Char[] ch = str.toCharArray();

字符串转换String数组

  • 给定字符串 "12345"

  • 转换为String数组 {"1","2","3","4","5"}

toCharArray

String str = "12345";
char ch = str.toCharArray();
for(int i = 0;i < ch.length;i++){
    System.out.println(ch[i])
}

将String对象的每一个下标位的对象保存在char[]中

split()

String str = "12345";
String[] arr = str.split();
for(int i = 0;i < arr.length;i++){
    System.out.println(arr[i]);
}

根据你需要按照的分隔符来分割,然后返回字符串数组.

整数转换字符串

  • 给定一数字,int a=1234;

  • 转换为字符串 "1234"

valueOf()

int num = 1234;
String str = String.valueOf(num);

toString()

int num = 1234;
Integer in = num;
String str = in.toString();

整数转int数组

  • 给定整数 12345

  • 转换为 int数组 [1,2,3,4,5]

思路:因为不确定数字长度,所以先转换为字符串,确定数组长度。

public class T_1003 {
    public static void main(String[] args) {
        int num = 12345;
        String str = String.valueOf(num);
        int[] arr = new int[str.length()];
        for (int i = 0; i < str.length(); i++) {
            String s = String.valueOf(str.charAt(i));
            arr[i] = Integer.parseInt(s);
        }
        System.out.println(Arrays.toString(arr));
    }
}

注意:如果直接打印arr,打印出来的是数组地址。想要得到数组内容,需要用Arrays.toString()方法。

以上运行结果为:

[1, 2, 3, 4, 5]

int数组转换整数

  • 给定int数组 [1,2,3,4,5]
  • 转换为整数 12345
int[] arr = {1,2,3,4,5};
int sum = 0;
for(int i = 0;i < arr.length;i++){
    sum = sum *10 + arr[i];
}

将char转换为int类型的方法

  • 使用Character类的静态方法getNumericValue(char c)将一个字符转换为数字,例如:
char ch = '5';
int num = Character.getNumericValue(ch); // 5
  • 由ASCII码转化为整型
char ch = '5';
int num = ch - '0'

int类型转为char类型变成+'0'。

大小写转换

//小写转大写
char C = 'a' - 32;
//大写转小写
char C = 'A' + 32;