toUpperCase();
Uygulandığı String dizesinin tamamı büyük harflerden oluşan bir kopyasını döndürür.
toLowerCase();
Uygulandığı String dizesinin tamamı küçük harflerden oluşan bir kopyasını döndürür.
Her ikisi de metinler ile alakalı işlemler yaparken büyük-küçük harf duyarlılığını önlemek ya da başka amaçlar için sıklıkla kullanılan metotlardır.
Karakterlerin büyük küçük harf karşılıkları dil ayarlarına göre farklılık gösterebilir. Örneğin İngilizce’de küçük ‘i’ karakterinin büyük harf karşılığı büyük ‘I’ karakteri iken Türkçe’de bu karşılık büyük ‘İ’ karakteridir. Bu nedenle her iki metodun da yerelleştirme (Locale) parametresi ile istenilen dil ayarına göre işlem yapması mümkün kılınmıştır. Herhangi bir yerelleştirme verisi parametre olarak girilmez ise, varsayılan olarak sisteminizin dil ayarına uygun işlem yapacaktır. Varsayılan yerelleştirme verisi dize.toUpperCase() kullanımı ile dize.toUpperCase(Locale.getDefault()) kullanımı birbirine eşdeğerdir. Aynı durum toLowerCase metodu için de geçerlidir.
Java’da String nesneleri değişmez yapıdadır. Bu nedenle göz önünde bulundurulması gereken bir diğer konu, her iki metodun da mevcut dizeyi değiştirmeyip, tamamen yeni bir String nesnesi (dize) döndürüyor olmasıdır. İşlem yapılan dizeyi oluşturan karakterlere bakılır, eğer varsa yerelleştirme verisine göre, yoksa varsayılan ayarlara göre büyük/küçük karakter karşılıkları bulunur, bu karşılıklardan oluşan yeni bir String nesnesi oluşturulur ve döndürülür. İşlem yapılan dizenin karakterlerinde herhangi bir değişiklik yapılmaz.
import java.util.Locale;
public class CaseConversion{
public static void main(String[] args){
String dize = "Tam Weblik Java!";
String buyukHarfliDize = dize.toUpperCase();
String kucukHarfliDize= dize.toLowerCase();
System.out.println(dize);
// Çıktısı: Tam Weblik Java!
System.out.println(buyukHarfliDize);
// Çıktısı: TAM WEBLİK JAVA!
System.out.println(kucukHarfliDize);
// Çıktısı: tam weblik java!
// Yerelleştirme Örneği
String buyukHarfliDizeEng = dize.toUpperCase(Locale.ENGLISH);
System.out.println(buyukHarfliDizeEng);
// Çıktısı: TAM WEBLIK JAVA!
// 8 numaralı indeksteki küçük 'i' karakteri büyük 'I' karakterine dönüştürülür.
}
}
Belirlenen dize;
Belirlenen dizenin toUpperCase() ile alınan kopyası;
Belirlenen dizenin toLowerCase() ile alınan kopyası;
Belirlenen dizenin toUpperCase(Locale.ENGLISH) ile belirtilen yerelleştirme verisine göre alınan kopyası;
Bu işlemleri yaptığımızda belleğin heap alanında 4 tane birbirinden ayrı String nesnesi oluşur ve belirlenen dizede herhangi bir değişiklik yapılmaz.