"Biểu thức bậc ba" x ? y : z
chỉ có thể được sử dụng để gán có điều kiện . Đó là, bạn có thể làm điều gì đó như:
String mood = inProfit() ? "happy" : "sad";
bởi vì biểu thức bậc ba đang trả về một cái gì đó (loại String
trong ví dụ này).
Nó không thực sự được sử dụng như một đoạn ngắn, nội dòng if-else
. Đặc biệt, bạn không thể sử dụng nó nếu các phần riêng lẻ không trả về giá trị hoặc trả về giá trị của các kiểu không tương thích. (Vì vậy, trong khi bạn có thể làm điều này nếu cả hai phương thức đều trả về cùng một giá trị, bạn không nên gọi nó chỉ cho các mục đích tác dụng phụ).
Vì vậy, cách thích hợp để làm điều này sẽ chỉ là với một khối if-else:
if (jXPanel6.isVisible()) {
jXPanel6.setVisible(true);
}
else {
jXPanel6.setVisible(false);
}
tất nhiên có thể được rút ngắn thành
jXPanel6.setVisible(jXPanel6.isVisible());
Đối với tôi, cả hai biểu thức sau đều dễ đọc hơn ở chỗ chúng truyền đạt rõ ràng hơn những gì bạn đang cố gắng làm. (Và nhân tiện, bạn đã hiểu sai điều kiện của mình chưa? Có vẻ như đây là một lựa chọn không sử dụng, thay vì bật tắt).
Đừng trộn lẫn số lượng ký tự thấp với khả năng đọc . Điểm mấu chốt là những gì dễ hiểu nhất; và việc lạm dụng nhẹ các đặc điểm ngôn ngữ là một cách rõ ràng để gây nhầm lẫn cho người đọc, hoặc ít nhất là khiến họ phải suy nghĩ kỹ.