精华内容
下载资源
问答
  • * 数字类型的包装类继承自Number * 其提供了如:IntValue,doubleValue这样的方法 * 作用是可以将当前包装类表示的数字以其他数字类型的形式返回。 * @author kaixu * */ public class IntegerDemo2 { public...
    package day02;
    /**
     * 数字类型的包装类继承自Number
     * 其提供了如:IntValue,doubleValue这样的方法
     * 作用是可以将当前包装类表示的数字以其他数字类型的形式返回。
     * @author kaixu
     *
     */
    public class IntegerDemo2 {
    
    	public static void main(String[] args) {
    		/*
    		 * 将基本类型转换为包装类有两种方法:
    		 * 1.调用构造方法
    		 * 2.调用静态方法valueOf(推荐)
    		 */
    		Integer i1 = new Integer(123);
    		Integer i2 = new Integer(123);
    		System.out.println(i1==i2);  //false
    		System.out.println(i1.equals(i2));  //true
    		
    		Integer i3 = Integer.valueOf(127);
    		Integer i4 = Integer.valueOf(127);
    		System.out.println(i3==i4);  //true
    		System.out.println(i3.equals(i4));  //true
    		
    		int i = i1.intValue();
    		System.out.println(i);
    		
    		double d = i1.doubleValue();
    		System.out.println(d); 
    		
    		byte b = i1.byteValue();
    		System.out.println(b);
    	}
    
    }
    
    
    展开全文
  • 包装类

    千次阅读 2014-11-19 09:51:11
    java.lang 每一个基本类型都一个包装类, Character,Integer,Double,Float,Boolean,Long,Short,Byte ...其他数值型包装类类似,静态方法,构造函数,静态属性都是一样,把类型改成相应的类型即可

    java.lang

    每一个基本类型都一个包装类,

    Character,Integer,Double,Float,Boolean,Long,Short,Byte

            1.Character类

    构造方法:Character(value:char)

    实例方法:compareTo(anotherChar:Character):int 

     equals(anotherChar:Character):boolean

    静态方法:

    isDigit(ch:char):boolean

    isLetter(ch:char):

    isLetterOrDigit(ch:char)

    isLowerCase(ch:char)

    isUpperCase(ch:char)

    toLowerCase(ch:char)

    toUpperCase(ch:char)

    2.Number类

    实例方法:

    byteValue():byte

    ~

    3.Integer类

    所有的数值型包装类都继承自Number类

    静态属性:MAX_VALUE:int

     MIN_VALUE:int

    构造方法:

    Integer(value:int)

    Integer(s:String)

    静态方法:

    valueOf(s:String):Integer

    valueOf(s:String,redix:int):Integer

    parseInt(s:String):int

    parseInt(s:String,redix:int)

    radix:基数

    其他数值型包装类类似,静态方法,构造函数,静态属性都是一样,把类型改成相应的类型即可

    展开全文
  • JAVA常用类之包装类

    千次阅读 2015-12-27 12:44:13
    JAVA语言包装类把基本数据类型转换为对象。每个JAVA基本类型在java.lang包中都有一个相应的包装类。 基本类型 包装类 boolean Boolean byte Byte char Character short Short int Integer long Long ...

    JAVA语言包装类把基本数据类型转换为对象。每个JAVA基本类型在java.lang包中都有一个相应的包装类。

    基本类型 包装类
    boolean Boolean
    byte Byte
    char Character
    short Short
    int Integer
    long Long
    float Float
    double Double

    包装类的构造方法

    每个包装类都有几种重载形式,以Double为例。

    Double d1 = new Double(2.0);
    Double d1 = new Double("2.0");

    除Character之外,其他的包装类都可以以一个字符串为参数构造出他们的实例。
    当包装类的构造方法参数为String类型时,字符串不能为空,而且该字符串必须可以解析为相应的基本数据类型。

    包装类常用方法

    Character类和Boolean类直接继承自Object类,除此之外,其他的包装类都是java.lang.Number的直接子类,因此都继承或覆盖重写了java.lang.Number类中的方法。

    Number方法摘要

    返回值 方法名 说明
    byte byteValue() 以 byte 形式返回指定的数值
    abstract double doubleValue() 以 double 形式返回指定的数值
    abstract float floatValue() 以 float 形式返回指定的数值
    abstract int intValue() 以 int 形式返回指定的数值
    abstract long longValue() 以 long 形式返回指定的数值
    short shortValue() 以 short 形式返回指定的数值

    包装类都覆盖了Object类中的toString()方法,以字符串形式返回被包装的基本数据类型。除了Character类和Boolean类外,包装类都有valueOf(String s)静态工厂方法,可以将指定字符串解析成与之对应的基本类型。同样,字符串不能为空,而且该字符串必须可以解析为相应的基本数据类型。
    JDK1.5及以后版本运行基本类型和包装类型进行混合运算。在JDK1.5版本之前,数学运算表达式中操作单元必须是基本数据类型。

    自动装箱拆箱

    装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。int包装成Integer、float包装成Float。
    拆箱:和装箱相反,将引用类型的对象简化成值类型的数据。
    基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。
    一般我们要创建一个类的对象实例的时候,我们会这样:
    Class a = new Class(parameter);
    当我们创建一个Integer对象时,却可以这样:
    Integer i = 100; (注意:不是 int i = 100; )
    实际上,执行上面那句代码的时候,系统为我们执行了:Integer i = Integer.valueOf(100);
    此即基本数据类型的自动装箱功能。

    展开全文
  • 基本数据类型与包装类

    千次阅读 2018-12-29 22:35:08
    包装类的共性 数据类型转换 基本数据类型 序号 类型名称 默认值 大小 最小值 最大值 包装类 缓冲区间 1 boolean false 1B 0(false) 1(true) Boolean 无 2 byte...

    目录

    基本数据类型

    Number类

    缓存区间

    包装类的共性

    数据类型转换


    基本数据类型

    序号 类型名称 默认值 大小 最小值 最大值 包装类 缓冲区间
    1 boolean false 1B 0(false) 1(true) Boolean
    2 byte (byte)0 1B -128 127 Byte -128 ~ 127
    3 char '\u0000' 2B '\u0000' '\uFFFF' Character (char)0 ~ (char)127
    4 short (short)0 2B -2^15 2^15 - 1 Short -128 ~ 127
    5 int 0 4B -2^31 2^31 - 1 Integer -128 ~ 127
    6 long 0L 8B -2^63 2^63 - 1 Long -128 ~ 127
    7 float 0.0f 4B 1.4e-45 (1.4 * 10^-45) 3.4e+38 (3.4 * 10^38) Float
    8 double 0.0d 8B 4.9e-324(4.9 * 10^-324) 1.798e+308(1.798 * 10^308) Double 无 

    Number类

    在包装类中Byte、Short、Integer、Long、Float、Double都继承了抽象类Number。

    public abstract class Number implements java.io.Serializable {
        public abstract int intValue();
        public abstract int longValue();
        public abstract int floatValue();
        public abstract int doubleValue();
        public byte byteValue() {
            return (byte)intValue();
        }
        public short shortValue() {
            return (short)intValue();
        }
    }
    

    缓存区间

    整数类型Byte、Short、Integer、Long都有对应的缓存操作,缓存范围都是-128 ~ 127,通过内部类实现。

        private static class ByteCache {
            private ByteCache(){}
    
            static final Byte cache[] = new Byte[-(-128) + 127 + 1];
    
            static {
                for(int i = 0; i < cache.length; i++)
                    cache[i] = new Byte((byte)(i - 128));
            }
        }

    经典例子:

        public static void main(String[] args) {
            Integer a1 = 1;
            Integer a2 = 1;
            Integer b1 = 128;
            Integer b2 = 128;
            System.out.println(a1 == a2); // true
            System.out.println(b1 == b2); // false
    
        }

    Integer是应用最广泛的数据类型之一,它是唯一可以修改缓存范围的包装类,在VM options加入参数 -XX:AutoBoxCacheMax=666,即可以设置最大缓存值666。

    包装类的共性

    1. 具有基本数值作为参数的构造函数。例如:Integer i = new Integer(66);

    2. 具有字符串作为参数的构造函数。例如Integer i = new Integer("-12");如果字符串内容与当前包装类型不匹配,会抛出NumberFormatException异常,例如Integer i = new Integer("-12.5");

    3. 具有返回对象基本值的typeValue方法,例如int num = i.intValue();

    4. 具有将字符串转换为基本值的parseType方法,例如int num = Integer.parseInt("56");

    5. 所有包装类都覆写了hashCode与equals方法,以提供对Map的支持。

    6. equals方法用于比较同一类型两个对象的值是否相等,不要使用"=="。

    7. 具有将值转成字符串的方法toString()方法。

    8. 都支持自动装箱与拆箱,大大方便了基本数据类型与它们包装类的使用。 

    数据类型转换

    1. 自动类型转换:把某种基本类型的值直接赋给另一种基本类型的变量。

    2. 强制类型转换:把数范围大的类型转换为表数范围小的类型。需要注意,由于是从大范围强转到小范围,容易引起信息丢失,例如:

    int a = (int) 2.26d;  // 2

    int b = (int)1000000000000L; // -727379968

    从左到右自动转换,从右到左需要强制转换

    3. 自动提升规则:当一个算术表达式中包含多个基本类型的值时,所有的byte、short和char类型会被提升到int类型。

     

    展开全文
  • 面向对象与面向过程、类和对象的关系、封装继承多态、重写和重载、构造方法、关键字、内部类、包装类、Object常用方法
  • Java包装类的共同点

    千次阅读 2019-03-10 23:19:32
    渣渣海除了写点博客外,还有github哦...之前写过一篇博客,讲了基础的Java包装类的装包拆包过程,下面补充一下包装类它们的一些共同点。 1.所有包装类都重写了Object方法 我们也很容易知道Object的方法有: bo...
  • Java 包装类是什么

    万次阅读 多人点赞 2018-04-26 14:29:49
    包装类就是将基本的数据类型以及一些辅助方法封装到类中,例如 class IntDemo { private int num; public IntDemo(int num) { this.num = num; } public int intValue() { return this.num; } } Java...
  • Java8 基础数据类型包装类-Long

    千次阅读 2018-01-10 14:33:19
    Long包装类
  • 三个特殊的:String Object 包装 String: String的两种实例化方式:直接赋值:String str1 = “hello world”;传统方法:String str2 = new String(“hello world”);字符串相等的比较:“equals”和...
  • 如果一个在定义时没有明确指明继承哪个,则默认继承Object。 在java中所有的都有一个公共的父类就是Object,一个只要没有明显的继承一个,则肯定就是Object的子类。如下两种代码表示是一样的: ...
  • Java包装类(wrapper)

    千次阅读 2018-12-01 21:51:43
    1、包装类是final的,不能被继承。 2、包装类是不可变类,在构造包装类对象后,不允许更改包装在其中的值。 3、方便在基本数据类型与字符串之间进行转换。 4、可以更加便捷的对基本数据类型进行操作。 5、方便在...
  • 8个基本数据类型的包装类

    千次阅读 2017-02-20 15:03:55
    我们知道,java提供的8种基本数据类型并不支持面向对象的编程机制,不具备“对象“的...但是在某些时候,基本数据类型也会有一些制约,例如所有的引用类型的变量都继承了Object,都可以当成Object类型变量使用。但基
  • c++ 容器、继承层次、句柄

    千次阅读 2013-11-17 21:37:22
    一、容器与继承 在容器中保存有继承关系的对象,如果定义成保存基类对象,则派生类将切割,如果定义成保存...C++中一个通用的技术是包装类(cover)或句柄类(handle)。用句柄类存储和管理类指针。 句柄类大体上完成
  •  - 基本数据类型的包装类(Wrapper class)  - 字符串相关类  - 时间处理类  - Math类  - File类 先从基本数据类型的包装类开始学习。  基本数据类型的包装类  为什么需要包装类? ...
  • 深入Java基础(一)——基本数据类型及其包装类

    万次阅读 多人点赞 2016-12-21 22:18:34
    这一系列打算慢慢地去接触源码,并且列出相关的题目,对于完全的初学者的话,我到时候会搜一套我认为比较好的培训机构的视频以及给些...2.数据类型的包装类理解(含源码解析);3.数据类型转换、装包拆包等一些小坑。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 173,115
精华内容 69,246
关键字:

包装类可以被其他的类继承