0

次のようにします。

if (filter instanceof FileNameExtensionFilter) {
    fnef = (FileNameExtensionFilter) filter;
    String[] extensions = fnef.getExtensions();
    if (extensions.length > 1) {
        fnef = filter = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);
    }
}

ここで、はタイプfilterFileFilterオブジェクトとfnefインスタンス変数ですFileNameExtensionFilter

同じ行の複数の変数に値を割り当てるのは良いコーディング方法だと思いますか?または、例の6行目を次のように記述したほうがよいでしょうか。

fnef = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);
filter = fnef;

個人的には後者の方が好きですが、あなたの考えを聞きたいです。

4

2 に答える 2

3

これはかなり主観的な質問です。

これはもっと明確だと思います:

fnef = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);
filter = fnef;

しかし、経験豊富な開発者なら誰でもこれを理解するでしょう:

fnef = filter = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);
于 2012-07-18T21:37:04.253 に答える
0

FileNameExtensionFilterのような不変でないオブジェクトを使用するときの混乱を避けるために、私はむしろ別々の行を使用したいと思います。たとえば、次のように言うのは同じではありません。

MyObject var1 = new MyObject();
MyObject var2 = new MyObject();

よりも

MyObject var1, var2;
var1 = var2 = new MyObject();

前者の場合、変数は同じ値を持つ異なるオブジェクトですが、後者の場合、変数は同じ変数です。複数の変数の代入は危険なので、私はそれを悪い習慣だと考えています。それはまだ好みの問題です。

于 2012-07-18T22:10:24.423 に答える