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比較するかです!?