nullチェックの場合はすべて実行するのに本当にうんざりしています。また、このためのより構成可能なシナリオが必要です。これを例で説明しましょう:
私はgetter()
戻るかもしれないnull
か'0'
、どちらの場合もそれぞれを持っています。setter()
を渡すと呼ばれるべきではありませんgetter()
。
したがって、実装は
if(getter() != null && !getter().equals('0')) setter(getter());
ただし、これは本当に私を苛立たせます。特に、getter()
メソッドsetter()
呼び出しが非常に長く、このためのヘルパー変数を導入する必要がある場合はなおさらです。
パラメータ付きのメソッドを考えています
ifNotSet(getter(), setter(), new Object[null, '0']);
これはまったく同じことをします。ifNotSetのパラメータはどこにありますか
- getter-条件の1つと等しくないかどうかをチェックするメソッド
- setter-条件が適用されない
setter(getter)
場合に途中で呼び出すメソッド - 条件
getter()
-実行するメソッドの評価に適用してはならない条件
一見、これは複雑ではないように見えますが、複雑です。この問題の解決策や何らかの実装を知っている人はいますか?
ありがとう!
アップデート
皆さんのフィードバックの後、私はこの問題にもう少し取り組んでおり、次のことを知りました
private boolean ns(Object[] condition, Object getter) {
boolean ret = false;
for (Object object : condition) {
if(getter) equals or == ??
}
return true;
}
Object[] cond = new Object[] { null, "0" };
Object a;
if (ns(cond, a = getter()))setter(a);
割り当てがたくさんある場合、これは少なくとも解決策のようです。しかし、方法を見てみるとns()
...入ってくる条件の問題は、使用する==
かequals
比較するかです!?