commons-lang3.1のAPIから気になるものだけ抜き出したので、他に記載してないものもあります。 サンプルコードはAPIのコピペです。 文字列に関するよく使うロジックがまとまっているクラスです。 文字列をnullで比較するとぬるぽで落ちてしまうのですが、このクラスのものを使うとぬるぽで落ちなくなります。 if(hoge != null)という冗長なコードがなくなってスッキリします。 まとめていると同じようなものがあったので使い分けはどうするのか不明です。 若干処理内容が異なるかもしれませんのでその点は注意して下さい。 バージョンcommns-lang 3.1 目次 判定 isEmpty:nullまたは空文字のときtrueを返す isNotEmpty:nullまたは空文字ではないときtrueを返す isBlank:空文字ならtrueを返す isNotBlank:空文字ではないならt
GsonのGはガンダムの「G」です(違 JavaでJSONを扱うときにいつもお世話になっております。 github.com で、タイトル通り、ハマったのでメモ。 変換対象のクラス こんな感じで共通部以外をジェネリクスでやっちゃうぜ的なイメージ。 class Hoge<T> { String name; int id; T value; @Override public String toString() { return "Hoge{" + "name='" + name + '\'' + ", id=" + id + ", value=" + value + '}'; } } class Fuga { String name; int id; public Fuga(String name, int id) { this.name = name; this.id = id; } @Ove
環境 Mac OS X Yosemite IntelliJ IDEA 15 ( Keymaps Mac OS X 1.5+ ) ショートカット command + j : 登録してあるLive Templatesの一覧を開く(選択で展開) option + command + j : ↑と同様。+選択箇所を囲ってくれる Preferencesから既存のLive Templatesを確認 command + ,でPreferencesを開く Editor -> Live Templates psvmとかsoutなど設定があるかと思います。その他いろいろ見てみるのも良いかも! よく使うログの構文をTemplateとして登録して使う 右の+を押下で追加 keyと説明とTemplateを記載 // package名から書くと自動でimportしてくれるみたい private static org.
Overview 最近 Android アプリを作成してまして、そうなると必然的に API から JSON を受け取ることも多々あるわけです。 手作りのクラスもいいですが、私はめんどくさがりなので、サンプルの JSON があったら そこから自動でクラスを生成してくれる、そんな方法を探してみました。 また、ブラウザに貼り付けて生成するようなやり方ではなく、全てローカル内で完結します。 Windows でやろうとすると面倒かもしれないです・・・。 私の環境は debian8 です。 各OSで適宜読み替えてください。 Class を生成したい sample.json を手に入れる 今回使用するサンプルは以下にしました。 http://json.org/example.html cat sample.json code だと空白が無視されて見づらいので、JSON は画像にしてあります。 見やすいよ
この記事で紹介すること この記事は次の2つのトピックについて記載しています。 Javaの形態素解析ライブラリKuromojiの使用方法 Kuromojiへのユーザ辞書の追加方法 Kuromojiはatilika社が開発し、Apache Software Foundationへ寄贈されているJava製の形態素解析ライブラリです。ライセンスは「Apache v2 License」となっています。形態素解析に必要な辞書をjarの中に格納しているため、ワンパッケージで形態素解析を行うことができます。また、用意されている辞書は以下のようなものがあります。 IPADIC (2.7.0-20070801) IPADIC NEologd (2.7.0-20070801-neologd-20151224) JUMANDIC (7.0-20130310) NAIST jdic (0.6.3b-20111013
ReactiveExtenstionの根本的な概念としてObservableとOperatorがあります。前回はRxJavaをより深く理解するためにObservableの生成メソッドをまとめてみました。 今回は前回に続いて、Observableから流れてきた値をフィルタするFiltering Operatorの使い方をサンプルを作りながら確認してみます。 Filtering Operator一覧 Debounce Distinct DistinctUntilChanged ElementAt ElementAtOrDefault Filter ofType First IgnoreElements Last Sample throttleLast throttleFirst Skip SkipLast Take TakeLast TakeLastBuffer Filtering Opera
I'm trying to get the exact JSON that is being sent in the request. Here is my code: OkHttpClient client = new OkHttpClient(); client.interceptors().add(new Interceptor(){ @Override public com.squareup.okhttp.Response intercept(Chain chain) throws IOException { Request request = chain.request(); Log.e(String.format("\nrequest:\n%s\nheaders:\n%s", request.body().toString(), request.headers())); com
技術研究所の (あ) です。 HTTP でコネクションを張って双方向通信を行う WebSocket というのがありますよね。 技術研究所の作った、ブラウザで動いているとあるデモアプリがサーバとの通信に WebSocket を使っているのですが、そのデモの動きを改良したくなりました。 私はちょこちょことプロトタイピングするのによく Java を使うので、例によって Java アプリとして作ってみました。 そんなわけで、初めての WebSocket クライアント作成 (Java で) の簡単な記録です。 環境は、Windows 7 + Java 1.8.0_25 です。 まずは「きっと Java用の WebSocket ライブラリってあるよね」ということで検索してみます。 お、出てくる出てくる…と思ったら多くは 「Java で WebSocket を使ったサーバアプリを実装する」という話でした
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Javaにはたくさんのフレームワークやライブラリがあります。 新規のプロジェクトでは何を採用するか検討する必要がありますが、最近Javaを始めた人や長い間レガシーなシステムをやっていて新しい技術に触れる機会がなかった人にとっては、たくさんの候補の中から選択していくのは大変なのではないでしょうか。 そこで、大部分のプロジェクトで無難に対応できるような鉄板ともいえる構成をまとめてみました。 想定システム 業務系システムと呼ばれるもの。金融系、人事系など、比較的お堅い感じのシステム メンバーが複数人で中規模以上のプロジェクト Web
各種ドキュメント等を見ていたらWeakReferenceクラスなるものを見つけた。 http://developer.android.com/reference/java/lang/ref/WeakReference.html これを読んでも英語力のせいか何を言っているのかよくわからなかったけど、メモリ消費の話に繋がることはわかったので、Androidアプリには重要なはずや!と思ってもっと調べて見ることにした。 ちなみに現時点での総Java歴1年そこそこの僕のJavaの「参照」の認識としては"GC絡みで出てくる話で、そのオブジェクトが別のどのオブジェクトからも参照されなくなったらGCの対象になる" といった程度。 信頼と実績のSOを経てたどり着いたのはこちら。 Understanding Weak References するとJavaの「参照」は4種類もあるらしい。。。知らんかった。こうい
はじめに 皆さんはAPTって言葉聞いたことありませんか? Dagger2、Android Annotations、Lombokとかああいったものを使う時に 一緒に使われるシーンがあるようです。 APTって何気なく使っている方が多くて、なんとなくひっかかりました。 APTそのものをちゃんと説明している人は少ないなーって。 APTってAnnotation Processing Toolを略したものなんですが、 この用語を使ってるのってどうやら日本人だけっぽいです。 もう少し具体的に言うと、英語圏では使われていない。 試しに、Googleで「APT Java」で検索してみましょう。出てくるのは日本人の記事ばかりです。 検索するLocaleを英語だけにするとAPT Javaでは何も出てこない。 というか、今その言葉を使っている人はいないようです。 「Annotation Processing Ja
以前の記事でトラブルが起きた後の初動対応を書いてみたが、いざトラブルに遭遇すると、まず再起動してからどうするか考えるケースが多いと感じている。しかし何も情報がないと『情報がない/再現方法が不明』などの理由からそのままお蔵入りになってしまう。今回はトラブルに事前に備えるために、地味だけど大切なJavaVMのオプションをまとめてみる。 GCログの出力とローテーション OutOfMemoryError発生時のヒープダンプ自動出力と出力パス設定 JavaVMクラッシュログの出力パス設定 JVMオプションの設定 (OpenJDK/OracleJDK) JavaVMにはGCおよびヒープメモリの状態をロギングする仕組みや、OufOfMemoryError時にヒープダンプを自動的に出力するような障害に備えて自動的に情報を出力する機能がある。おすすめのオプション*1は以下の通り。 java -Xms?g -
ご利用の前に システム要件を満たしていない環境は、サポート対象外です。 後述するサンプルコード内の行頭について、「#」が付いたコマンドはrootユーザでの実行、「$」がついたコマンドは、一般ユーザでの実行を示します。 Java環境のダウンロードとインストール まず、システム要件を満たすJavaをダウンロードし、インストールしてください。 astah*で使用するJava実行環境を、個別に設定することも可能です。→設定方法を見る ダウンロード 次のコマンドで、お使いのLinuxアーキテクチャ(32bit, 64bit)を確認し、Javaのダウンロードページから、適切なバージョンをダウンロードしてください。 $ file /sbin/init astahで使用するJava実行環境を個別に設定する場合はこちらを参照してください。 インストール 任意のディレクトリで解凍します。(jdk以降のファイル
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く