java中基本数据类型、包装类及字符串之间的相互转换
基本数据类型:不支持面向对象的编程机制(没有属性和方法),即不支持面向对象,之所以提供8中基本数据类型,是为了方便常规数据的处理。
包装类:通过包装类可以将基本数据类型的值包装为引用数据类型的对象,使其具有面向对象的特征。
下面是8中基本数据类型及其对应的包装类:
| 基本类型 | 包装类 |
| byte | Byte |
| char | Character |
| int | Integer |
| short | Short |
| long | Long |
| float | Float |
| double | Double |
| boolean | Boolean |
除了Integer和Character类外,其他对应的包装类的名称都与其基本数据类型一样,只不过首字母大写。
基本数据类型和字符串转换为包装类的方法:
public class TestDemo01 {
public static void main(String[] args) {
//首先定义两个变量
int num = 20;
String str = "998";
//1.自动装箱可以将基本类型转换为包装类
Integer i = num;
System.out.println("通过自动装箱的方法将int变量转换为包装类的结果:"+i);
//2.通过包装类的valueOf()静态方法将基本类型和字符串转换为包装类
Integer i1 = Integer.valueOf(num);
Integer i2 = Integer.valueOf(str);
System.out.println("将int变量转换为包装类的结果:"+i1);
System.out.println("将字符串变量转换为包装类的结果:"+i2);
//3.通过包装类的有参构造方法将基本类型和字符串转换为包装类
Integer i3 = new Integer(num);
Integer i4 = new Integer(str);
System.out.println("通过构造器将int变量转换为包装类的结果:"+i3);
System.out.println("通过构造器将字符串变量转换为包装类的结果:"+i4);
}
}
基本类型转换为字符串的方法:
public class TestDemo02 {
public static void main(String[] args) {
//首先定义变量
int i = 20;
//1.通过String.valueOf()方法将基本类型转换为字符串
String str = String.valueOf(i);
System.out.println("将基本类型转换为字符串的结果:"+str);
//2.通过包装类的toString()方法将包装类转换为字符串
String str1 = Integer.toString(i);
System.out.println(str1);
//3.用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
String str2 = i+"";
System.out.println(str2);
}
}
字符串转换成基本类型的方法:
public class TestDemo03 {
public static void main(String[] args) {
String str = "998";
//1.通过包装类的parseXxx()静态方法将字符串转换为基本数据类型
int parseInt = Integer.parseInt(str);
System.out.println(parseInt);
//调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱
int i = Integer.valueOf(str);
System.out.println(i);
}
}
包装类转换为基本数据类型和字符串的方法:
public class TestDemo04 {
public static void main(String[] args) {
int a = 20;
String str = "998";
//先将它们转换为包装类
Integer b = a;
Integer integer = Integer.valueOf(str);
//1.自动拆箱,将包装类转换为基本数据类型
int c = b;
System.out.println(c);
//2.通过包装类的toString()方法将包装类转换为字符串
String str1 = Integer.toString(integer);
}
}
注意:除了Character外,包装类都有valueOf(String s)和parseXxx(String s)方法,其中参数 s 不能为null,而且字符串必须是可以解析为对应基本类型的数据,
否则编译通过,当运行会报错。
public class TestDemo05 {
public static void main(String[] args) {
Integer i = Integer.valueOf("123");//合法
Integer i1 = Integer.valueOf("12a");//不合法
int a = Integer.parseInt("123");//合法
Integer in = Integer.parseInt("itcast");//不合法
}
}
java中基本数据类型、包装类及字符串之间的相互转换的更多相关文章
- Java中16进制与字符串之间的相互转换
笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进 ...
- java中数组、集合、字符串之间的转换,以及用加强for循环遍历
java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...
- JAVA中基础类型和字串类型之间的相互转换
转自:https://www.imooc.com/code/2251 仅做个人学习记录之用,侵删. 在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换. 其中,基本类型转换为字符串有三种方法 ...
- java中XMLGregorianCalendar类型和Date类型之间的相互转换
import java.text.SimpleDateFormat;import java.util.Date;import java.util.GregorianCalendar;import ja ...
- java 基本类型、包装类、字符串之间的转换
1.基本类型和包装类 基本类型和包装类可通过自动装箱和拆箱实现. int i = 24; Integer a = new Integer(i); //手动装箱 Integer b = i; //自动装 ...
- carryLess小笔记001_Java中16进制与字符串之间的相互转换
笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进 ...
- Java中基本数据类型和包装类
参考:深入剖析Java中的装箱和拆箱; Java中基本数据类型和包装类互转中 缓冲机制的使用; java学习笔记:装箱和拆箱,包装器和缓冲池 Java 各 类型数据在内存中分配情况详解 一 java内 ...
- java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;
<java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...
- Java开发学习--Java 中基本类型和包装类之间的转换
Java 中基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之 ...
随机推荐
- 对象存储服务-Minio
Mino 目录 Mino 对象存储服务 Minio 参考 Minio 架构 为什么要用 Minio 存储机制 纠删码 MinIO概念 部署 单机部署: Docker 部署Minio 分布式Minio ...
- c++ vector容器浅析
注:本文章参考 https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html 前言: 最近遇到一个广搜的题,不管怎么试都会暴 然后 ...
- TypeError: Can't convert 'int' object to str implicitly Python常见错误
尝试连接非字符串值与字符串 想要字符串连接非字符串需要先进行强制转化 可以用str()函数 --------------------------------
- 基于k8s的集群稳定架构-转载
基于k8s的集群稳定架构-转载 前言 我司的集群时刻处于崩溃的边缘,通过近三个月的掌握,发现我司的集群不稳定的原因有以下几点: 1.发版流程不稳定 2.缺少监控平台[最重要的原因] 3.缺少日志系统 ...
- Asp.Net Core 5 REST API 使用 JWT 身份验证 - Step by Step
翻译自 Mohamad Lawand 2021年1月22日的文章 <Asp Net Core 5 Rest API Authentication with JWT Step by Step> ...
- 鹏城杯_2018_treasure
鹏城杯_2018_treasure 首先检查一下保护: IDA分析 我们先来看看settreasure()函数 申请了两个内存空间,并往sea中复制了shellcode 看看这个shellcode,不 ...
- 自动化kolla-ansible部署centos7.9+openstack-train-超融合高可用架构
自动化kolla-ansible部署centos7.9+openstack-train-超融合高可用架构 欢迎加QQ群:1026880196 进行交流学习 环境说明: 1. 满足一台电脑一个网卡的环境 ...
- Broken Keyboard (a.k.a. Beiju Text) UVA - 11988
You're typing a long text with a broken keyboard. Well it's not so badly broken. The only problem wi ...
- Periodic Strings UVA - 455
A character string is said to have period k if it can be formed by concatenating one or more repet ...
- 753. Cracking the Safe
There is a box protected by a password. The password is n digits, where each letter can be one of th ...