精华内容
下载资源
问答
  • Java包装类型有几种

    千次阅读 2021-03-14 16:35:05
    Java包装类型有8种,分别是:1、Byte;2、Integer;3、Short;4、Long;5、Float;6、Double;7、Boolean;8、Character。【相关学习推荐:java基础教程】Java包装类型有8种,分别是:Java中的基本类型功能简单,不...

    Java包装类型有8种,分别是:1、Byte;2、Integer;3、Short;4、Long;5、Float;6、Double;7、Boolean;8、Character。

    【相关学习推荐:java基础教程】

    Java包装类型有8种,分别是:

    Java中的基本类型功能简单,不具备对象的特性,为了使基本类型具备对象的特性,所以出现了包装类,就可以像操作对象一样操作基本类型数据。

    一、基本类型对应的包装类

    基本类型 包装类型

    byte      ? L m i % 5    Byte

    int Integ2 d 9 | ; d A Mer

    short Short

    long LoR ^ Rng

    float Float

    double Double

    boolean Boolean

    char Character

    A.创建一个包装类对象:

    Integer i = new Integer(4);

    //创建了一m + / ; L个Integer对象,表示指定E , { X n Z [的int值。

    Integer s = neV y n 0 B _ w #w Integer("8");

    //创建了一个Integer对象,表示String 参n h . K R H Y )数"8"指定的int 值。

    包装类常用的方法如下:

    fd2af2fe4d037957fa6f2de91af68d5f.png

    有了基本的数据类型,为什么还需要包装类型?

    1、比如果业务中的一条数据,通过id去判断时候存在数据库的@ * x时候,B W ] ^ .包装类的好处就出来了,可以用Integer 来表示存储ID,判断它是否为空即可

    2、转换成包装类之后可以当成对象处理,有的方法允许存入基本类型,只能N I 5存入对象~

    3、

    3.1 在Java中,一切皆对象,但八大基本类型却不是对+ P y Y % ;象。

    3.2声明方式的不同,基本类型无需` a V y J / B通过new关键字来创建,而封装类型需newI / ) | ! X 2 a关键字。

    3.3存储方式及位置的不同,O F U X c = * r基本类型是直接存储变量的值保存在堆栈中能高效的存取, 封装类型需要通过引用指向实例,具体的实例保存在堆中。

    3.4初始值的不同,封装类型的初始值为null,基本类型的的初始值P i J b %视具体的类型而定p J ) ; 6 (, 比如int类型的初始u + , u 2 [ * 0值为0,boolean类型为false;

    3.5使用方式` u ; +的s 5 - p G不同z H v ) 5 |:如与集合类合作使用时只能使用包装类型。

    以上就是Java包装类型有几种的详细内容。

    展开全文
  • 大家在平常写代码时对于简单类型int,double等变量的值进行比较的时候一般会用“== ”来比较两个值是否相等,对于简单类型来说这个比较没什么问题,但是如果是包装类型,比如说Integer类型。若是两个Integer类型在...

    大家在平常写代码时对于简单类型int,double等变量的值进行比较的时候一般会用“== ”来比较两个值是否相等,对于简单类型来说这个比较没什么问题,但是如果是包装类型,比如说Integer类型。若是两个Integer类型在比较时用“==”则要注意了,你很可能会踩坑。

    下面先来具体说说Integer(包装类型)

    首先来看现象

    基础类型

    int a = 127; int b = 127;

    if(a == b) // true

    int a = 128; int b = 128;

    if(a == b) //true

    包装类型

    Integer a = 127; Integer b = 127;

    if(a == b) // true

    Integer a = 128; Integer b = 128;

    if(a == b) //false

    当包装类型Integer的值大于127的时候, 两个值的比较变成了false,这是什么原因呢?

    其实, Integer a = 127, 当一个基础类型的值赋值给包装类型 ,底层是调用了Integer.valueOf(int i) (即自动装箱),可以看下valueOf(int i) 的源码:

    public static Integer valueOf(int i) {

    if (i >= IntegerCache.low && i <= IntegerCache.high)

    return IntegerCache.cache[i + (-IntegerCache.low)];

    return new Integer(i);

    }

    当 i 的值大于 -128 小于 127的时候,返回了一个值(可以不用管是什么),否则返回 new Integer(i)。 看到这里大家应该明白了吧。当超出这个范围会返回一个新的对象,那么两个对象“==”比较的是地址,值当然不一样。如果需要比较值大小,就用equals()方法。

    Double d1 = 1d;

    Double d2 = 1d;

    if(d1 == d2) // false

    我们可以看下Double的valueOf(double d)源码

    public static Double valueOf(double d) {

    return new Double(d);

    }

    对于Double的自动装箱是直接new一个对象返回的,那么==比较自然返回的是false;

    最后,建议大家如果需要比较值的时候能使用简单类型就使用简单类型,能用equals就用equals(包装类型)。

    展开全文
  • 废话不多说看代码: Integer a = 100; ...包装类型不应该使用“==”运算符比较其值是否相等,因为它比较的是地址。比较引用类型的变量所指向的值是否相等请使用equals方法。 既然比较的是地址,那

    废话不多说看代码:

    Integer a = 100;
    Integer b = 100;
    a == b 			表达式结果为true
    a.equals(b) 	表达式结果为true
    
    Integer a = 1000;
    Integer b = 1000;
    a == b 			表达式结果为false
    a.equals(b)		表达式结果为true
    

    为什么?

    包装类型不应该使用“==”运算符比较其值是否相等,因为它比较的是地址。比较引用类型的变量所指向的值是否相等请使用equals方法。

    既然比较的是地址,那么为什么上半部分成立而下半部分不成立?

    在上半部分中,a和b是同一地址。因为自动装箱规范要求boolean、byte、char <= 127、介于-127到128之间的short和int被包装到固定的对象中,也就是说:上半部分的a和b都被包装在了一个对象中,所以它们的地址相同

    所以在下半部分,a和b的值都大于上述规定,被包装在了不同的对象中,所以表达式“a == b”比较它们的地址其表达式结果为false。

    请记住:比较引用类型的变量所指向的值是否相等使用equals方法。
    还要记住:自动装箱规范要求boolean、byte、char <= 127、介于-127到128之间的short和int被包装到固定的对象中。

    参考了《Java核心技术 第11版 卷一》

    展开全文
  • 1、String类型String str1 = “xxx”;String str2 = “xxx”;String str3 = new String(“xxx”);...而使用双引号赋值,由于Java为String类型提供了缓冲池机制,当使用双引号定义对象时,Java环境首先去字符串缓冲...

    1、String类型

    String str1 = “xxx”;

    String str2 = “xxx”;

    String str3 = new String(“xxx”);

    上述三个赋值的结果是:str1 == str2 != str3

    也就是说new String()永远是分配新的内存空间;

    而使用双引号赋值,由于Java为String类型提供了缓冲池机制,当使用双引号定义对象时,Java环境首先去字符串缓冲池寻找相同内容的字符串,如果存在就直接拿出来应用,如果不存在则创建一个新的字符串放在缓冲池中。

    2、Integer类型

    Integer i1 = 1;

    Integer i2 = 1;

    Integer i3 = new Integer(1);

    得到的结论和String类型一致。

    3、总结

    String、Integer、Long、Float等都是基础对象的包装类,所以都存在两种赋值方式。当String str = “xxx”或者Integer i = 1时,可以将后面的值当成一个对象来理解,即”xxx”为一个String对象,1为一个Integer对象。将一个对象复制给另一个对象,即将该对象的引用赋值个另一个对象。这样也就不难理解为什么str1==str2了。

    以上是按照现象反推的个人理解,如果有大牛路过请不吝指证。

    展开全文
  • 这篇文章是关于Java包装类型详解,java的基础知识非常多,但是只要条理清晰地整理,一个知识点一个知识点捋清楚,就能很好地掌握,今天讲的java包装类型,也是我们几乎天天都能用到的java基础知识点,需要理解清楚。...
  • 包装类型可以为 null,而基本类型不可以别小看这一点区别,它使得包装类型可以应用于 POJO 中,而基本类型则不行。POJO 是什么呢?这里稍微说明一下。POJO 的英文全称是 Plain Ordinary Java Object,翻译一下就是,...
  • 今天使用Java包装类和基本类型做比较的时候发现了包装本身存在的坑,参考的JDK版本是1.8.0_121,下面是例子代码:Short packShort=1;short baseShort=1;Integer packInt=1;int baseInt=1;//用Short的equals()方法...
  • Java的类型分为两部分,一个是基本类型(primitive),如int、double等八种基本数据类型;...基本类型与包装类型的主要区别在于以下三个方面:1、基本类型只有值,而包装类型则具有与它们的值不同的同一性(iden...
  • 下面我找的MYSQL类型JAVA类型对应表,希望能够帮到您: 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR ...
  • java包装类总是让人疑惑 它与值类型到底是怎么样一种关系? 本文将以int和Integer为例来探讨它们的关系java值类型有int short char boolean byte long float double除此之外的类型皆为引用类型 引用类型和值类型的...
  • int 是基本类型,直接存数值Integer是类,产生对象时用一个引用指向这个对象Java把内存划分成两种:一种是栈内存,另一种是堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配而实际...
  • Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是...
  • Java 八种基本类型包装

    千次阅读 2021-03-09 15:37:10
    基本数据类型 包装类型----------------------------------------------byte java.lang.Byte(父类Number)short java.lang.Short(父类Number)int java.lang.Integer(父类Number)long java.lang.Long(父类Number)...
  • java包装

    2021-03-10 07:39:11
    大纲:包装类简介创建包装类自动装箱、拆箱判断相等默认值其他一、包装类简介Java中共有八种基本类型,byte, short, int, long, float, double, char, boolean。分别对应八种包装类,Byte, Short, Integer...
  • 基本类型转换为字符串有三种方法: 使用包装类的 toString() 方法 使用String类的 valueOf() 方法 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串 //将基本类型转换为字符public class Test{ ...
  • 基本类型包装类_Java语言程6.3 基本类型包装类在Java中,每一种基本数据类型都有一个相应的包装类,这些类都在java.lang包中。8种基本数据类型所对应的包装类是:byte(Byte)、short(Short)、int(Integer)、...
  • java中有八种基本数据类型对应每种基本类型又有八种包装类型:基本类型:boolean, char, int, byte,short,long, float,double包装器类型:Boolean,Character,Integer,Byte,Short,Long,Float,Double...
  • 自动装箱:包装类型的变量接受基本数据类型的值,会自动把基本数据类型装箱 自动拆箱: 基本数据类型的变量接受包装类型的对象,会自动把对象拆箱 包装类主要使用自动拆装箱进行映射,也主要使用在泛型集合当中 ...
  • 解决方法: 最简单的方法是在执行检查之前保留一个原始->盒装类型的Map并将其用于转换: private static final Map primitiveWrapperMap = new HashMap(); static { primitiveWrapperMap.put(Boolean.TYPE, Boolean....
  • 1、Java基本数据类型包括4种整型,2种浮点数类型,1种表示Unicode编码字符单元的字符类型char和1种表示真值的...3、每种基本类型都有一个包装类型来把它包装在对象中,如int的包装类型是Integer,char的包装类型是Ch...
  • Java提供了八种基本类型,其中包括六种数字类型(四个整数型,两个浮点型),一种字符类型和一种布尔型。 整型: short, int, long, byte; 浮点型:float, double; 字符型:char; 布尔型:boolean. Java中的数值...
  • Java 中的数据类型分为 基本类型(原始数据类型) byte short int long float double char boolean 基本类型的变量持有原始值。 符合数据类型(引用类型),引用类型持有引用值(即对某个对象的引用,而非对象本身...
  • Java包装类作为参数传递 今天在回顾Java基础的时候发现了这么几行代码: public static void passReferenceValue(Boolean flg, Integer num) { flg = true; num = 10; } public static void main(String[] ...
  • 其对应的包装类型为:Byte,Short,Integer,Long,Float,Double,Boolean,Charcter.java分为基本数据类型和引用数据类型,而包装类型就是基本数据类型对应的引用类型。为了满足java语言面向对象这一特性,基本...
  • [](http://img.blog.itpub.net/blog/2020/04/14/6d81f65e3f127299.png?x-oss-process=style/bb)- Java 基本类型包装类的大部分都实现了常量池技术, 即Byte,Short,Integer,Long,Character,Boolean;...
  • 参考博客 案例1: int a = 10; Integer it1 = new Integer(10);...当Integer与int进行==比较时,Integer就会拆箱成一个int类型,所以还是相当于两个int类型进行比较,这里的Integer,不管是直接赋值,还是new创建的对
  • Java是一种面向对象语言,为了让基本类型具备对象特性(比如方法调用),Java为每种基本类型提供了一个包装类。类型默认值占用储存空间存储范围包装类byte01*byte-128(-2^7)~ 127(2^7-1)Byteshort02*byte-32...
  • Java入门之包装

    2021-03-14 03:21:22
    包装类用途Java中有些异类(8种基本数据类型)它们不能像对象一样进行属性和方法的调用以及进行相互之间的对象化处理,包装类的存在就是为了解决这些异类产生的问题,让它们能像对象一样进行交互。包装类与基本数据...
  • 为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。基本类型包装类之间的对应关系:包装类主要提供了两大类方法:将本类型和...
  • public class BTest {public static void main(String[] args) {int idcard = 110000000;//基本数据类型Long ...//包装类型System.out.println(idcard==idCardO);//基本数据类型和包装类型比较Long idCardO2 =ne...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 264,321
精华内容 105,728
关键字:

java包装类型

java 订阅
友情链接: LDPC_en-decoder-master.rar