- 浏览: 195558 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. Java中包装类和原生类型
2. Java中自动装箱和拆箱
详细参考博客: https://blog.csdn.net/justloveyou_/article/details/52651211
8个原生类型分别是:byte, short, int, long, float, double, char, boolean。 8个包装类分别是:Byte, Short, Integer, Long, Float, Double, Character, Boolean。 原生数据类型与包装类型的双向转换 自动转型总原则:byte,short,char(同级)-> int -> long -> float -> double (由低精度到高精度) public class IntegerTest{ public static void main(String[] args){ int a = 10; Integer integer = new Integer(a); int b = integer.intValue(); System.out.println(a == b); } } 运行结果: true
2. Java中自动装箱和拆箱
装箱就是自动将基本数据类型转换为包装器类型 Integer i = 10; 拆箱就是自动将包装器类型转换为基本数据类型 int n = i; 装箱过程是通过调用包装器的valueOf方法实现的 拆箱过程是通过调用包装器的 xxxValue方法实现的(xxx代表对应的基本数据类型) Integer类有一个缓存,它会缓存介于-128~127之间的整数。Integer.valueof()方法会将缓存值返回,不会生成新的对象。 在装箱时,valueOf方法会被自动调用:如果整型字面值在[-128,127]之间,便返回 IntegerCache.cache(在类加载时就自动创建)中已经存在的对象的引用;否则,创建一个新的Integer对象并返回。 public class BoxTest { public static void main(String[] args){ Integer i1 = 100; Integer i2 = 100; if(i1 == i2){ System.out.println("i1 == i2"); }else{ System.out.println("i1 != i2"); } } } 运行结果:i1 == i2 public class BoxTest { public static void main(String[] args){ Integer i1 = 200; Integer i2 = 200; if(i1 == i2){ System.out.println("i1 == i2"); }else{ System.out.println("i1 != i2"); } } } 运行结果:i1 != i2 Double就没有这种情况,是因为在某个范围内的整型数值的个数是有限的,而浮点数却不是。 Integer、Short、Byte、Character、Long 这几个类的valueOf方法的实现是类似的,有限可列举,共享[-128,127]; Double、Float的valueOf方法的实现是类似的,无限不可列举,不共享; Boolean的valueOf方法的实现不同于以上的整型和浮点型,只有两个值,有限可列举,共享; Integer i = new Integer(xxx); 不会触发自动装箱; Integer i = xxx; 会触发自动装箱;执行效率和资源占用在一般性情况下([-128,127])要高
详细参考博客: https://blog.csdn.net/justloveyou_/article/details/52651211
发表评论
-
Java中获取IP地址、子网掩码、网关地址
2019-06-26 10:53 01. Java中获取IP地址、子网掩码、网关地址、ping连通 ... -
Java中ThreadLocal
2019-04-19 10:44 01. Java中ThreadLocal Java中的Th ... -
Java中原子性锁synchronized、Lock
2019-04-18 15:19 01. synchronized依赖JVM 1) 修饰代码 ... -
Java中原子性Atomic
2019-04-18 14:45 01. Atomic包简介 java.util.concu ... -
开发常用链接
2019-03-26 11:21 0在线工具:http://tool.oschina.net/ ... -
java1234学习目录
2019-03-21 11:08 01-01-01 N01 J2SEv2(41课时) ... -
Java中TCP和UDP
2018-10-25 10:55 3601. 网页内容获取 Url1.java impor ... -
Java中Thread线程
2018-10-25 09:38 3991. 实现线程的两种方式 1. 继承Thread类并重写 ... -
Java中serializable序列化
2018-10-24 14:46 4891. 序列化 transient不会被序列化。 imp ... -
Java中CharSet集
2018-10-24 11:31 5571. CharSet集 import java.nio. ... -
Java中RandomAccessFile类
2018-10-24 11:30 5211. RandomAccessFile类 1. 使用Ra ... -
Java中I/O的字符流InputStreamReader和OutputStreamWriter
2018-10-22 09:43 4531. InputStreamReader和OutputStre ... -
Java中其它输入输出流
2018-10-22 09:08 4841. ByteArrayInputStream流 以ar ... -
Java中I/O的OutputStream流
2018-10-22 08:54 4971. Java中I/O的OutputStream流 1. ... -
Java中I/O的InputStream流
2018-10-22 08:42 4801. Java中I/O的InputStream流 1. ... -
Java中I/O的File类
2018-10-19 13:45 4561. Java中I/O的File类 1. 在window ... -
Java中innerClass内部类
2018-10-18 09:37 4641. Java中innerClass内部类 用AA.BB ... -
Java中adapter适配器
2018-10-18 08:36 5961. Java中adapter适配器 适配器adapte ... -
Java中awt包
2018-10-17 11:26 17271. Java中awt包 AWT事件模型Event 1 ... -
Java中frame对象
2018-10-17 10:56 6961. Java中frame对象 1. Frame对象 ...
相关推荐
- 自从Java 5引入了自动装箱和拆箱机制,原始类型和它们对应的包装类之间可以方便地转换。例如,`Short a = 1;`实际上是将`int`类型的`1`自动装箱为`Short`对象。但需要注意的是,这种转换在某些情况下可能会导致...
在本项目中,开发者利用BeautyEye库对传统的Java ZIP功能进行了包装,使得用户在处理压缩文件时可以享受到更为精致的视觉体验。 【详细知识点】 1. **Java Swing**:Swing是Java AWT(Abstract Window Toolkit)的...
在Java中,存在原生数据类型(如`int`、`long`)和它们对应的包装类(如`Integer`、`Long`)。包装类提供了更多的功能,比如可以作为集合中的元素,而原生类型不能。Java为每种原生类型都提供了一个包装类,例如`...
这意味着C++编写的Qt库被转化为可以在Java代码中调用的类和方法,使得Java开发者可以直接操作Qt对象,就像它们是原生的Java对象一样。 3. **QtC++** QtC++是Qt库的基础,是用C++编写的一套面向对象的库。QtC++包含...
例如,当比较基本数据类型的包装类和它们对应的原生数据类型时,会自动拆箱为原生类型,然后使用"=="运算符进行比较: ```java int a = 3; Integer b = 3; System.out.println(a == b); // true,自动拆箱后比较 ``...
在Java与C/C++的交互中,Swig通常会生成一个JNI(Java Native Interface)头文件和一个C/C++源文件,这两个文件包含了调用原生代码所需的接口。 1. **Swig的使用流程**: - 首先,你需要有一个C/C++库,其中包含你...
4. **创建原生模块**:在Android Studio中,开发者可以创建一个新的Java类,继承自`ReactContextBaseJavaModule`或`ReactNativeHost`,并在其中注册自定义的方法。这些方法会在JavaScript中通过`NativeModules`对象...
Java在自动装箱和拆箱机制下,可以将基本数据类型和它们的包装类之间自动转换。而C++支持操作符重载,使得对运算符的使用更为灵活。 3. 继承与多态: Java和C++都支持单继承和多态,但是Java中所有类都隐式继承自...
14. **包装类与原生类型**:了解Integer、Character等包装类与int、char等原始类型的相互转换。 通过学习这些知识点,初学者可以建立起坚实的基础,为进一步深入学习Java的高级特性,如JVM内存模型、Spring框架、...
### Java面试题精析 ...- 自动装箱和拆箱在Java 5之后引入,简化了基本类型和包装类之间的转换。 这些知识点覆盖了Java面试中的基础知识部分,理解并掌握它们对于准备Java相关的技术面试至关重要。
- **自动装箱拆箱**:简化了基本数据类型和其包装类之间的转换。 - **枚举类**:提供了更安全的方式来表示一组固定值的常量。 - **可变参数**:使得函数能够接受可变数量的参数。 - **可变返回类型**:允许方法返回...
11. **基本类型与包装类**:int 是 Java 的基本数据类型,Integer 是其对应的包装类。基本类型直接存储值,而包装类是对象,可以参与对象间的操作,如 null 分配。 12. **int 和 Integer 的区别**:int 是原始类型...
1. **包装Java应用**:JavaLauncher将Java主类(通常包含在MANIFEST.MF文件中指定的`Main-Class`属性)及其依赖的类库打包成一个独立的.exe文件。这个过程包括对所有必要的类文件、资源文件以及第三方库的处理。 2....
│ Java面试题41.jQuery中Ajax和原生js实现Ajax的关系.mp4 │ Java面试题42.简单说一下html5.mp4 │ Java面试题43.简单说一下css3.mp4 │ Java面试题44.bootstrap的是什么.mp4 │ Java面试题45.什么是框架.mp4 │ ...
- **原生类型与包装类**:Java为每种基本数据类型提供了相应的包装类,如`int`与`Integer`,`boolean`与`Boolean`等。这些包装类提供了一些额外的功能,比如将基本类型转换为字符串,以及支持null值。使用包装类时,...
Javadoc是一种基于Java语言的文档生成工具,它可以为Java类和方法自动生成格式化文档。通过阅读Javadocs,开发者可以快速了解各个API的用途、参数、返回值以及可能抛出的异常等信息,从而提高开发效率并减少错误。 ...
- `Float` 是 Java 中的一个包装类,用于处理 `float` 类型的数据。 - **答案解析**:选项 A 和 B 正确;选项 C 错误,应使用 `new Float()` 创建 `Float` 对象;选项 D 正确。 ### 12. 实例方法调用 - 实例方法...
### Java从入门到精通知识点概览 #### 第1章 初识Java ##### 1.1 Java简介 - **1.1.1 什么是Java语言**:Java是一种广泛使用的高级编程语言,由Sun ...这些包装类将基本数据类型封装为对象,提供了丰富的操作和...