Java 7での変更
以前のバージョンのjavaをずっと使用していた場合、機能を追加するたびにその有用性と利便性を体験していましたが、これまで開発中に使用されていたバージョンの大部分は6か7なので、このようなことはなかったようです.
この意味でjava 7で新しく追加または変更された内容について議論します.
JAva 7での変更
補足数値表示方法以前のバージョンでは、0を前にすると8進法と認識され、0 xを前にすると16進法と認識された.Java 7からは、接頭辞のない数字が10進数で、0 bを前に置くとバイナリ数字と認識できます. を使って数字の単位を切り捨てて表すことができます.読みやすさがよくなりました. switch文でStringを使用する java 6まではswitch-caseでは整数型しか使用できません.7からStringも使えます. Diamonが使いやすい以前にJENERICを使用する場合は、<>にタイプを入力する必要があります.7からそうする必要はありません.変数宣言部がタイプを指定しているからです. 例外は補われた.(1)
以前は例外処理のためにtry-catch文を用いた.この部分ではcatchで捉えたコードの可読性が低下した.
これまでは、通常、起こり得る状況に応じてcatchブロックを作成して処理し、最後にExceptionクラスcatchを使用していた.
ただし、java 7から次の処理を開始できます.
try-with-resource(リソースとともに処理されるtry文).
次の例です. tryの括弧内で、異常が発生する可能性のあるオブジェクトがclose()を使用して閉じる必要がある場合、自動解凍性を実現するオブジェクトはfinally文で単独で処理する必要がないことがわかります.(以下、AutoCloseableについて引き続き説明します.) AutoCloseable
JAva 5が追加を開始したjava.io.Closeableインタフェースを実装するクラスは、close()メソッドを使用して明示的に閉じる必要があります.
Java 7に追加されたAutoCloseableインタフェースを継承するクラスは、前述したtry-with-resource構文を使用します.
AutoCloseableを継承するクラスは次のとおりです.△ほかにもたくさんあります. java.nio.channels.FileLock java.beans.XMLEncoder java.beans.XMLDecoder java.io.ObjectInput java.io.ObjectOutput java.util.Scanner java.sql.Connection java.sql.ResultSet java.sql.Statement 出典:ジャワの神(李尚敏著)
この意味でjava 7で新しく追加または変更された内容について議論します.
JAva 7での変更
補足数値表示方法
以前は例外処理のためにtry-catch文を用いた.この部分ではcatchで捉えたコードの可読性が低下した.
public void scanFile(String fileName, String encoding){
Scanner scanner = null;
try{
scanner = new Scanner(new File(fileName), encoding);
System.out.println(scanner.nextLine());
}catch(IllegalAccessException iae){
iae.printStackTrace();
}catch(FileNotFoundException ffe){
ffe.printStackTrace();
}catch(NullPointerException npe){
npe.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
if(scanner != null){
scanner.close();
}
}
}
上記の例では、ファイル名が韓国語の場合、タイプ名を付ける必要があります.エンコーディングタイプが存在しない場合はIllegalArgumentExceptionが発生し、ファイルが存在しない場合はFileNotFoundExceptionが発生します.ファイル名またはエンコーディングタイプがNullPointerExceptionの場合があります.これまでは、通常、起こり得る状況に応じてcatchブロックを作成して処理し、最後にExceptionクラスcatchを使用していた.
ただし、java 7から次の処理を開始できます.
public void newScanFile(String fileName, String encoding){
Scanner scanner = null;
try{
scanner = new Scanner(new File(fileName), encoding);
System.out.println(scanner.nextLine());
}catch(IllegalArgumentException | FileNotFoundException | NullPointerException exception){
exception.printStackTrace();
}finally{
if(scanner != null){
scanner.close();
}
}
}
例外は補われた.(2)try-with-resource(リソースとともに処理されるtry文).
次の例です.
public void newScanFileTryWithResource(String fileName, String encoding){
try(Scanner scanner = new Scanner(new File(fileName), encoding)){
System.out.println(scanner.nextLine());
}catch(IllegalArgumentException | FileNotFoundException | NullPointerException exception){
exception.printStackTrace();
}
}
この言葉の特徴は以下の通りです.JAva 5が追加を開始したjava.io.Closeableインタフェースを実装するクラスは、close()メソッドを使用して明示的に閉じる必要があります.
Java 7に追加されたAutoCloseableインタフェースを継承するクラスは、前述したtry-with-resource構文を使用します.
AutoCloseableを継承するクラスは次のとおりです.△ほかにもたくさんあります.
Reference
この問題について(Java 7での変更), 我々は、より多くの情報をここで見つけました https://velog.io/@dev_isaac/java7에서-변경된-것들テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol