Heim  >  Artikel  >  Java  >  Einführung in allgemeine JavaSE-Klassen und -Methoden (mit Code)

Einführung in allgemeine JavaSE-Klassen und -Methoden (mit Code)

不言
不言nach vorne
2019-04-15 10:13:022866Durchsuche

Der Inhalt dieses Artikels ist eine Einführung in gängige JavaSE-Klassen und -Methoden (mit Code). Ich hoffe, dass er für Freunde hilfreich ist.

1. Basisdatentypen werden mit == verglichen.

2 Referenzdatentypen werden mit der Methode „equals“ verglichen Der Vergleich ist Es handelt sich um den Adresswert

toString

Klasse Objektaufruf toString() muss diese Methode überschreiben: in der gekapselten Klasse, andernfalls Die Adresse wird ausgegeben

gleicht

Methode

'Objekt'-Aufrufe equal() muss wiederholt werden. Schreibmethode: In der gekapselten Klasse neu schreiben, sonst ist der Vergleich die Adresse


String

Klasse String hat eine Aufteilung, wird entsprechend einer Zeichenfolge aufgeteilt und gibt nach der Aufteilung das String-Array zurück

String[] split(String regex)

public int length(): Gibt die Länge dieser Zeichenfolge zurück.

public String concat (String str): Verkettet die angegebene Zeichenfolge mit dem Ende der Zeichenfolge.

public char charAt (int index): Gibt den char-Wert am angegebenen Index zurück.

public int indexOf (String str): Gibt den Index des ersten Vorkommens des angegebenen Teilstrings innerhalb des Strings zurück.

public int indexOf(String str, int fromIndex): Gibt den Index des ersten Vorkommens des angegebenen Teilstrings in diesem String zurück, beginnend mit dem angegebenen Index.

public String substring (int beginIndex): Gibt einen Teilstring zurück und fängt den String ab beginIndex bis zum Ende des Strings ab.

public String substring (int beginIndex, int endIndex): Gibt einen Teilstring zurück und fängt den String von beginIndex bis endIndex ab. Enthält beginIndex, jedoch nicht endIndex.

öffentliche Zeichenfolge ersetzen (CharSequence-Ziel, CharSequence-Ersetzung): Ersetzen Sie die Zeichenfolge, die dem Ziel entspricht, durch die Ersatzzeichenfolge.

StringBuilder

Klasse

String Builder entspricht einem Puffercontainer im Speicher und wird wie der Speicher geschlossen geschlossen Verschwinden, Erstellen Sie beim Zusammenfügen von Zeichen im Adressspeicher nicht die Speicheradresse der hinzugefügten Zeichen, wodurch Speicherplatz gespart wird

StringBuilder() Konstruiert einen String-Builder ohne Zeichen mit einer anfänglichen Kapazität von 16 Zeichen.


StringBuilder(String str) Konstruiert einen String-Builder, der mit dem angegebenen String-Inhalt initialisiert wird

StringBuilder sb = new StringBuilder();

public StringBuilder append (beliebiger Typ ): Daten hinzufügen und das Objekt selbst zurückgeben (verkettete Aufrufe werden unterstützt).

public StringBuilder reverse(): Umkehren der Zeichenfolge

public String toString(): Gibt die Zeichenfolgendarstellung der Daten in dieser Sequenz zurück. In String konvertieren

Anhängemethode Nachteile: Es kann jeden Typ spleißen, aber nach Abschluss des Spleißens wird es zur String

Arrays-Klasse

öffentlich statisch String toString(int[] a): Konvertieren Sie das Array in einen String

public static void sort(int[] a): Sortieren Sie das Array in aufsteigender Reihenfolge

Konvertieren Sie die Wrapper-Klasse in die Die String-Klasse

int-Typ kann direkt in den String-Typ gespleißt und in den String-Typ

int->String

1+""

konvertiert werden

String.valueOf()-Methode Basistypdaten können in String-Typ konvertiert werden

String.valueOf(data);

Wrapper-Klasse.ParseXXX-Methode kann Basistyp in String-Typ konvertieren. Beachten Sie, dass der Basistyp in die entsprechende Verpackungsklasse konvertiert werden muss. Das Folgende ist ein Beispiel für die Konvertierung von int in String

int->String (Schlüsselpunkt)

Integer.parseInt(" 100")

Datumsklasse

In Java gibt es ein java.util.Date, das Datum und Uhrzeit millisekundengenau darstellt

Konstruktionsmethode der Date-Klasse:

Date() keine Parameter Konstruktionsmethode: Erstellen Sie ein Date-Objekt basierend auf der aktuellen Systemzeit.

Date (langes Datum): Erstellen Sie ein Date-Objekt basierend auf der angegebenen Millisekundenwert. Der angegebene Millisekundenwert, der Millisekundenwert, der seit dem 1. Januar 1970 vergangen ist (die Basiszeit des Computers)

Gemeinsame Methoden:

public long getTime() Konvertiert das Datumsobjekt in die entsprechende Zeit Wert in Millisekunden.

void setTime(long time) Setzt dieses Date-Objekt auf den Millisekundenwert, der seit 00:00:00 Uhr am 1. Januar 1970 verstrichen ist

//请打印出1970年1月2号的时间的对象
    Date date2 = new Date(24 * 60 * 60 * 1000);
    System.out.println(date2);
  //获取当前时间的毫秒值
    Date date = new Date();
    System.out.println(date.getTime());
  //将date,改成1970年1,月1号   
    date.setTime(0);
    System.out.println(date);

SimpleDateFormatKlasse

Sie können die DateFormat-Klasse verwenden, aber es ist eine abstrakte Klasse, daher müssen wir den Konstruktor ihrer Unterklasse SimpleDateFormat verwenden

SimpleDateFormat(String-Muster) Erstellt ein SimpleDateFormat unter Verwendung des angegebenen Musters. Das Standard-Datumsformatsymbol ist das Standard-FORMAT-Gebietsschema.

Das Parametermuster ist das Muster

Buchstabenmodus: y steht für die Oberfläche, M steht für den Monat, d steht für den Tag, H steht für die Stunde, m steht für Minuten, s steht für Sekunden, S steht für Millisekunden

Chinesische Zeit: 11. März 2019 11:09:33 Sekunden 333 Millisekunden

Alphabetisches Codemuster: JJJJ Jahr MM Monat TT Tag HH Punkt mm Minute SS Sekunde SSS Millisekunde

Mitgliedsmethode :

Formatierung (Datum-> Text): Datum – Zeichenfolge

öffentliches endgültiges Zeichenfolgenformat (Datumsdatum)

Analyse (Text-> Datum): Zeichenfolge -- Datum

öffentliche Datumsanalyse (String-Quelle)

//根据系统时间创建Date对象
        Date date = new Date();
        System.out.println(date);

        //date不好看,格式化为中国式时间
     //SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH点mm分ss秒 SSS毫秒");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM-dd  HH:mm:ss");
        //将date格式化为String
        String time = sdf.format(date);
        System.out.println(time);

        //注意,我们一般人不会记忆毫秒值,能不能根据具体的时间(2019-03-11  11:16:02)解析成毫秒值
        //ParseException: Unparseable date: "2018年03-11  11:18:57",注意,模式必须与之前一致
        Date date1 = sdf.parse("2018年03-11  11:18:57");
        System.out.println(date1);
        System.out.println(date1.getTime());

KalenderKlasse

Kalender ist eine abstrakte Klasse. Aufgrund der Sprachempfindlichkeit wird die Calendar-Klasse beim Erstellen eines Objekts nicht direkt erstellt, sondern über eine statische Methode erstellt, die ein Unterklassenobjekt zurückgibt

Gemäß dem API-Dokument der Calendar-Klasse, allgemein Methoden sind:

public int get(int field): Gibt den Wert des angegebenen Kalenderfelds zurück.

public void set(int field, int value): Setzt das angegebene Kalenderfeld auf den angegebenen Wert.

public abstract void add(int field, int amount): Addiere oder subtrahiere die angegebene Zeitspanne zu einem bestimmten Kalenderfeld gemäß den Regeln des Kalenders.

public Date getTime(): Gibt ein Date-Objekt zurück, das diesen Kalenderzeitwert darstellt (den Millisekunden-Offset von der Epoche zur Gegenwart).

Die Calendar-Klasse stellt viele Mitgliedskonstanten bereit, die bestimmte Kalenderfelder darstellen:

JAHR

字段值

含义

YEAR

MONTH

月(从0开始,可以+1使用)

DAY_OF_MONTH

月中的天(几号)

HOUR

时(12小时制)

HOUR_OF_DAY

时(24小时制)

MINUTE

SECOND

DAY_OF_WEEK

周中的天(周几,周日为1,可以-1使用)

Feldwert

Bedeutung

Jahr
MONAT

Monat (beginnt bei 0, kann bis +1 verwendet werden)

DAY_OF_MONTH

Tag des Monats (Tag)

STUNDE Stunde (12-Stunden-Format)

HOUR_OF_DAY

Stunde (24-Stunden-Uhr)

MINUTE MIN
SEKUNDE

Sekunden
DAY_OF_WEEK

参数序号

参数名称

参数类型

参数含义

1

src

Object

源数组

2

srcPos

int

源数组索引起始位置

3

dest

Object

目标数组

4

destPos

int

目标数组索引起始位置

5

length

int

复制元素个数

Tag der Woche (day der Woche) , Sonntag ist 1, kann mit -1)
import java.util.Calendar;
public class CalendarUtil {
    public static void main(String[] args) {
        //get方法
        // 创建Calendar对象
        Calendar cal = Calendar.getInstance();
        // 设置年 
        int year = cal.get(Calendar.YEAR);
        // 设置月
        int month = cal.get(Calendar.MONTH) + 1;
        // 设置日
        int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
        //set方法
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR, 2020);
        //add方法
        cal.add(Calendar.DAY_OF_MONTH, 2); // 加2天
        cal.add(Calendar.YEAR, -3); // 减3年
        //getTime方法
        Date date = cal.getTime();
    }    
}
Systemklasse public static long currentTimeMillis(): Gibt die aktuelle Zeit in Millisekunden zurück. public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length): Kopieren Sie die im Array angegebenen Daten in ein anderes Array. currentTimeMillisMethode
import java.util.Date;

public class SystemDemo {
    public static void main(String[] args) {
           //获取当前时间毫秒值
        System.out.println(System.currentTimeMillis()); // 1516090531144
    }
}
arraycopyMethode Tabelle>
import java.util.Arrays;
public class Demo11SystemArrayCopy {
    public static void main(String[] args) {
        int[] src = new int[]{1,2,3,4,5};
        int[] dest = new int[]{6,7,8,9,10};
        System.arraycopy( src, 0, dest, 0, 3);
        /*代码运行后:两个数组中的元素发生了变化
         src数组元素[1,2,3,4,5]
         dest数组元素[1,2,3,9,10]
        */
    }
}

Random

构造方法:

Random() 创建一个新的随机数生成器。

成员方法 :

int nextInt() 从这个随机数生成器的序列返回下一个伪随机数,均匀分布的 int值。

int nextInt(int bound) ,均匀分布 返回值介于0(含)和指定值bound(不包括),从该随机数生成器的序列绘制

Random random = new Random();
        /*for (int i = 0; i < 10; i++) {
            System.out.println(random.nextInt());
        }*/
        /*for (int i = 0; i < 10; i++) {
            int j = random.nextInt(10);
            System.out.println(j);
        }*/
        //来一个随机值,这个数据的范围必须是1~100,33~66 54~78
        //random.nextInt(100);//0~99 +1 -> 1~100
        /*33~66 - 33 -> 0~33
        for (int i = 0; i < 10; i++) {
            System.out.println(random.nextInt(34) + 33);
        }*/
        //54~78 - 54 -> 0~24
        for (int i = 0; i < 10; i++) {
            System.out.println(random.nextInt(25) + 54);
        }

比较器Comparable8742468051c85b06f0a0af9e3e506b5c 和 Comparator8742468051c85b06f0a0af9e3e506b5c

java.lang Comparable8742468051c85b06f0a0af9e3e506b5c : 该接口对实现它的每个类的对象强加一个整体排序。 这个排序被称为类的自然排序 ,类的compareTo方法被称为其自然比较方法 。

java中规定 某个类只要实现了Comparable 接口之后,才能通过重写compareTo()具备比较的功能。

抽象方法:

int compareTo(T o) 将此对象(this)与 指定( o )的对象进行比较以进行排序。

this > o : 返回正数

this = o : 返回0

this < o : 返回负数

' this - o : 表示按照升序排序。 o - this : 表示按照降序排序。

' 小结 : 如果Java中的对象需要比较大小,那么对象所属的类要实现Comparable接口,然后重写compareTo(T o)实现比较的方式。

public class Student implements Comparable<Student>{
    ....
    @Override
    public int compareTo(Student o) {
        return this.age-o.age;//升序
    }
}

java.util Comparator8742468051c85b06f0a0af9e3e506b5c : 比较器接口。

抽象方法:

int compare( T o1, T o2 ) 比较其两个参数的大小顺序。

比较器接口的使用场景:

1. Arrays.sort() : static 8742468051c85b06f0a0af9e3e506b5c void sort( T[] a, Comparator c)

2. Collections 集合工具类 : void sort(List8742468051c85b06f0a0af9e3e506b5c list, Comparatora8093152e673feb7aba1828c43532094 c) 根据指定的比较器给集合中的元素进行排序。

3. TreeSet 集合 : 构造方法 TreeSet( Comparator c )

补充 : 在后面我还会介绍JDK1.8 的新特性(Lambda  函数式代码优化)  进行优化此类接口 

ArrayList<String> list = new ArrayList<String>();
        list.add("cba");
        list.add("aba");
        list.add("sba");
        list.add("nba");
        //排序方法  按照第一个单词的降序
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                int rs = o2.getCj() - o1.getCj();
                return rs==0 ? o1.getAge()-o2.getAge():rs;
//                return o2.charAt(0) - o1.charAt(0);
            }
        });
        System.out.println(list);

Comparable 和 Comparator 区别:

Comparable : 对实现了它的类进行整体排序。

Comparator : 对传递了此比较器接口的集合或数组中的元素进行指定方式的排序。

Parameternummer Parametername Parametertyp Parameterbedeutung
1 src Objekt Quellarray
2 srcPos int Startposition des Quellarray-Index
3 dest Object Destination Array
4 destPos int Startposition des Zielarray-Index
5 length int Anzahl der kopierten Elemente

Das obige ist der detaillierte Inhalt vonEinführung in allgemeine JavaSE-Klassen und -Methoden (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

In Verbindung stehende Artikel

Mehr sehen