guavaの部分はAPIを使います

50569 ワード

1.Proconditionsを予め判断する
通常私たちはパラメータをチェックします.次の方法を使います.
        public void setRating(Double rating){

                if(rating == null){

                        throw new NullPointerException();

                }

                Double r = rating;

        }
guavaのクラスライブラリを使えば、コードをより簡潔にすることができます.
        public void setRating(Double rating){

                Double r = checkNotNull(rating);

        }
ただし、静的引用を追加してください.Eclipseでの設定は、参照できます.
checkNotNullに加えて、Preconditionsは、chekAgment、checkState、checkElement Index、checkPositionIndexなどの他の方法を提供しています.
2.Object.toStringHelper()
 この方法は主にObject.toString()をより簡単に実現するための方法である.
        public String toString() {

                return Objects.toStringHelper(this).add("name", name)

                                                                                        .add("id", userId)

                                                                                        .add("pet",petName)

                                                                                        //.omitNullValues()

                                                                                        .toString();

        }
omitNull Values()は、ある属性が空の値がある時は、出力しないのがおなじみです.出力内容は以下の通りです.
TestGuava{name=qiyadeng, id=12}
3.Stopwatch(タイマー)
私達はよくある文の実行にどれぐらいの時間が必要かを判断します.過去によく使われていたやり方は運行前の時間を記録してから、運行完了の時間から運行前の時間を差し引いて、読み取り可能な秒またはミリ秒の時間に変換します.
                Stopwatch stopwatch = new Stopwatch().start();

                //do something test

                for (int i = 0; i < 10000; i++) {

                }

                long nanos = stopwatch.elapsed(TimeUnit.NANOSECONDS);

                System.out.println(nanos);
4.CharMatch
文字マッチングの方法は特に多く、例を挙げてユーザーの出力をフィルタリングします.
                String userInput = "nihao1234-1";

                CharMatcher ID_MATCHER = CharMatcher.DIGIT.or(CharMatcher.is('-'));

                System.out.println(ID_MATCHER.retainFrom(userInput));
入力した文字の種類を除いて1234-1だけ出力できます.より多くの使用方法はCharMatchを参照することができる.
5.String Joining文字列接続
文字列をすばやく接続することができます.この文字列にnullの値があれば、skyipNullsまたはuseForNullを使って、私たちの出力内容をコントロールできます.
                //Joiner JOINER= Joiner.on(",").skipNulls();

                Joiner JOINER= Joiner.on(",").useForNull("null");

                String str = JOINER.join("hello","world",null,"qiyadeng");

                //hello,world,null,qiyadeng
6.String Spliting文字列分割
文字列「hello」「qyadeng」「com」のセットがありますが、「split」で文字列を分割した結果、「hello」「」「qiyaeng」「com」となりました.
                Iterable<String> splitStr = Splitter.on(',').trimResults().omitEmptyStrings().split("hello,qiyadeng,com");

                for (String string : splitStr) {

                        System.out.println(string);

                }