Czy nie podoba Ci się następujące dzieło?
if (methodName.equals("set" + this.name)
|| methodName.equals("get" + this.name)
|| (isBoolean() && methodName.equals("is" + this.name))) {
...
}
To jest bardziej czytelny niż sposób, w jaki został użyty operator potrójny i na pewno łatwiejsze do zrozumienia. Ma również tę zaletę, że może uniknąć niepotrzebnego wywołania metody do metody isBoolean
(ma albo 1, 2, albo 4 wywołania metod, podczas gdy twój zawsze ma 1 albo 3, zysk/strata wydajności jest prawdopodobnie zbyt mały, by to zauważyć).
Również tam podobne pytanie tutaj zatytułowany "Is this a reasonable use of the ternary operator?" Jeden użytkownik miał the following to say:
Operator trójargumentowy ma zwraca wartości.
IMO, nie powinien mutować stanu, a należy użyć wartości zwracanej.
W drugim przypadku użyj instrukcji if. Jeśli instrukcje mają służyć do wykonywania bloków kodu .
Należy pamiętać, że zawarte nawiasy wokół wypowiedzi zawierające „& &” dla czytelności. Nie są konieczne, ponieważ x && y
jest oceniane przed m || n
.
Niezależnie od tego, czy zdecydujesz się go użyć, zależy to od Ciebie, ale staram się go unikać na rzecz czytelności.
Czy znasz istniejące narzędzia mapowania Javabean? Jest ** dużo ** :) – BalusC
Nie mam nic szczególnie ważnego do wniesienia, ale nawet jako ktoś, kto kocha operatora trójskładnikowego, muszę zauważyć, że niektórzy ludzie mocno wierzą, że powinien on być używany bardzo rzadko. Ci ludzie prawdopodobnie kupiliby twoje użycie. –
@BalusC: Świetne przypuszczenie o mojej aktywności JavaBeans. Wdrażam to tylko dla hobby i użytku osobistego, czyszczenie składni wewnątrz fasoli przez właśnie 'super.property (newValue)' w każdym setera. ;-) ale jestem tego świadomy, dziękuję za wzmiankę. – Pindatjuh