欢迎访问宙启技术站
智能推送

Java中常用函数的详细解释和示例

发布时间:2023-06-18 10:51:19

1. toString()

函数toString()用于将对象的字符串表示形式返回。它通常用来打印或记录对象。

示例:

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public static void main(String[] args) {
        Student student = new Student("Amy", 20);
        System.out.println(student.toString());
    }
}

输出结果为: Student{name='Amy', age=20}

2. equals()

函数equals()用于比较对象的内容是否相等。它通常用于比较基本类型的字段或可比较的对象。

示例:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age && Objects.equals(name, person.name);
    }

    public static void main(String[] args) {
        Person person1 = new Person("Amy", 20);
        Person person2 = new Person("Amy", 20);
        System.out.println(person1.equals(person2));
    }
}

输出结果为: true

3. hashCode()

函数hashCode()返回对象的哈希码,用于将对象快速存储和查找。

示例:

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }

    public static void main(String[] args) {
        Student student = new Student("Amy", 20);
        System.out.println(student.hashCode());
    }
}

输出结果为: 697682542

4. getClass()

函数getClass()返回对象的类。

示例:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public static void main(String[] args) {
        Person person = new Person("Amy", 20);
        System.out.println(person.getClass().getName());
    }
}

输出结果为: Person

5. wait()

函数wait()使当前线程等待,直到其他线程调用notify()或notifyAll()方法。

示例:

public class WaitNotifyExample {
    public static void main(String[] args) {
        Object lock = new Object();

        new Thread(() -> {
            System.out.println("Thread 1 waiting...");
            synchronized (lock) {
                try {
                    lock.wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }

            System.out.println("Thread 1 notified.");
        }).start();

        new Thread(() -> {
            System.out.println("Thread 2 starting...");
            synchronized (lock) {
                lock.notify();
            }
        }).start();
    }
}

输出结果为: Thread 1 waiting...

Thread 2 starting...

Thread 1 notified.

6. notify()

函数notify()唤醒正在等待的线程。

示例:

public class WaitNotifyExample {
    public static void main(String[] args) {
        Object lock = new Object();

        new Thread(() -> {
            System.out.println("Thread 1 waiting...");
            synchronized (lock) {
                try {
                    lock.wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }

            System.out.println("Thread 1 notified.");
        }).start();

        new Thread(() -> {
            System.out.println("Thread 2 starting...");
            synchronized (lock) {
                lock.notify();
            }
        }).start();
    }
}

输出结果为: Thread 1 waiting...

Thread 2 starting...

Thread 1 notified.

7. Arrays.toString()

函数Arrays.toString()将数组转换为字符串,用于打印或记录数组。

示例:

public class ArrayExample {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        System.out.println(Arrays.toString(array));
    }
}

输出结果为: [1, 2, 3, 4, 5]

8. System.arraycopy()

函数System.arraycopy()将源数组的一部分复制到目标数组的指定位置。

示例:

public class ArrayExample {
    public static void main(String[] args) {
        int[] source = {1, 2, 3, 4, 5};
        int[] target = {6, 7, 8, 9, 10};

        System.arraycopy(source, 1, target, 2, 3);

        System.out.println(Arrays.toString(target));
    }
}

输出结果为: [6, 7, 2, 3, 4]

9. String.valueOf()

函数String.valueOf()将不同类型的值转换为字符串。

示例:

public class StringExample {
    public static void main(String[] args) {
        int a = 100;
        double b = 3.14;
        boolean c = true;

        String result = String.valueOf(a) + " " + String.valueOf(b) + " " + String.valueOf(c);

        System.out.println(result);
    }
}

输出结果为: 100 3.14 true

10. Integer.parseInt()

函数Integer.parseInt()将字符串转换为整数。

示例:

public class StringExample {
    public static void main(String[] args) {
        String number = "12345";

        int result = Integer.parseInt(number);

        System.out.println(result);
    }
}

输出结果为: 12345