12.JAVA-基本数据类型的包装类操作
1.基本数据类型的包装类
java是一个面向对象编程语言,也就是说一切操作都要用对象的形式进行.但是有个矛盾:
- 基本数据类型(char,int,double等)不具备对象特性(不携带属性和方法)
这样非面向对象的基本数据类型,由于没有附带对象方法,比如没有toString(),则会给用户带来非常不便.
所以从JDK1.0开始,JAVA专门给出了8种基本数据类型的包装类,如下所示:
|
类型 |
基本数据类型名 |
对应的包装类名 |
|
布尔型 |
boolean |
Boolean |
|
字符型 |
char |
Character |
|
短整型 |
short |
Short |
|
整型 |
int |
Integer |
|
长整型 |
long |
Long |
|
单精度浮点型 |
float |
Float |
|
双精度浮点型 |
double |
Double |
2.包装类之String转换操作
在基本数据类型的8个包装类中,一共有7个类都定义了XXX(String s)构造方法和parseXxx(String s)方法,它们功能就是实现将字符串变为指定XXX类型的数据,只有Character类没有,因为它本身就是字符类,
并且所有包装类,都实现了toString()方法
3.包装类的装箱和拆箱操作
- 装箱操作 : 将基本数据类型变为包装类
- 拆箱操作 : 将包装类中的数据取出到基本数据中
Ps: java包装类提供自动装箱和自动拆箱机制,能够直接对包装类对象进行数学计算
示例-double与Double之间的操作
//手动装箱
Double obj1 = new Double("1.234");
Double obj2 = new Double(1.234); System.out.println(obj1.equals(obj2)); //打印true
System.out.println(obj1==obj2); //打印false,因为obj1和obj2的地址不同
System.out.println(obj1*2); //直接进行数学计算, 打印2.468 //自动装箱
Double obj3 = 12.3; //等价于Double obj2 = new Double(12.3); //自动拆箱
double d = obj3; //d = 12.3 //手动拆箱
d = obj3.doubleValue() ; //d = 12.3
4.利用Object类来接收所有包装类
由于包装类的超类都是Object,所以我们可以通过Object参数,便能实现所有包装类的一致性
示例如下:
public class Test
{
public static void print(Object obj) //打印所有包装类的信息
{
System.out.println(obj.toString());
} public static void main(String args[]){
Boolean obj1 = true;
Integer obj2 = 10;
Double obj3 = 1.234;
print(obj1);
print(obj2);
print(obj3);
}
}
未完待续
12.JAVA-基本数据类型的包装类操作的更多相关文章
- Java基本数据类型、包装类与String类之间的转换
一.基本数据类型与包装类之间的转换: import org.junit.Test; public class MainTest { /** * 基本数据类型与包装类之间的转换 */ @Test pub ...
- java ->基本数据类型与包装类的概述和转化
基本类型 包装类概述 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需 ...
- Java基本数据类型与包装类、字符串之间的转换
基本数据类型和包装类的转换:1.装箱:基本数据类型→对应包装类,可分为手动装箱和自动装箱.2.拆箱:包装类→对应基本数据类型,可分为手动拆箱和自动拆箱. 例子:手动装箱:Integer iObj=ne ...
- java基本数据类型和包装类相互转换
把基本数据类型 → 包装类: 通过对应包装类的构造方法实现 除了Character外,其他包装类都可以传入一个字符串参数构建包装类对象. 包装类 → 基本数据类型 包装类的实例方法xxxValue() ...
- Java基本数据类型和包装类
一:八大基本类型 二:基本数据类型及包装类 三:基本类型和包装类的区别 1:定义不同.封装类是对象:基本类型不是. 2:使用方式不同.包装类需要先new初始化,再通过JVM根据具体情况实例化后赋值:基 ...
- java基本数据类型及其包装类
1.String类 String s1 = "hello world"; String s2 = "hello world"; String s3 = s1 + ...
- Java基础-数据类型和包装类
数据类型 分为基本数据类型和引用数据类型 基本数据类型变量存储的就是数据本身,引用数据类型的变量是保存数据的空间地址 四种基本数据类型: 逻辑型 boolean 文本型 char 整数型 byte s ...
- java基本数据类型的包装类
基本类型对应的包装类 byte(Byte).short(Short).int(Integer).long(Long).float(Float).double(Double).char(Characte ...
- java基本数据类型和包装类之间的转换(装箱,拆箱)
1.装箱:把基本数据类型转换成包装类 1.1自动装箱 int t1=2; Integer t2 =t1; 1.2手动装箱 Integer t3 = new Integer(t1); 2.拆箱:把包装类 ...
随机推荐
- LA-3942(trie树+dp)
题意: 给出一个由多个不同单词组成的字典,和一个长字符串,把这个字符串分解成若干个单词的连接,问有多少种方法; 思路: dp[i]表示s[i,L]的方案数,d[i]=∑d[j];s[i,j-1]是一个 ...
- c++11 右值引用和移动语义
什么是左值.右值 最常见的误解: 等号左边的就是左值,等号右边的就是右值 左值和右值都是针对表达式而言的, 左值是指表达式结束后依然存在的持久对象 右值是指表达式结束时就不再存在的临时对象区分: 能对 ...
- bzoj 4559 [JLoi2016]成绩比较 —— DP+拉格朗日插值
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4559 看了看拉格朗日插值:http://www.cnblogs.com/ECJTUACM-8 ...
- map插入与查找
用map构建映射关系可以用来离散化,这里记录一下用法: 插入:将要插入的两个值组成pair,用insert插入map中: 查找:定义iterator,赋成find返回的迭代器,如果没有找到则=mp.e ...
- Building Objective-C static libraries with categories(ObjC、all_load、force_load)
https://developer.apple.com/library/mac/qa/qa1490/_index.html 之所以使用该标志,和Objective-C的一个重要特性:类别(cat ...
- HDU 1394 树状数组+离散化求逆序数
对于求逆序数问题,学会去利用树状数组进行转换求解方式,是很必要的. 一般来说我们求解逆序数,是在给定一串序列里,用循环的方式找到每一个数之前有多少个比它大的数,算法的时间复杂度为o(n2). 那么我们 ...
- PHP正则匹配中文汉字注意
preg_match('/^[a-zA-Z\x{4e00}-\x{9fa5}]+$/u', $str) 如上,是匹配字母或者汉字的,一定要在后面加模式修饰符 u , 不然就出错! u (PCRE_UT ...
- 管理SSIS 日志
转自:http://www.cnblogs.com/biwork/p/biworklog.html 一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩 ...
- Cannot resolve symbol 'log'
IntelliJ IDEA 写实体类时使用toString报错,报异常: 原因:缺少commons-lang3-3.8.1.jar包. 下载路径:http://commons.apache.org/p ...
- eclipse项目从编程到打jar包到编写BashShell执行
eclipse项目从编程到打jar包到编写BashShell执行 一.创建Java项目,并编写项目(带额外jar包) 二.打jar包 三.编写BashShell执行 其中一以及二可以参考我的博客 Ec ...