Skip to content

Java指南(二)

🕒 Posted at: 2020-11-01 ( 4 years ago )
Java
Java学习笔记

Object

Object类是所有类的根类,即所有类都直接或间接的继承自Object类。

Object.toString()

jsx
package org.example;

public class Main {
    public static void main(String[] args) {

        Student s = new Student("John", 25);
        System.out.println(s.toString()); 
        // org.example.Student@1be6f5c3 全类名@哈希码  默认调用Object的toString方法

    }
}

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

Object.equals()

jsx
package org.example;

public class Main {
    public static void main(String[] args) {

        Student s1 = new Student("John", 25);
        Student s2 = new Student("Alice", 30);

        System.out.println(s2.equals(s1)); // false
        System.out.println(s1.equals(s1)); // true
    }
}

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

Objects.isNull

jsx
Objects.isNull(null); // true

Objects.nonNull

jsx
Objects.nonNull(null); // false

包装类

包装类的作用是将基本数据类型封装成对象。

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

String

StringBuilder

java
public class Main {
    public static void main(String[] args) {

        StringBuilder sb = new StringBuilder();

        sb.append("Hello");
        sb.append(" ");
        sb.append("World");

        System.out.println(sb.toString()); // Hello World
        System.out.println(sb.reverse().toString()); // dlroW olleH
        System.out.println(sb.length()); // 10

    }
}

StringJoiner

java
public class Main {
    public static void main(String[] args) {

        StringJoiner sj = new StringJoiner(", ", "[", "]");

        sj.add("John");
        sj.add("Jane");
        sj.add("Jack");

        System.out.println(sj); // [John, Jane, Jack]

    }
}

System

java
package org.example;

import java.util.StringJoiner;

public class Main {
    public static void main(String[] args) {

        // System 常用方法
        System.out.println("Hello World!");

        // System.exit(3); // 退出程序

        TimeSpend timeSpend = new TimeSpend();

        for (int i = 0; i < 100000; i++) {
            System.out.print("\r" + i);
        }

        System.out.println("\nTime spend: " + timeSpend.stop() + "ms"); // Time spend: 153ms 
    }
}

class TimeSpend{
    private final long start;

    public TimeSpend(){
        start = System.currentTimeMillis();
    }

    // stop() 方法返回从创建对象到调用 stop() 方法的时间间隔
    public long stop(){
        return System.currentTimeMillis() - start;
    }
}

Runtime

java
public class Main {
    public static void main(String[] args) {

        Runtime runtime = Runtime.getRuntime();

        System.out.println("Total memory: " + runtime.totalMemory() / 1024 / 1024 + " MB");
        System.out.println("Free memory: " + runtime.freeMemory() / 1024 / 1024 + " MB");
        System.out.println("Max memory: " + runtime.maxMemory() / 1024 / 1024 + " MB");

        // availableProcessors() 方法返回当前系统的 CPU 数目
        System.out.println("CPU: " + runtime.availableProcessors());
    }
}
Copyright © RyChen 2024