Java 中的一些常用类

    技术2022-07-13  72

    位于java.long包下

    是所有类的超类object o = 任意类型的对象Object类中所有受保护,公开的方法,是所有类所具备的

    常用方法:

    getClass() : 返回引用中指向的对象的实际类型

    //判断 a 和 a1指向的实际对象 是否是同一类型 System.out.println(a.getClass() == a1.getClass()); //一致 - true; 不一致- false

    int hashCode(): 返回值对象的哈希码值(对象地址的整数表现形式) String toString(): 返回对象的字符串表现形式

    Worker w = new Worker(); System.out.println(w); 打印对象就是打印toString方法的返回值(对象的字符串表现形式)

    需要覆盖toString方法:

    public String toString() { return name+" "+age+" "+score; }

    boolean equals(Object o):判断当前对象和指定对象内容是否相同 注意:自定义类型需要重写equals方法

    public boolean equals(Object o) { if(this==o) return true; // 1. 自反性判断 if(o==null) return false; // 2. 非空判断 if(this.getClass()!=o.getClass()) return false; // 3. 判断类型是否一致 Worker w = (Worker)o; // 4. 强转 if(this.name.equals(w.name)&&this.age==w.age&&this.score==w.score) return true; // 5. 逐一比较属性是否一致 return false; }

    void finalize():垃圾回收器回收垃圾对象时调用 垃圾对象:没有引用指向的对象 垃圾回收:销毁垃圾对象,释放内存空间

    垃圾回收机制: 自动回收机制:JVM内存耗尽时,将不能再为新创建的对象分配空间。此时垃圾回收器回一次性回收所有垃圾对象(自动调用finalize方法) 手动回收机制:利用System.gc();通知JVM做垃圾回收。若垃圾回收器空闲则回收;若不空闲则暂不回收。

    包装类(java.lang)

    概念:八种基本数据类型对应的对象类型,称为包装类。

    常用方法

    Integer —— int

    // int --> Integer Integer i1 = new Integer(a); //1. 通过构造方法 Integer i2 = Integer.valueOf(a); //2. 通过静态方法valueOf // Integer-->String String s1 = i4.toString(); String s2 = i4+"";

    String ——Integer

    // String-->Integer Integer i4 = new Integer(s); //1. 通过构造方法 Integer i5 = Integer.valueOf(s); //2. 通过静态方法valueOf // Integer-->String String s1 = i4.toString(); String s2 = i4+"";

    String —— int

    // String-->int // static int parseInt(String s) 获取s的int表现形式 int i6 = Integer.parseInt(str);

    注意:字符串类型转换成Integer、int类型,则要求字符串内容只能是数字。 否则运行报错,报错信息为:java.lang.NumberFormatException(数字格式转换异常)

    // int-->String String str1 = 10+"";

    自动拆装箱

    JDK 5.0 开始,包装类类型和基本数据类型之间可以自动转换。称之为自动拆装箱 拆箱:包装类类型转换为基本数据类型 装箱:基本数据类型转换为包装类类型

    Integer i1 = 10; //装箱 int i2 = i1; //拆箱

    缓冲区

    当自动装箱时,默认调用的是valueOf方法。 对-128~127之间的数字,做了预包装,存放在缓冲区 提高效率。

    作用

    区分0和null,即有效数据和无效数据

    String类(java.lang)

    常用方法

    char charAt(int index): 返回下标对应的字符 int length(): 返回字符串的长度 String[] split(String s) : 根据s将字符串进行拆分成一个字符串数组 String toUpperCase(): 将字符串转换成大写 String toLowerCase() 将字符串转换成小写 boolean endsWith(String s): 判断字符串是否以s结尾 int indexOf(String s): 返回字符串中第一次出现s的下标,若不存在返回-1 int lastIndexOf(String s): 返回s在字符串中最后一次出现的下标,若不存在返回-1 String substring(int start,int end) : 截取字符串,从start-end(不包含end)

    字符串对象的创建方式

    字面值形式 String s = "abc"; 只会产生一个对象,存放在串池中new关键字创建 String s = new String("abc"); 产生两个对象,一个存放在堆空间中,一个存放在串池中 String intern(): 返回字符串在串池中的字符串对象

    不可变长: 串池中的String是字面值常量,创建之后不可更改。 存放在串池中,资源共享,节省空间。

    缺点: 当进行字符串拼接时,不会改变原有的空间,而是产生大量的副文本存放新的字符串对象。从而降低了字符串拼接的效率。

    可变长字符串:

    StringBuffer : JDK 1.0 线程安全的 效率低 StringBuilder: JDK 5.0 线程不安全的 效率高

    创建对象: StringBuilder s = new StringBuilder("abc"); 常用方法: append(): 字符串拼接 //类似于String的+当进行大量字符串拼接时,则创建一个可变长字符串,通过append方法进行拼接。 再调用toString()方法转换成String对象

    BigDecimal(java.math)

    作用:用于精确的表示、计算浮点数

    如何创建对象 BigDecimal bd1 = new BigDecimal("1.0"); //参数选取字符串 运算 BigDecimal bd1 = new BigDecimal("10.0"); //bd1 = 1.0 BigDecimal bd2 = new BigDecimal("3.0"); //bd2 = 0.9 BigDecimal bd3 = bd1.add(bd2); //bd3 = bd1+bd2 BigDecimal bd4 = bd1.subtract(bd2); //bd4 = bd1-bd2 BigDecimal bd5 = bd1.multiply(bd2); //bd5 = bd1*bd2 //bd2 :表示分母 2:表示 精确位数 BigDecimal.ROUND_HALF_UP:四舍五入的取值方式 BigDecimal bd6 = bd1.divide(bd2,2,BigDecimal.ROUND_HALF_UP); //bd6 = bd1/bd2
    Processed: 0.011, SQL: 9