📜  Java.lang包教程(1)

📅  最后修改于: 2023-12-03 15:01:35.295000             🧑  作者: Mango

Java.lang包教程

Java.lang包是Java语言中最基础、最常用的包之一。它提供了Java程序运行所需的基础类和接口,比如Object、String、System等。本教程将教你如何使用Java.lang包中的一些重要类和接口。

Object类

Object类是所有Java类的父类。每个类都可以调用Object类中定义的方法。Object类中有一些常用的方法如下:

  • equals(Object obj):用于比较两个对象是否相等,通常需要重写该方法来比较对象的内容。
  • hashCode():返回对象的哈希码,用于哈希表等数据结构中的快速查找。
  • toString():返回对象的字符串表示,通常需要重写该方法以输出有意义的字符串。
  • getClass():返回对象所属的类的Class对象。
  • wait():使当前线程等待,直到对象的状态发生改变。
  • notify():唤醒一个正在等待该对象的线程。

示例代码:

public class Example {
    public static void main(String[] args) {
        Object obj1 = new Object();
        Object obj2 = new Object();

        // 判断两个对象是否相等
        System.out.println(obj1.equals(obj2));

        // 获取对象的哈希码
        System.out.println(obj1.hashCode());

        // 获取对象的字符串表示
        System.out.println(obj1.toString());

        // 获取对象所属的类的Class对象
        System.out.println(obj1.getClass().getName());
    }
}
String类

String类表示字符串。它是Java中最常用的类之一。在Java中使用字符串时,通常使用String类的常量池进行优化。

示例代码:

public class Example {
    public static void main(String[] args) {
        String str1 = "Hello, world!";
        String str2 = "Hello, world!";

        // 判断两个字符串是否相等
        System.out.println(str1.equals(str2));

        // 获取字符串的长度
        System.out.println(str1.length());

        // 获取字符串的子串
        System.out.println(str1.substring(7, 12));

        // 在字符串中查找子串
        System.out.println(str1.indexOf("world"));
    }
}
StringBuilder类

StringBuilder类表示可变字符串,通常用于构建较长的字符串。与String类不同的是,StringBuilder类的实例在修改时不会创建新的对象,而是直接修改原有对象。

示例代码:

public class Example {
    public static void main(String[] args) {
        StringBuilder builder = new StringBuilder();

        // 添加字符串
        builder.append("Hello, ");

        // 添加字符数组
        builder.append(new char[] {'w', 'o', 'r', 'l', 'd'});

        // 在指定位置插入字符串
        builder.insert(7, "Java ");

        // 删除指定范围内的字符
        builder.delete(0, 7);

        System.out.println(builder.toString());
    }
}
System类

System类提供了一些常用的系统操作方法。例如:

  • currentTimeMillis():返回当前时间的毫秒数。
  • arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定范围的元素复制到另一个数组中。

示例代码:

public class Example {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();

        // 调用方法

        long end = System.currentTimeMillis();

        System.out.println("Elapsed time: " + (end - start));
    }
}
总结

Java.lang包提供了Java程序运行所需的基础类和接口,包括最常用的Object、String、System等类。使用这些类可以大大简化Java程序的开发。