Java编程工具类之包装类相关

简介: 1.枚举(类) 可以将某些类中的对象一一列举出来 类中的对象具有有限的个数 1.通过enum来描述枚举 class interface enum 2.可以在枚举类中直接列举对象 public enum Day{ monday,tuesday } 3.通过枚举类直接访问属性名(枚举对象) 4.通过枚举对象调用 发现有很多的方法 每一个自己定义的enum枚举类型 都默认继承java.lang.Enum Object 有两个私有属性name枚举对象名字 ordinal顺序(在枚举类中的索引) na

知识回顾

   1.枚举(类)

   可以将某些类中的对象一一列举出来    类中的对象具有有限的个数

   1.通过enum来描述枚举     class   interface   enum

   2.可以在枚举类中直接列举对象    public enum Day{  monday,tuesday }

   3.通过枚举类直接访问属性名(枚举对象)

   4.通过枚举对象调用  发现有很多的方法

   每一个自己定义的enum枚举类型 都默认继承java.lang.Enum   Object

   有两个私有属性name枚举对象名字   ordinal顺序(在枚举类中的索引)

   name()  ordinal()获取相关属性信息的方法

   Day enum = Day.valueOf("name");

   Day[] days = Day.values();

   monday.compareTo(tuesday);

   5.可以在enum中定义自己的一般属性  一般方法

   必须在枚举类描述的第一行  列举枚举对象的样子 分号结尾

   添加自己定义的私有属性

   提供私有的构造方法(带参数)  我们自己是不能调用构造方法

   6.自己定义的enum不能再继承别的类(单继承)

   可以实现多个接口   添加具体的方法

   7.可以使用在switch语句中    

   8.内存管理的问题

   栈内存----变量空间   方法临时执行空间

   从创建开始执行完毕  立即回收

   堆内存----我们自己new申请对象空间     垃圾回收器GC    对象空间没有任何引用指向视为垃圾

   方法区----常量  类模板  静态成员   有且只有一份   不回收

   public class Test{

   public Person p = new Person();//聚合关系

       }

   Test t = new Test();

   Person p = t.p;

   p = null;

   t.p = null;

   System.gc();

   为了能看到对象被回收的效果

   1.重写类中的finalize方法    从Object继承过来的

   2.Runtime类  单例模式  Runtime.getRuntime();获取对象    

   long  =  maxMemory   totalMemory   freeMemory

   OutOfMemoryError 堆内存溢出错误

   StackOverflowError 栈内存溢出错误

   Java开发者写好的类-----专业的文档  API(建议下载一个.chm)

   包装类(封装类)

   数学相关

   日期相关

   *字符串

   *集合相关(ArrayBox LinkedBox)

   *异常相关

   输入输出相关I/O

   线程相关

   网络通信

   反射注解

GUI  Swing

   1.类所在的包

   2.类的关系   自己默认继承 实现

   3.是否可以创建对象  调用    方法本身静态的

   4.类中提供的常用方法

   包装类(封装类)  1.5版本之后  自动拆装包

   byte---Byte   short---Short   int---Integer  long---Long

   float---Float  double---Double  char---Character   boolean---Boolean

   1.八个包装类都在同一个包下   java.lang包   不需要import导包直接使用

   2.八个包装类中有六个是与数字相关  都默认继承父类Number

   3.八个包装类都实现了Serializable, Comparable

   4.八个包装类都有带自己对应类型参数的构造方法

   八个包装类中有七个(除了Character)还有构造方法重载   带String类型

   5.创建对象  对象调用方法

   有六个与数字相关的类都继承Number     xxxValue();  

   将一个包装类类型转化为对应的基本类型(拆包)

   Integer i1 = new Integer(10);//引用数据类型 包装类

   int value = i1.intValue();

   Integer i2 = 10;

   int value = new Integer(10);

   int value = Integer.parseInt("123");  

   Float.parseFloat("123.45")

   int value = new Integer("123");

   6.经常在笔试中出现的问题

   Integer i1 = 10;

   Integer i2 = 10;

   Integer i3 = new Integer(10);

   Integer i4 = new Integer(10);

   System.out.println(i1==i2);//  true--->如果数字范围超过127false

   System.out.println(i1==i3);//  false

   System.out.println(i3==i4);//  false

   System.out.println(i1.equals(i2));//true

   System.out.println(i1.equals(i3));//true

   System.out.println(i3.equals(i4));//true

   1.==与equals()区别

   ==可以比较基本数据类型  也可以比较引用数据类型  (变量中存储的内容)

   如果比较基本类型比较是变量中存储的值

   如果比较引用类型比较是变量中存储的地址引用

   equals()是Object类中继承过来的方法  每一个引用类型都可以调用

   默认继承的equals()方法比较与==一致  如果想要改变比较规则 可以重写equals方法

   由于Integer类就重写了equals() 所以Integer比较的是数值

   2.考察Integer类加载的时候  自己有一个静态的空间

   空间内立即加载 Integer类型的数组  内存储256个Integer对象   -128 ~ 127

   如果我们用的对象范围在这之内Integer i1 = 10;  

   直接取静态区中找对应的对象

   如果我们用的对象范围超出了这个Integer i1 = 1000;  

   会帮我们创建一个新的Integer对象

目录
相关文章
|
7天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
|
24天前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
43 17
|
16天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
19天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
41 4
|
20天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
70 4
|
21天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
41 2
|
25天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
29天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
29天前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
29天前
|
存储 Java 编译器
java wrapper是什么类
【10月更文挑战第16天】
31 3
下一篇
无影云桌面