Merhabalar,
Java SE Development Kit (JDK) 7 duyurulalı 6 aydan fazla zaman oldu. JDK 6′nın sunulduğu 2006 yılından beri yeni bir sürüm çıkarmayan Java’nın üreticisi Sun Microsystems (artık Oracle firmasına bağlı tabi) doğal olarak yazılımcının beklentisini iyice yükseltti. Java 7 ile birlikte Java Virtual Machine’den yeni I/O API’sine; yeni swing component’lardan yazılımcının işini kolaylaştırmayı hedefleyen dil syntax’ındaki geliştirmelere kadar pek çok yenilik de biz programcılara tanıtıldı. Genelde kod yazma işini kolaylaştırmak ve JVM’i daha performanslı çalışır hale getirmek üzere hazırlanan bu geliştirmeler, kullanıcıların beklentisine sunuldu. Her ne kadar, bu yeni Java platformunu kullanalı çok uzun zaman olmasa da bu yazımda, kullandığım ya da kullanışlı olduğuna inandığım jdk 7 ile yeni gelen bazı özelliklere kısaca değineceğim.
String tipindeki değişkenlerin switch blokları içinde kullanımı
Bildiğiniz gibi Java 6 ve öncesine kadar String tipinde tanımlanmış bir değişkenin farklı değerlerini karşılaştırmak istediğimizde bunu if – else blokları içersinde “equals(String str)” methodu yardımıyla gerçekleştiriyorduk. Java 7 ile birlikte artık String tipindeki değişkenleri de Integer tipindekiler gibi Switch cümlecikleri içersinde karşılaştırabiliyoruz. Son derece gerekli olduğuna inandığım bu yeni geliştirmeyi basitçe şu şekilde örneklendirebiliriz:
Java 7′den önce
String mevsim="";
if(mevsim.equals("yaz")){
//sıcak
}
else if(mevsim.equals("sonbahar")){
//yağmurlu
}
else if(mevsim.equals("kıs")){
//soguk
}
else{
//ılık
}
}
Java 7′den sonra
switch(mevsim){
case "yaz"://sıcak
break;
case "sonbahar": //yagmur
break;
case "kıs" ://soguk
break;
default :
//ilkbahar
}
Try-Catch Bloklarında otomatik Kaynak Yönetimi
Pek çok Java’yla yazılım geliştiren developer’ların klasik yöntemidir bir kaynağı try-catch blokları içersinde açıp, düzenleyip sonrasında da finally blogu içinde kapatmak. JDK 7 ile birlikte bu uygulama da rafa kalkacak gibi görünüyor.
Java 7′den önce
InputStream istream = null;
File sampleTxtFile = new File("sample.txt");
try{
istream = new FileInputStream(sampleTxtFile);
/*read and process file
*
*
*/
}
catch(IOException e){
e.printStackTrace();
}
finally{
if(istream!=null){
istream.close();
}
}
Java 7′den sonra
InputStream istream = null;
File sampleTxtFile = new File("sample.txt");
try(istream = new FileInputStream(sampleTxtFile)){
/*read and process file
*
*
*/
}
catch(IOException e){
e.printStackTrace();
}
Java 7 ile gelen bir diger küçük yenilik de artık binary tipi sayıların yazılımı ve derlenebilmesi oldu. Daha önceleri Integer için sadece 16 (hexadecimal) ve 8 (octal) tabanlı değerler desteklenirken; Java 7 ile birlikte ’0b’ (veya ’0B’) prefix’ini kullanarak binary değerler elde edilebilir. Örnek olarak:
private int binaryValue=0b0010;
System.out.println(binaryValue); //Ekrana 2 olarak basılır.
Ayrıca double tipindeki sayısal sabitlerin underscore (‘_’) kullanılarak da düzenli bir formatta yazılması gelen küçük yenilikleredn biri. Örnek olarak:
public static final double piSayisi = 3.1415_92_6535_897_93;
private double kartNumarasi = 5412_2345_4342_0348;

