java Wrapper包装类
Object类
java.lang.Object类 . Object 类是所有java类的根父类
. 如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 . Object类中的功能(方法与属性)具有通用性 属性: 无
方法: equals() toString() getClass().....
包装类
什么是包装类?为什么需要包装类? 这是大家要了解的
对于java中的基本数据类型我们如果想要把当当做类来使用怎么办呢? 如果想要对这些基本数据类型直接调用一些方法来操作的话 怎么做呢?
由以上就产生了Wrapper包装类(这在python中叫装饰器)
包装类作用:
java提供了8种基本数据类型的对应的包装类, 使得基本数据类型的变量有了类的特征
掌握:基本数据类型
1: 是针对八种基本数据类型定义的相应的引用数据类型---包装类(封装类)
2: 有了类的特征就可以调用类的方法
3: 我们希望java的基本数据类型也有java面向对象的特殊所以定义了 包装类 把基本数据类型的特殊都封装在对应的类中

基本数据---->Wrapper
基本数据类型转化为包装类:调用包装类的构造器
// 基本数据转化为Wrapper : 直接调用包装类的构造器即可
public void testOne() {
int num1 = 10;
Integer integer = new Integer(num1);
System.out.println("基本数据转化为包装类的结果:" + integer); Float f = new Float(3.5);
System.out.println(f);
}
Wrapper ---> 基本数据
Wrapper 转化为基本数据类型: 调用Wrapper包装类的 XXValue()方法
//Wrapper 转化为 基本数据 : 直接调用XXValue() 方法
public void WrapperToBasic() {
Integer integer = new Integer(34);
int num = integer.intValue();
System.out.println("Wrapper--->基本数据:"+num); Float f = new Float(4.6f);
float fl = f.floatValue();
System.out.println("Float ----> 基本数据类型:"+fl);
}
基本数据,Wrapper----> String
基本数据和包装类转化为String : 调用String重载的valueOf()方法
//基本数据,Wrapper ---> String : 基本数据和包装类转化为String 直接调用String的valueOf()方法
public void basicWrapperToString() {
//方法一直接转化
int num = 10;
System.out.println("这是num" + num); //直接加减 //方法二调用String的valueOf()
int num1 = 20;
String strNum1 = String.valueOf(num1);
System.out.println("基本数据转化为String:"+strNum1); Integer integer = new Integer(35);
String strInteger = String.valueOf(integer); }
String ---> 基本数据类型,Wrapper
String 转化为基本数据类型和包装类 需要调用包装类的parseXX()方法
//String ---> 基本数据,Wrapper : 调用包装类的paseXX
public void StringToBsicsWrapper() {
String str = "123"; //必须是转化的对应类型的字符, 转为int那么久必须是字符串类型的int
Integer integerStr = Integer.parseInt(str);
System.out.println(integerStr);
}
错误的
public void StringToBsicsWrapper() {
String str = "老王";
Integer integerStr = Integer.parseInt(str); //这样是错误的 因为你要转化为int那么String就要是字符串类型的int "123"
System.out.println(integerStr);
}
装箱子:
//装箱子: 转化为String
//需要先把对应的信息转化为包装类 有了类的特征就可以调用类的方法了
public void pack(){
int num = ;
Integer integer = new Integer(num);
String str = integer.toString();
System.out.println("pack:"+str); }
| 转化 | 方法 | 演示 |
| 基本数据转为Wrapper | 直接调用Wrapper的构造器 | Integer in= new Integer(30); |
| Wrapper--->基本数据类型 | 调用包装类的XXXValue()方法 |
Integer integer = new Integer(34); |
| 基本数据,Wrapper--->String | 调用String的valueOf()方法 |
int num1 = 20; |
| String----->基本数据,Wrapper | 调用包装类的paseXX()方法 |
String str = "123"; |
习题:
如下两个题目输出结果相同吗?各是什么:
1:
Object o1 = true ? new Integer() : new Double(2.0);
System.out.println(o1);//
2:
public void test() {
Object o2;
if (true)
o2 = new Integer();
else
o2 = new Double(2.0);
System.out.println(o2);//
}
3:
public void method1() {
Integer i = new Integer();
Integer j = new Integer();
System.out.println(i == j);
Integer m = ;
Integer n = ;
System.out.println(m == n);
Integer x = ;
Integer y = ;
System.out.println(x == y);
}
解答:
习题1: 答案是:1.0 因为 // 因为在编译的时候int 和dubbo会自动对类型提升为dubbo的 所以结果是1.0
习题2: 答案: 因为没有进行对比只是赋值
习题3: a: //false == 比引用地址 是否同一个对象 不是的
b://true
c:// false 因为Internet会把使用频繁的数字存到自己的地址值中 方便我们来调用避免重复调用,-128 ---- 127 这个范围内的 都是调用integer中的保存的都是同一个地址值 超过这个范围就不是同一个自地址值就是新建的了
3:知识点:
Integer内部定义了IntegerCache的结构 IntegerCache中定义了Integer[],
保存了从- --- 127范围的整数,如果我们使用自动装箱的方式给Inte赋值的范围在
- -- 的范围内时候就可以直接使用数组中的元素 不用去new了
.
java Wrapper包装类的更多相关文章
- 浅谈Java的包装类
一.什么是Java包装类 所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式.包装类与基本数据类型的对应关系如下表所示. 基本数据类型 包装类 byte Byte short ...
- Java开发知识之Java的包装类
Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...
- [java初探09]__关于java的包装类
前言 在Java语言的学习过程中,我们逐渐的理解了Java面向对象的思想,与类和对象的应用.但是在基本数据类型的使用上,我们无法将其定义为一个对象,通过使用对象的方法来使用它们,但是Java语言的思想 ...
- Java学习——包装类
Java学习——包装类 摘要:本文主要介绍了Java中常用的包装类和基本类型之间的转换,包装类或基本类型和String之间的转换. 部分内容来自以下博客: https://www.cnblogs.co ...
- 小白学Java:包装类
目录 小白学Java:包装类 包装类的继承关系 创建包装类实例 自动装箱与拆箱 自动装箱 自动拆箱 包装类型的比较 "=="比较 equals比较 自动装箱与拆箱引发的弊端 自动装 ...
- Java:包装类小记
Java:包装类 对 Java 中的 包装类 这个概念,做一个微不足道的小小小小记 基本数据&包装类 四类八种基本数据类型: 数据类型 关键字 内存占用 取值范围 字节型 byte 1个字节 ...
- Java api 入门教程 之 JAVA的包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...
- JAVA的包装类 【转】
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...
- java的包装类(转)
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...
随机推荐
- Class-DbConnectionManipulator:Execute,QueryFirstDefault<>
ylbtech-Class-DbConnectionManipulator:Execute,QueryFirstDefault<> 1.返回顶部 1. public object GetS ...
- HBuilder的一些常用快捷键
Alt + [ 匹配括号 Alt + ↓跳转到下一个可编辑区Ctrl + Alt + j 合并下一行Ctrl + Alt + ←选择助手Ctrl + 回车 换行Ctrl + Shift + 回车 向上 ...
- WinSCP
Safe, open-source file transfers WinSCP is an open-source, free SFTP, SCP, FTPS and FTP client for W ...
- <读书笔记>《Web前端开发最佳实践》
P77 P89 CSS Reset P94 给CSS样式定义排序 排序工具:CSScomb P97 什么是CSS的权重?权重是指选择符的优先级 P100 工具:Sass Less P101 框架 ...
- 【读书笔记】:MIT线性代数(3):Special Solution, Rank and RREF
Special Solutions: Notice what is special about s 1 and S2. They have ones and zeros in the last two ...
- CentOS7下Docker与.net Core 2.2
一.使用 yum 安装(CentOS 7下) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 una ...
- FMDB使用的一点心得:数据库创建、制表、查询等以及image转换成二进制nsdata保存到数据库中
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u012951123/article/details/36871955 <span style= ...
- css中的文本字间距离、行距、overflow
css字间距.div css字符间距样式实例1.text-indent设置抬头距离css缩进 div设置css样式text-indent : 20px; 缩进了20px 2.letter-spacin ...
- Python面向对象初始(三大特征,多态,继承,封装)
Python面向对象的初始 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的 ...
- Python之基本的日期与时间转换 datetime、 dateutil模块
简单举例datetime模块 from datetime import timedelta,datetime a = timedelta(days=2, hours=6) b = timedelta( ...