Integer.parseInt () 与 String.valueOf () 详解

核心一句话:

  • Integer.parseInt(字符串):字符串 →int 基本类型(做计算、比较)
  • String.valueOf(数字):int / 整数 → 字符串(拼接、输出)

Java 中:带双引号 "123" 是字符串 String;没有引号 123 是int 数字,两者类型不一样,不能直接混用。

1. Integer.parseInt(String s)
作用
接收一个内容是数字的字符串,返回 int 基本数据类型。

Java
运行
String str = "14";
int num = Integer.parseInt(str);
// num = 14,现在可以加减、if判断

例子
java
运行
String a = "0";
int h = Integer.parseInt(a); // h = 0

String b = "30";
int min = Integer.parseInt(b); // min =30

重点特性

  1. 参数必须是数字文本,不能传 "14:30"、"abc",否则程序直接报错崩溃。
    所以我们代码里先 split("😊 切好,拿到 "14"、"30" 干净字符串再转换。
  2. 返回是基本类型 int,不是包装类 Integer。
    java
    运行
    int x = Integer.parseInt("12"); // ✔返回int

3.只能转整数,不能转 "12.5" 小数。

java
运行
String[] time = sc.nextLine().split("😊;
//输入"14:30" → time[0]="14"(字符串), time[1]="30"(字符串)
int h = Integer.parseInt(time[0]); //"14" →14(int)
int min = Integer.parseInt(time[1]);//"30"→30(int)

转换完 h、min 才可以写 if(h>12)、h‑12,字符串不能做大小比较和算术!

2. String.valueOf (参数)
功能:任意类型数据 → 变成字符串
参数可以是 int、double、boolean、对象等。

java
运行
int h = 14;
String s = String.valueOf(h);
// s = "14",数字14变成字符串"14"

示例
java
运行
int m =5;
String res = String.valueOf(m); // res = "5"

double d=3.14;
String s2 = String.valueOf(d); // s2 = "3.14"

boolean flag=true;
String s3 = String.valueOf(flag); // s3="true"

使用场景
当你需要把数字拼接、保存、输出,不需要计算的时候用它。

java
运行
int hour = 9;
String text = String.valueOf(hour) + ":" + "05";
// text = "9:05"

等价写法(简单写法
java
运行
int h=14;
String s = "" + h; //空字符串加数字,自动转为字符串,效果等同于String.valueOf(h)

""+h 是开发常用偷懒写法,底层其实调用的就是 valueOf。
⚠注意:这只是转成文本,不能再做算术

java
运行
String s = String.valueOf(14);
int n = s + 2; //报错!s是字符串,不能+2做加法

对比对照表

操作 代码 变化 用途
字符串 → int | int x = Integer.parseInt("14") | "14" → 14 | 计算、if 判断、加减
int → 字符串 | String s = String.valueOf(14) | 14 → "14" | 拼接文字、输出、保存文本

完整小测试代码,可以复制运行看效果
java
运行
public class Test {
public static void main(String[] args) {
//字符串转int
String strHour = "14";
int hour = Integer.parseInt(strHour);
System.out.println(hour + 2); //16,可以计算

//int转回字符串
String sHour = String.valueOf(hour);
System.out.println(sHour + "点"); //14点,拼接文字
}
}

容易混淆补充:Integer.valueOf ()
别和上面搞混!
Integer.valueOf("14") 返回的是 Integer 包装对象,不是基本 int。
大部分做题我们用 Integer.parseInt()。

总结记忆口诀:
parseInt:拆出数字,用来算;valueOf:变成文字,用来拼。

posted on 2026-10-07 09:44  谢天佑  阅读(3)  评论(0)    收藏  举报