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 引入自动装箱和拆箱的机制后,包装类和基本类型之 ...
随机推荐
- Python爬虫系列之爬取美团美食板块商家数据(二)
今天为大家重写一个美团美食板块小爬虫,说不定哪天做旅游攻略的时候也可以用下呢.废话不多说,让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: requests模块: argpar ...
- arthas使用
博客原地址:https://blog.csdn.net/u013076044/article/details/83626202 arthas使用 文章目录 准备 启动Demo 进入arthas控制台 ...
- (十五)struts2的文件上传和下载
文件上传的原理 我们以前学习上传的时候知道需要将表单的enctype属性设置为multipart/form-data. 表单的enctype属性指定的是表单数据的编码方式,有三个值: -applica ...
- 【笔记】《算法竞赛入门》习题7-6 UVa12113_重叠的正方形
title: 习题7-6 UVa12113_重叠的正方形 date: 2021-01-31 19:08:00 categories: 算法竞赛入门 tags: 数据结构 算法 UVa <算法竞赛 ...
- Horovod-Usage
Usage 代码中要包含以下6步: 初始化 Run hvd.init() to initialize Horovod. 将每个GPU固定到单个进程以避免资源争用. 一个线程一个GPU,设置到 loca ...
- python进阶(15)多线程与多进程效率测试
前言 在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程 正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python ...
- WERTYU UVA - 10082
A common typing error is to place the hands on the keyboard one row to the right of the correct po ...
- Day05_17_面向对象编程
Java面向对象 面向对象编程 和 面向过程编程 举个例子: 用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭. 面向过程编程: 主要关注事物因果关系的实现,面向过程就是 ...
- EasyCode Entity 实体类模板 IDEA
自己修改了一份EasyCode的实体类模板,防止日后找不到在这里存一下 修改了如下内容: 取消生成GetSet方法,改用Lombok 修改默认命名规则,改为[表名Entity.java] 取消了实现序 ...
- 技术分享|SQL和 NoSQL数据库之间的差异:MySQL(VS)MongoDB
在当今市场上,存在各种类型的数据库,选择适合你业务类型的数据库对应用的开发和维护有着重要意义.本篇文章,将为大家分享SQL和NoSQL语言之间的区别,同时还将比较这两种类型的数据库,以帮助小伙伴们选择 ...