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中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...
随机推荐
- 题解 P1033 【自由落体】
太坑人了 这不是明摆着坑那些没有学完初中物理的同学们 QAQ 首先这个题其实就是转换一下参照系. 由原先小车向小球靠拢换成小车静止,小球向着小车靠拢(原点设置成车右下角那个点). 然后就成了平抛运动. ...
- 删除STL容器中的元素
有关stl容器删除元素的问题,错误的代码如下: std::vector<struct> mFriendList; ... std::vector<struct>::iterat ...
- C++ win32 dll 引用外部CLR,加载托管程序集异常-Error 10 error LNK2019: unresolved external symbol _CLRCreateInstancet
异常: Error 10 error LNK2019: unresolved external symbol _CLRCreateInstance@12 referenced in function ...
- USACO 6.3 章节 你对搜索和剪枝一无所知QAQ
emmm........很久很久以前 把6.2过了 所以emmmmmm 直接跳过 ,从6.1到6.3吧 Fence Rails 题目大意 N<=50个数A1,A2... 1023个数,每个数数值 ...
- python学习笔记之数据类型、字符编码、文件处理
1.数据类型 1.数字(int,float) 整形(int):定义 age=20 #本质age=int(20) 浮点类型:salary=3000.3 #本质salary=float(3000.3) ...
- 基于全局地址池的DHCP
一.实验目的 二.实验拓扑图 .三.实验编址 四.实验步骤 1.配置IP 2.配置基于全局地址池的DHCP server 使用IP pool命令创建一个新的全局地址池,名称为hjt1 配置hjt1可动 ...
- pandas相关操作
import pandas as pd import numpy as np ''' 一.创建df 1.定义df :传递字典 1.1每一列的名称作为键 每个键都有一个数组作为值[key:数组] 1.2 ...
- shell脚本对代码执行时间的计时
时间秒: $(date +%s) 算数表达式: $(($cost_time/60)) $(($cost_time%60)) #!/bin/bash # ccache is from epel mirr ...
- ps学习记录
基本快捷键: ctrl + 放大 ctrl - 缩小 ctrl 空格键 放大工具 ctrl 0 适合屏幕大小 ctrl 1 显示实际大小 ctrl n 新建画布 ctrl v 移动工具 按住alt键 ...
- Node中的Cookie和Session
1.Cookie HTTP是无状态协议.例:打开一个域名的首页,进而打开该域名的其他页面,服务器无法识别访问者.即同一浏览器访问同一网站,每次访问都没有任何关系. Cookie的原理是:客户端浏览器在 ...