21-03-18基本类型、包装类与string类间的转换

Java类型转换详解
本文详细介绍了Java中基本类型、包装类与String类之间的转换方法,包括装箱、拆箱过程及字符串与其他类型间的相互转换技巧。

基本类型、包装类与string类间的转换

在这里插入图片描述

  • 基本数据类型与包装类之间转换

在这里插入图片描述

  • 基本数据类型与包装类的转换

    • 装箱

      1. 通过包装类的构造器实现:

        int i = 500; Integer t = new Integer(i);

      2. 通过字符串参数构造包装对象

        Float f = new Float(“3.456”);

        但是这样是有风险的

        Long l = new Long(“asdf”) //这样就会出错***拆箱***

    • 拆箱

      boolean b = bobj.booleanValue();

    • 但现在基本数据类型之间可以自动拆箱与装箱

      Boolean b1 = true;

      Integer in = a; a为int型的变量

      而且可以用在函数的形参上;

  • 字符串与这些之间的转换

    • 值赋给string

      1. 连接运算

        String str1 = 6+"";

        也可以是基础数据类型加“”

      2. 调用String的valueof

        String str1 = String.valueOf(5 + 7);

    • string赋给值

      运用特定类型的函数

      int in2 = Integer.parseInt(str1);

<think>我们已知用户想要了解String类型基本数据类型以及包装转换方法。根据引用内容,我们可以整理出以下转换关系: 1. 基本数据类型包装转换(自动装箱和拆箱) 2. 基本数据类型String转换 3. 包装String转换 我们将按照这三转换分别进行说明,并给出示例代码(使用Java语言)。 注意:引用中提到,String类型不能通过包装的parse方法直接转换为char类型,所以对于char类型需要特殊处理。 步骤: 1. 基本数据类型包装转换(自动装箱和拆箱) 2. 基本数据类型String 3. String基本数据类型 4. 包装String 5. String包装 下面我们逐一说明。 </think>### String类型基本数据类型包装转换方法 以下转换方法基于Java语言,根据引用内容整理而成: #### 1. **String基本数据类型** 使用包装的`parseXxx()`方法: ```java // 示例代码 String str = "123"; int i = Integer.parseInt(str); // String → int[^2][^3] double d = Double.parseDouble(str); // String → double boolean b = Boolean.parseBoolean("true"); // Stringboolean ``` **特殊处理**: - **char类型**:需通过`charAt()`提取单个字符 ```java char c = "A".charAt(0); // String → char[^1] ``` #### 2. **基本数据类型String** 使用`String.valueOf()`方法: ```java int num = 100; String s1 = String.valueOf(num); // int → String[^3] double price = 9.99; String s2 = String.valueOf(price); // double → String char letter = 'X'; String s3 = String.valueOf(letter); // char → String ``` #### 3. **String包装** 使用包装的`valueOf()`方法: ```java String str = "88"; Integer integerObj = Integer.valueOf(str); // String → Integer[^4] Double doubleObj = Double.valueOf("3.14"); // String → Double Boolean boolObj = Boolean.valueOf("true"); // StringBoolean ``` #### 4. **包装String** 使用包装的`toString()`方法: ```java Integer numObj = Integer.valueOf(200); String s = numObj.toString(); // Integer → String[^4] Character charObj = 'Z'; String charStr = charObj.toString(); // Character → String ``` #### 5. **基本数据类型包装**(自动装箱/拆箱) ```java // 基本类型包装 (自动装箱) int a = 8; Integer b = a; // int → Integer[^3] // 包装基本类型 (自动拆箱) Integer x = 10; int y = x; // Integer → int ``` ### 转换关系图 ```mermaid graph LR A[基本数据类型] --自动装箱--> B[包装] B --自动拆箱--> A A --String.valueOf--> C[String] C --包装.parseXxx--> A B --.toString--> C C --包装.valueOf--> B ``` ### 关键注意事项 1. **char类型特殊处理** - String转char必须用`charAt()`,无`parseChar()`方法[^1] - 示例:`char c = "Hello".charAt(1);` → `e` 2. **数值格式校验** - 转换非数字字符串会抛出`NumberFormatException` ```java Integer.parseInt("abc"); // 抛出异常 ``` 3. **效率对比** | 方法 | 场景 | 效率 | |---------------------|-----------------------|------------| | `String.valueOf()` | 基本类型String | 高(底层优化) | | `toString()` | 包装String | 中 | | `parseXxx()` | String基本类型 | 高 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值