博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java SE核心之一:常用类,包装类,其他基本数据类型包装类。
阅读量:7030 次
发布时间:2019-06-28

本文共 4396 字,大约阅读时间需要 14 分钟。

在Java继承体系中,java.lang.Object类位于顶端(是所有对象的直接或间接父类)。如果一个类没有写extends关键字声明其父类,则该类默认继承java.lang.Object类。Object类定义了“对象”的基本行为,被子类默认继承。

1.Number 类

Number数值类型是byte、double、float、int、long 和 short类的抽象父类,提供把包装类转化成基本数据类型的方法(xxxValue)。

详细请查阅JDK API 及以上文档:

 

1.2 Interger 是int基本数据类型的包装类,在Interger内部封装了一个final int value 的属性。

 

1) 构造方法

1 public class Test1 { 2     public static void main(String[] args) { 3         // Integer 属性  4         //System.out.println(Integer.MAX_VALUE); 输出2^31 - 1; 5         //System.out.println(Integer.MIN_VALUE); 输出-2^31; 6  7         // 构造方法 8         int t = 10; 9         String bStr = "20";10         Integer t1 = new Integer(t);11         //可能抛出NumberFormatException异常12         Integer t2 = new Integer(bStr);13         System.out.println(t1.toString());14         System.out.println(t2.toString());15         16     }17 }

 2)int<->Integer<->string类型之间转换

1 public class Test2 { 2     public static void main(String[] args) { 3         // int -> Integer 4         Integer i1 = new Integer(10); 5         Integer i2 = Integer.valueOf(20); 6  7         // Integer -> int 8         int a = i1.intValue(); 9         10         // String -> Integer11         Integer i3 = new Integer("30");12         Integer i4 = Integer.valueOf("40");13         14         // Integer -> String15         System.out.println(i3.toString());16         17         // String -> int18         int b = Integer.parseInt("50");19         System.out.println(b);20         21         //int -> String22         String str = Integer.toString(10);23         24         String str2 = Integer.toString(8,2);//将8转化为二进制数25         System.out.println(str2); //输出二进制 1000;26     }27 28 }

3)Comparable接口

查看JDK API文档我们发现对Comparable定义如下:

 Comparable 表示具有比较能力,对象可比较大小,还可以强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。

1 public class Test3 { 2      3     public static void main(String[] args) { 4         Integer i1 = new Integer(10);//把包装类转化基本数据类型 5         int a=i1.intValue(); 6         System.out.println(a); 7          8         //(2)Integer的比较 9         Integer i2 = new Integer(20);10         Integer i3 = new Integer(30);11         //equals是对象内容进行比较。12         System.out.println(i2.equals(i3));//输出false ,i2和i3的内容不想相等。13         14         /*compareTo(), 在JDK API中,java.lang包下面的基本数据类型的封装类都提供了该方法,如 Integer,Float,Byte,Short,Character 等。15         比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。*/16         System.out.println(i2.compareTo(i3));//输出-1,说明该对象i2 小于 指定对象i3;17         18     }19 20 }

 2. String类

 1)String是字符串类型,是引用类型,是“不可变”字符串(内部声明一个private final char value[];),无线程安全问题。在java.lang.String中。

1 public class Test1 { 2     public static void main(String[] args) { 3         String str1 = "abc"; 4         String str2 = "abc"; 5         String Str3 = "abcd"; 6          7         //比较str1与str2的内存地址是否相等? 8         System.out.println(str1 == str2);//输出true;相等! 9         10     }11 12 }

因为String对象是不可变的,所以可以共享。 通过字面量创建的字符串分配在常量区。

 3. 字符串常用方法

1)构造方法

1 import java.io.UnsupportedEncodingException; 2 import java.nio.charset.Charset; 3  4 public class Test2 { 5     public static void main(String[] args) { 6         //在堆区初始化一个空字符串 7         String str1 = new String(); 8          9         //通过一个字节数组构建一个字符串10         byte[] bytes = {97,98,99};11         //通过使用平台的默认字符集解码指定的byte 数组12         //System.out.println(Charset.defaultCharset()); //输出GBK ,不同平台的默认字符集解码不同的。GBK是在Windows简体中文平台下的字符解码;13         String str2 = new String(bytes);14         System.out.println(str2);15         16         byte[] byte2 = {-42,-48};17         String str3 = null;18         try {19             //使用指定的字符集对字节序列进行解码20             str3 = new String(byte2,"GBK");21         } catch (UnsupportedEncodingException e) {22             e.printStackTrace();23         }24         System.out.println(str3);25         26         //对一个UTF-8的字节序列进行解码27         byte[] byte3 = {-28,-72,-83,-28,-72,-83};28         29         try {30             String str4 = new String(byte3,"UTF-8");//输出中中31             String str5 = new String(byte3,0,3,"UTF-8");//输出中,是0-3位的数;32             System.out.println("str4:"+ str4);33             System.out.println("str4:"+ str5);34         } catch (UnsupportedEncodingException e) {35             e.printStackTrace();36         }37         38     }39 40 }

 

转载于:https://www.cnblogs.com/abcdjava/p/10779906.html

你可能感兴趣的文章
雷军定AI+IoT为小米核心战略,牵手宜家推进生态布局
查看>>
书评:《All About Java 8 Lambdas》
查看>>
搜狗信息流推荐算法实践
查看>>
Visual Studio 2017 15.6发布
查看>>
2019年Java和JVM生态系统预测:OpenJDK将成为Java运行时市场领导者
查看>>
拥抱PostgreSQL,红帽再表态:SSPL的MongoDB坚决不用
查看>>
架构设计复杂度的6个来源
查看>>
360首席安全官谭晓生宣布离职
查看>>
在敏捷中应用测试驱动开发
查看>>
到底谁应该对软件开发的质量负责?
查看>>
微软Windows Core OS被曝应用了开源组件
查看>>
用Elm语言降低失败的风险
查看>>
资深专家都知道的Docker常用命令
查看>>
谈谈UCloud的秒级在线快照服务
查看>>
Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布
查看>>
EGO走进美团——追寻千亿市场背后的技术力量
查看>>
腾讯正式宣布成立技术委员会,要对组织架构下狠手
查看>>
3·15曝光丨智能机器人一年拨打40亿个骚扰电话,6亿人信息已遭泄露!
查看>>
腾讯携手中科院国家天文台落地FAST 用云计算探索星辰大海
查看>>
随机森林算法4种实现方法对比测试:DolphinDB速度最快,XGBoost表现最差
查看>>