Was ich über Java 7 recherchiert habe

Überblick

Um das Java-Wissen zu aktualisieren, das bei "1.4" gestoppt wurde Ich lerne etwas über Java7,8,9. Dieses Mal werde ich nur beschreiben, was ich über die in "7" hinzugefügten Funktionen untersucht habe.

Was ich nachgeschlagen habe

Diamantbetreiber

Sie können jetzt Generika beim Erstellen einer Instanz weglassen.

List<Map<String, List<String>>> gyunyu = new ArrayList<>();

NIO2 Eine Dateisystem-bezogene API wurde hinzugefügt.

Datei lesen

try {
  Path path = Paths.get("gyunyu.txt");
  List<String> list = Files.readAllLines(path, Charset.forName("UTF-8"));

  for (String gyunyu : list) {
    System.out.println(gyunyu);
  }
} catch(IOException e) {
  e.printStackTrace();
}

Eine Datei schreiben

try {
  List<String> list = new ArrayList<>();
  list.add("Zitronenmilch");

  Path path = Paths.get("gyunyu.txt");
  Files.write(path, list, Charset.forName("UTF-8"), StandardOpenOption.APPEND);
} catch (IOException e) {
  e.printStackTrace();
}

try-with-resources Mit der Anweisung "try-with-resources" müssen Sie nicht mehr "close ()" schreiben, das beim Zugriff auf die Dateidatenbank beschrieben wurde. Durch das Verhindern von Speicherlecks durch das Vergessen des Schreibens ist es möglich geworden, ein wenig Zeit und Mühe zu sparen.

try(BufferedReader reader = new BufferedReader(new FileReader("gyunyu.txt"))) {
			String line = null;
			while ((line = reader.readLine()) != null) {
				System.out.println(line);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

Die Anweisung "try-with-resources" kann mit jeder Klasse verwendet werden, die die Schnittstelle "java.lang.AutoCloseable" oder "java.io.Closeable" implementiert.

Gyunyu.java


public class Gyunyu implements AutoCloseable {
  public void make() {
    System.out.println("Kaffee");
  }	
  @Override
  public void close() throws Exception {
    System.out.println("Milch!!!");
  }
}
try (Gyunyu gyunyu = new Gyunyu()) {
  gyunyu.make();
} catch (Exception e) {
  e.printStackTrace();
}

Clipboard02.png

close () wird ausgeführt, ohne es wie gyunyu.close () aufzurufen.

Mehrere Ausnahmen abfangen

Bis zu Java 6 schrieb ich wie folgt:

try {	
} catch (IllegalArgumentException e) {		
} catch (NullPointerException e) {
}

Ab Java7 kann es wie folgt zusammengefasst werden.

try {
} catch (IllegalArgumentException | NullPointerException e) {
}

Beurteilung des Strings mit switch-Anweisung

Sie können String jetzt in switch-Anweisungen verwenden. Nur "int" kann bis zu "1.4" verwendet werden, und "enum" kann auch zur Beurteilung von "5" verwendet werden. Ab "7" ist es jetzt möglich, auch mit String zu urteilen. Ich habe immer gedacht, dass es an String gemessen werden kann ...

String s = "coffee";
switch (s) {
  case "ichigo":
    System.out.println("ICHIGO GYUNYU !!!");
    break;
  case "coffee":
    System.out.println("COFFEE GYUNYU !!!");
    break;
}

Recommended Posts

Was ich über Java 8 recherchiert habe
Was ich über Java 6 recherchiert habe
Was ich über Java 9 recherchiert habe
Was ich über Java 7 recherchiert habe
Was ich über Java 5 recherchiert habe
Was ich über Java-Lernen recherchiert habe
Was ich über Kotlin gelernt habe
Was ich mit Java Gold gelernt habe
Was ich mit Java Silver gelernt habe
[Java] Informationen zu Java 12-Funktionen
Was ist java
[Java] Über Arrays
Etwas über Java
Wo ist mit Java?
Was ist Java <>?
[Java] -Schnittstelle
Was ist java
Was ich gelernt habe
Über die Java-Klasse
Informationen zu Java-Arrays
Über Java-Vererbung
Über Schnittstelle, Java-Schnittstelle
Was ich aus der Java-Geldberechnung gelernt habe
Über Java Var
Über Java Literal
Informationen zu Java-Befehlen
Woran ich dachte, als ich anfing, von Java nach Kotlin zu migrieren
Zusammenfassung dessen, was ich über Spring Boot gelernt habe
[Java] Was soll ich zum Schreiben von Dateien verwenden?
Was ich in Java gelernt habe (Teil 2) Was sind Variablen?
Was ich getan habe, als ich Java zu Kotlin konvertiert habe
Informationen zur Java-Protokollausgabe
Informationen zur Java-Funktionsschnittstelle
Über die Klassenteilung (Java)
Über [Java] [StreamAPI] allMatch ()
Ich habe zuerst Java touched berührt
Ich habe zuerst Java touched berührt
Informationen zur Bindung von Java-Methoden
Ich habe zuerst Java touched berührt
[Java] Über anonyme Klassen
Informationen zu Aufteilungsmethoden (Java)
Was ist Java-Kapselung?
Was ich gelernt habe ② ~ Mock ~
Informationen zur Java-Array-Liste
Über Java-Polymorphismus super ()
Was ich gelernt habe ~ ~ DJUnit ~
Informationen zur Vererbung (Java Silver)
Informationen zur Java String-Klasse
Informationen zu Java-Zugriffsmodifikatoren
Über Java-Lambda-Ausdrücke
Was ist Java-Technologie?
Ich habe zuerst Java berührt
Informationen zu Java-Einstiegspunkten
Java 10 Docker-Unterstützung
Persönliche Zusammenfassung über Java
Was ist Java API-Java?
[Java] Was ist flatMap?