• Java包装类


    在Java中不能自己定义基本数据类型对象,为了将基本数据类型视为对象进行处理,并能连接相关方法,Java为每个基本数据类型都提供了【包装类】如int型数值的包装类【Integer】,boolean型数值的包装类【Boolean】,这样就可以把这些基本数据类型转换为对象来处理了。

            java.lang包中的Integer类,Long类,Short类,可以将基本数据类型int,long,short封装成一个类,这些类都是Number的子类,区别就是封装了不同的数据类型。

    1.Integer

    Integer类在对象中包装了一个基本类型int的值,该类的对象包含一个int类型的字段,此外,该类提供了多种方法,能 在int类型和String类型之间互相转换。

    1.1构造方法

            Integer类有2种构造方法:

            1.1.1 Integer(int number)

            以int型变量为参数创建Integer对象。

    Integer number = new Integer(7);

            1.1.2 Integer(String str)

            以String型变量为参数创建Integer对象。

    Integer number = new Integer("45");        

    1.2 常用方法

    Integer类的常用方法
    方法返回值功能描述
    Integer.byteValue()byte以byte类型返回该Integer的值
    Integer.shortValue()short以short类型返回该Integer的值
    Integer.intValue()int以int类型返回该Integer的值
    Integer.toString()String返回一个表示该Integer值的String对象
    Integer.valueOf(String str)Integer返回保存指定String值的Integer对象
    Integer.parseInt(String str)int返回包含在由str指定的字符串中的数字的等价整数型
    Integer.compareTo(Integer anotherInteger)int在数字上比较2个Integer对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherInteger的数值,则返回负值;如果调用对象的数值大于anotherInteger的数值,则返回正值
    Integer.equals(Object IntegerObj)boolean比较此对象与另一个对象是否相等
    1. package classInfo;
    2. public class summation {
    3. public static void main(String[] args) {
    4. String[] str = {"89", "12", "10", "18", "35"};
    5. int sum = 0;
    6. //实现将String数组的原酸都转换为int型
    7. for (int i = 0; i < str.length; i++) {
    8. int myInt = Integer.parseInt(str[i]);
    9. sum = sum + myInt;
    10. }
    11. System.out.println("String数组中的各元素之和=" + sum);
    12. }
    13. }
    14. 输出:
    15. String数组中的各元素之和=164
    1. package classInfo;
    2. public class Charac {
    3. public static void main(String[] args){
    4. String str1 = Integer.toString(456); //将Integer对象转换为十进制字符串表示
    5. String str2 = Integer.toBinaryString(456); //将Integer对象转换为二进制表示
    6. String str3 = Integer.toHexString(456); //将Integer对象转换为十六进制表示
    7. String str4 = Integer.toOctalString(456); //将Inter对象转换为八进制表示
    8. System.out.println("456的十进制表示为:"+str1);
    9. System.out.println("456的二进制表示为:"+str2);
    10. System.out.println("456的十六进制表示为:"+str3);
    11. System.out.println("456的八进制表示为:"+str4);
    12. }
    13. }
    14. 输出:
    15. 456的十进制表示为:456
    16. 456的二进制表示为:111001000
    17. 456的十六进制表示为:1c8
    18. 456的八进制表示为:710

     1.3 常量

            Integer类提供了4个常量:

            1.3.1 MAX_VALUE

            表示int类型可取的最大值,即2^31 -1。

            1.3.2 MIN_VALUE

            表示int类型可取的最小值,即-2^31。

            1.3.3 SIZE

            用来以二进制补码形式表示int值的位数。

            1.3.4 TYPE

            表示基本类型int的class实例。

    1. package classInfo;
    2. public class GetCon {
    3. public static void main(String[] args){
    4. int maxInt = Integer.MAX_VALUE; //获取int类型的可取最大值
    5. int minInt = Integer.MIN_VALUE; //获取int类型的可取最小值
    6. int intSize = Integer.SIZE; //获取int类型的二进制位数
    7. System.out.println("int类型可取最大值是:"+maxInt);
    8. System.out.println("int类型可取最小值是:"+minInt);
    9. System.out.println("int类型的二进制位数是:"+intSize);
    10. }
    11. }
    12. 输出:
    13. int类型可取最大值是:2147483647
    14. int类型可取最小值是:-2147483648
    15. int类型的二进制位数是:32

    2.Boolean

    Boolean类将基本类型为boolean的值包装在一个对象中,一个Boolean类型的对象只包含一个类型为boolean的字段,此外,Boolean类还为boolean何String的相互转换提供了许多方法。

    2.1 构造方法

            2.1.1 Boolean(boolean value)

            创建一个表示value参数的Boolean对象

    Boolean b = new Boolean(true);

            2.1.2 Boolean(String str) 

            创建一个以String变量为参数的Boolean对象,如果String参数不为null且忽略大小写时等于true,则分配一个表示true值的Boolean对象,否则获得一个false值的Boolean对象。

    Boolean bool = new Boolean("ok");

    1. package classInfo;
    2. public class GetBoolean {
    3. public static void main(String[] args) {
    4. Boolean b1 = new Boolean(true); //输出:true
    5. Boolean b2 = new Boolean("True"); //输出:true
    6. Boolean b3 = new Boolean(null); //输出:false
    7. Boolean b4 = new Boolean("ok"); //输出:false
    8. Boolean b5 = new Boolean("1"); //输出:false
    9. System.out.println(b1);
    10. System.out.println(b2);
    11. System.out.println(b3);
    12. System.out.println(b4);
    13. System.out.println(b5);
    14. }
    15. }
    16. 输出:
    17. true
    18. true
    19. false
    20. false
    21. false

    2.2 常用方法

    Boolean类的常用方法
    方法返回值功能描述
    Boolean.booleanValue()boolean将Boolean对象的值以对应的boolean值返回
    Boolean.equals(Object obj)boolean判断调用该方法的对象与obj是否相等。当且仅当参数不为null,且与调用该方法的对象一样都表示同一个boolean值的Boolean对象是,才返回true
    Boolean.parseBoolean(String str)boolean将字符串参数解析成boolean值
    Boolean.toString()String返回表示该boolean值的String对象
    Boolean.valueOf(String str)boolean返回一个指定的字符串表示值的boolean值
    1. package classInfo;
    2. import com.sun.org.apache.xpath.internal.operations.Bool;
    3. public class GetBoolean {
    4. public static void main(String[] args) {
    5. Boolean b1 = new Boolean(true); //创建Boolean对象
    6. Boolean b2 = new Boolean("ok"); //创建Boolean对象
    7. System.out.println("b1:" + b1.booleanValue());
    8. System.out.println("b2:" + b2.booleanValue());
    9. }
    10. }
    11. 输出:
    12. b1:true
    13. b2:false

    2.3 常量

            Boolean提供了3个常量:

            2.3.1 TRUE

            对应基值true的Boolean对象;

            2.3.2 FALSE        

            对应基值false的Boolean对象;

            2.3.3 TYPE

            基本类型boolean的class对象;

    3.Byte

    Byte类将基本类型为byte的值包装在一个对象中,一个Byte类型的对象只包含一个类型为byte的字段;此外,Byte类还为byte和String的互转提供了方法。

    3.1 构造方法

            Byte类提供了2种构造方法的重载形式来创建Byte类对象。

            3.1.1 Byte(byte value)

            以byte型变量为参数创建Byte对象

    byte mybyte = 45;

    Byte b = new Byte(mybyte);

            3.1.2 Byte(String str)

            以String型变量为参数创建Byte对象

    Byte b = new Byte("12");

    3.2 常用方法

    Byte类的常用方法
    方法返回值功能描述
    Byte.byteValue()byte以一个byte值返回Byte的对象
    Byte.intValue()int以一个int值返回Byte对象
    Byte.doubleValue()double以一个double值返回此Byte的值
    Byte.valueOf(String str)byte返回一个保持指定String所给出的值Byte对象
    Byte.toString()String返回表示此Byte的值的String对象
    Byte.equals(Object obj)boolean将此对象与指定对象比较,如果此对象与obj相等,则返回true,否则返回false
    Byte.parseByte(String str)byte将String型参数解析成等价的字节(byte)形式
    Byte.compareTo(Byte anotherByte)int在数字上比较两个Byte对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherByte的数值,则返回负值;如果调用对象的数值大于anotherByte的数值,则返回正值

    3.3 常量

            Byte类中提供4个常量:

            3.3.1 MIN_VALUE

            byte类型可取的最小值

            3.3.2 MAX_VALUE

            byte类型可取的最大值

            3.3.3 SIZE

            用于二进制补码形式表示byte值的位数

            3.3.4 TYPE

            表示基本类型byte的class实例

    4.Character

    Character类在对象中包装一个基本类型为char的值,一个Character类型的对象包含类型为char的单个字段,该类提供了几种方法,以确定字符的类别(大小写字母,数字等),并将字符从大写转换成小写,从小写转换成大写。

    4.1 构造方法

            4.1.1 Character(char value)

            该类的构造函数必须是一个char类型的数据。通过该构造函数创建的Character类对象包含由char类型参数提供的值,一旦Character类被创建,它包含的数值就不能改变了。

    Character mychar = new Character('s');

    4.2 常用方法

    Character类的常用方法
    方法返回值功能描述
    Character.charValue()char返回此Character对象的值
    Character.compareTo(Character anotherCharacter)int在数字上比较两个Character对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherCharacter的数值,则返回负值;如果调用对象的数值大于anotherCharacter的数值,则返回正值
    Character.equals(Object obj)boolean将调用该方法的对象与指定对象相比较是否想相等
    Character.toString()String返回一个表示指定char值的String对象
    Character.toUpperCase(char ch)char将字符参数转换为大写
    Character.toLowerCase(char ch)char 将字符参数转为小写
    Character.isUpperCase(char ch)boolean判断指定字符是否为大写字符
    Character.isLowerCase(char ch)boolean判断指定字符是否为小写字符
    1. package classInfo;
    2. public class UpperOrLower {
    3. public static void main(String[] args) {
    4. Character mychar1 = new Character('A'); //声明Character对象
    5. Character mychar2 = new Character('a');
    6. System.out.println(mychar1 + "是大写字母吗?:" + Character.isUpperCase(mychar1));
    7. System.out.println(mychar2 + "是小写字母吗?:" + Character.isLowerCase(mychar2));
    8. }
    9. }
    10. 输出:
    11. A是大写字母吗?:true
    12. a是小写字母吗?:true

    4.3 常量

            Character提供了大量表示特定字符的常量。

            4.3.1 CONNECTOR_PUNCTUATION

            返回byte型值,表示Unicode规范中的常规类别”Pc".

            4.3.2 UNASSIGNED

            返回byte型值,表示Unicode规范中的常规类别“Cn”。

            4.3.3 TITLECASE_LETTER

            返回byte型值,表示Unicode规范中的常规类别“Lt”。

            

    5.Double/Float

    Double和Float包装类是对double,float基本类型的封装,他们都是Number类的子类,又都是对小数进行操作,所以常用方法基本相同。

            Double类在对象中包装一个基本类型为double的值。每个Double类的对象都包含一个double类型的字段,此外,该类还提供多个方法,可以将double转换为String,也可以将String转换为double.

    5.1 构造方法

            Double类提供了2中构造方法来获得Double类对象:

            5.1.1 Double(double value)

            基于double参数创建Double对象。

            5.1.2 Double(String str)

            用字符串表示的double类型的浮点值来创建Double对象。

    5.2 常用方法

    Double类的常用方法
    方法返回值功能描述
    Double.byteValue()byte以byte形式返回Double对象的值(强制转换)
    Double.intValue()int以int形式返回Double对象的值
    Double.longValue()long以long形式返回Double对象的值
    Double.doubleValue()double以doulbe形式返回Double对象的值
    Double.compareTo(Double d)int在数字上比较两个Double对象,如果这2个对象相等,则返回0;如果调用对象的数值小于Double的数值,则返回负值;如果调用对象的数值大于Double的数值,则返回正值
    Double.equals(Object obj)boolean将此对象与指定的对象比较
    Double.valueOf(String str)Double返回保存用参数字符串str表示的double值的Double对象
    Double.toString()String返回此对象的字符串表示形式
    Double.isNaN()boolean如果此double值是非数字值(NaN),则返回true;否则返回false;

    5.3 常量

            Double类提供了一下常量:

            5.3.1 MAX_EXPONENT

            返回int值,表示有限double变量可能具有的最大指数。

            5.3.2 MIN_EXPONENT

            返回int值,表示有限double变量可能具有的最小指数。

            5.3.3 NEGATIVE_INFINITY

            返回double值,表示保存double类型的负无穷大值的常量。

            5.3.4 POSITIVE_INFINITY

            返回double值,表示保存double类型的正无穷大值的常量。

    6.Number

            抽象类【Number】是BigDecimal、BigInteger、Byte、Short、Integer、Long、Float、Double类的父类,Number的子类必须提供将表示的数值转换为byte、short、int、long、float、double的方法,例如doubleValue()方法返回双精度值,floatValue()方法返回浮点值。

    6.1 Number类的方法

    Number类的方法
    方法返回值功能描述
    Number.byteValue()byte以byte形式返回指定的数值
    Number.shortValue()short以short形式返回指定的数值
    Number.intValue()int以int形式返回指定的数值
    Number.longValue()long以long形式返回指定的数值
    Number.floatValue()float以float形式返回指定的数值
    Number.doubleValue()double以double形式返回指定的数值

            Number类的方法分别被Number的各子类所实现,也就是说,Number类的所有子类中都包含以上几种方法。

  • 相关阅读:
    如何使用Plotly和Dash进行数据可视化
    中国“互联网+”大学生创新创业大赛“的实施方案及评审规则
    Redis缓存穿透和缓存击穿
    linux模块使用外部符号
    入门篇-其之六-Java运算符(中)
    Spring循环依赖
    Taro+react问题集合
    UI组件库Kendo UI for Vue原生组件中文教程 - 如何开始制作动画
    华为云云耀云服务器L实例评测|华为云云耀云服务器docker部署srs并调优,可使用webrtc与rtmp
    docker 安装 redis、redisinsight、可视化监控ganafa+prometheus
  • 原文地址:https://blog.csdn.net/qq_40132294/article/details/133824026