Javaの文法などに付いて 文法三項演算子英語だと、Ternary operation 使いすぎると、コードが読みにくくなりますが、単純な処理など1行で済むので使った方がいいケースも有ります。 コードとかを読むと上級者は適度に使っています。 最初に条件文を書いて?の後に、trueの場合の返り値、コロンでfalseの場合の値を記述します。 条件文?trueの返り値:falseの返り値 例 文字列が空ならnullを返す if(value.isEmpty()){ return null; }else{ return value; } return value.isEmpty()? null:value; if(isOrMode()){ filter=initialFilter+" || "+filter; }else{ filter=initialFilter+" && "+filter; } は次のように書き換えれます。(少し長いので不向き) filter=isOrMode() ?(initialFilter+" || "+filter):(filter=initialFilter+" && "+filter); transientSerializeの直列化の対象から外すという意味です。メソッド呼び出し時に一時的に内部で使用している変数などに指定します。 変数の場合は気にしなくてもいいと思いますが、クラスとかだとシリアライズ時に問題が起きることもありますので、注意したいです。 transit int insideCounter; シングルトンシングルトンとは、クラスのインスタンスを1つに保つための方法です。インスタンスを1つに保つことでメモリ節約出きたり、インスタンスの生成にかかる時間を節約出来ます。 JavaでのSingletonは、enumを使った以下のようなのが定番になるでしょう。Google Collections Libraryのソースコード中でも見ました。 単純にprivateとかで、シングルトンすると、シリアライズとかで問題が起きるらしいですし。 private enum IsNotEmptyPredicate implements Predicate<String> { INSTANCE; public boolean apply(String o) { return !o.isEmpty(); } @Override public String toString() { return "IsNotEmpty"; } } 注意するべきクラスStringBufferとStringBuilderJDK1.5以降は基本的にはStringBuilderを使うべき。こちらの方が高速。 ただしStringBufferはスレッドセーフなので、複数のスレッドから書き込む可能性がある場合はStringBufferを使うべき スニペット全角スペースを含むホワイトスペースで文字を分割する line.replace("\u3000"," ").split("\\s+") |