"Üçlü ifade" x ? y : z
yalnızca koşullu atama için kullanılabilir . Yani, şöyle bir şey yapabilirsiniz:
String mood = inProfit() ? "happy" : "sad";
çünkü üçlü ifade ( String
bu örnekteki türde ) bir şey döndürüyor .
Gerçekten kısa, sıralı olarak kullanılması amaçlanmamıştır if-else
. Özellikle, tek tek parçalar bir değer döndürmezse veya uyumsuz türlerin değerlerini döndürmezse kullanamazsınız. (Her iki yöntem aynı değeri döndürmek için gerçekleştiği takdirde bu yapabileceğini, ancak otelin olmamalı yan etki amacıyla bunda çağırmak için).
Dolayısıyla, bunu yapmanın doğru yolu bir if-else bloğu kullanmaktır:
if (jXPanel6.isVisible()) {
jXPanel6.setVisible(true);
}
else {
jXPanel6.setVisible(false);
}
hangisi tabii ki kısaltılabilir
jXPanel6.setVisible(jXPanel6.isVisible());
Bu son ifadelerin her ikisi de benim için daha okunaklı, çünkü ne yapmaya çalıştığını daha net bir şekilde anlatıyorlar. (Ve bu arada, koşullarınızı yanlış mı anladınız? Görünüşe göre bu bir geçişten ziyade işlemsiz bir durumdur).
Karıştırmayın düşük karakter sayısı ile okunabilirliği . Kilit nokta, en kolay anlaşılan şeydir; ve dil özelliklerini hafifçe kötüye kullanmak okuyucuların kafasını karıştırmanın veya en azından zihinsel olarak çifte çekim yapmalarını sağlamanın kesin bir yoludur.