Java8 基础数据类型包装类-Short

基础

//final修饰不可更改,每次赋值都是新建类(其中-128~127是通过ShortCache获取的不是新建的,可以使用==比较,但其他数据是通过new新建的,不能使用==直接比较大小,因为是不同的类,地址不同,需用equals比较)
public final class Short extends Number implements Comparable<Short> {}

常量

//-2^15
public static final short   MIN_VALUE = -32768;
//2^15-1
public static final short   MAX_VALUE = 32767;
//16位
public static final int SIZE = 16;
//两个字节大小
public static final int BYTES = SIZE / Byte.SIZE;

继承
抽象类Number
获取包装类与基本类型之间的转换值,short、int、long、byte、float、double。
实现
Comparable 接口
实现compareTo(T o)方法
私有静态内部类

private static class ShortCache {
    private ShortCache(){}

    static final Short cache[] = new Short[-(-128) + 127 + 1];

    static {
        for(int i = 0; i < cache.length; i++)
            cache[i] = new Short((short)(i - 128));
    }
}

方法

short,Short转String

//调用Integer的toString方法,s为10进制数
public static String toString(short s) {}
//调用Integer的toString方法,s为10进制数
public String toString() {}

String转short,Short

//调用integer的parseInt方法,然后比较大小,在short范围的进行强转,否则抛异常
//s:数值型字符串
//radix:s字符串是几进制
public static short parseShort(String s, int radix) throws NumberFormatException {}
//默认s字符串是10进制
public static short parseShort(String s) throws NumberFormatException {}
//如果s范围在-128~127之间则直接取ShortCache.cache数组中的值,否则new
public static Short valueOf(short s) {}
//return valueOf(parseShort(s, radix));
public static Short valueOf(String s, int radix) throws NumberFormatException {}
//默认10进制
public static Short valueOf(String s) throws NumberFormatException {}
//调用Integer.decode(),在判断数字大小,满足条件进行强制类型转换
public static Short decode(String nm) throws NumberFormatException {}

Short转基本数据类型

public byte byteValue() {}
public short shortValue() {}
public int intValue() {}
public long longValue() {}
public float floatValue() {}
public double doubleValue() {}
//无符号x转int
public static int toUnsignedInt(short x) {}
//无符号x转long
public static long toUnsignedLong(short x) {}

比较

//返回类型为int,结果为x-y的值。与integer的compare不一样,integer返回-1,1,0
public int compareTo(Short anotherShort) {}
//返回类型为int,结果为x-y的值。与integer的compare不一样,integer返回-1,1,0
public static int compare(short x, short y) {}

位运算

//例:1101->1101000...(将前面的0补到后面)
public static short reverseBytes(short i) {}
### 回答1: 好的,我很乐意回答您关于Java基础类类型和继承的问题。 在Java中,有8个基本数据类型:byte,short,int,long,float,double,char和boolean。这些基本类型是Java语言中最基础的类型,它们可以用于声明变量和参数,以及作为返回值类型。 除了基本数据类型之外,Java还有一些常用的引用类型,比如字符串(String)、数组(Array)、日期(Date)等。这些引用类型是通过类来实现的,因此被称为类类型。 Java中的类类型是通过继承机制来构建的。一个类可以继承另一个类的属性和方法,从而实现代码的重用和扩展。Java的类继承是单继承,也就是说每个类只能直接继承一个父类。但是,一个类可以间接继承多个类,即一个类可以继承另一个类,而这个类又可以继承另一个类,以此类推。 Java中的继承关系可以用extends关键字来表示。例如,如果一个类A要继承另一个类B,可以使用以下代码: ``` class A extends B { // Class A code goes here } ``` 在这个例子中,类A继承了类B的所有属性和方法,并且可以添加自己的属性和方法。 继承的一个重要概念是覆盖(overriding)。如果子类需要改变父类中的方法实现,可以在子类中重新定义该方法,并且使用@Override注释来指示这是一个覆盖方法。例如: ``` class A extends B { @Override public void someMethod() { // Override implementation goes here } } ``` 在这个例子中,类A重新定义了类B中的someMethod()方法,并且使用@Override注释来指示这是一个覆盖方法。 希望这些信息能对您有所帮助。如果您有任何其他问题,请随时问我。 ### 回答2: Java基础类型包装类是指将基本数据类型封装成类的类型,它们与基本数据类型对应,可以让基本数据类型拥有面向对象的特性。Java基础类型包装类一共有八个,分别是Byte、Short、Integer、Long、Float、Double、Character和Boolean。 在Java中,基本类型与基本类型包装类型之间可以进行自动装箱和自动拆箱操作。自动装箱是指将基本数据类型转换为对应的包装类对象,自动拆箱则是指将包装类对象转换为对应的基本数据类型。 使用Java基础类型包装类可以提高Java程序设计的灵活度和可扩展性。比如,可以使用包装类来表示空值,而基本数据类型不能表示空值。此外,基础类型包装类可以作为参数传递给方法,可以通过反射操作这些类型,还可以实现对象的比较。 Java基础类型包装类还提供了各种方法来处理或转换数据。比如,可以使用Integer类的parseInt方法将字符串转换为整数;可以使用Double类的toString方法将浮点数转换为字符串;可以使用Character类的isLetter方法判断一个字符是否为字母等。 需要注意的是,在使用基础类型包装类的时候,应该尽量避免创建不必要的对象,因为基础类型包装类是对象,创建对象会导致额外的开销和内存消耗。 综上所述,掌握Java基础类型包装类的使用是Java程序员必不可少的基础技能。熟练掌握它们的特点和使用方法,将大大提高程序开发的效率和质量。 ### 回答3: Java基础类型包装类是为了将基本数据类型封装成对象类型而出现的。基本数据类型包括byte、short、int、long、float、double、boolean和char,而基本数据类型包装类分别是Byte、Short、Integer、Long、Float、Double、Boolean和Character。在使用Java的过程中,我们经常需要将基本数据类型转换成对象类型,或者将对象类型转换成基本数据类型。这时,就需要使用到基本数据类型包装类。 在第2关:Java基础类型包装类-练习中,我们需要掌握以下几个方面的技能: 1. 创建包装类对象 可以使用new关键字加上对应的包装类名称来创建对应的包装类对象,例如: Integer i = new Integer(10); 2. 将字符串转换成基本数据类型包装类对象 可以使用对应的valueOf方法将字符串类型转换成对应的基本数据类型包装类对象,例如: int num = Integer.valueOf("10"); Integer i = Integer.valueOf("10"); 3. 自动装箱和拆箱 Java提供了自动装箱和拆箱的特性,可以简化代码编写。自动装箱是将基本数据类型自动转换成对应的包装类对象,自动拆箱是将包装类对象自动转换成对应的基本数据类型。例如: Integer i = 10; // 自动装箱 int num = i; // 自动拆箱 4. 基本数据类型包装类对象之间的比较 基本数据类型包装类对象之间可以通过equals方法进行比较,也可以使用“==”运算符进行比较,例如: Integer i1 = new Integer(10); Integer i2 = new Integer(10); System.out.println(i1.equals(i2)); // true System.out.println(i1 == i2); // false int num1 = 10; int num2 = 10; System.out.println(num1 == num2); // true 5. 基本数据类型包装类对象的转换 可以通过对应的intValue、doubleValue等方法将包装类对象转换成对应的基本数据类型,例如: Integer i = new Integer(10); int num = i.intValue(); 总的来说,掌握Java基础类型包装类的使用可以让我们更加方便地进行基本数据类型和对象类型的转换和比较,可以大大提高代码的执行效率和可读性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值