Java

Oracle Java9をCentos7にインストール

Oracle Java9をCentos7にインストール

ダウンロードページ

コンソール上では以下の手順

後は、update-alternativesで設定することもありですね

正規表現

PHPの文字列にマッチする正規表現をJavaのPatternの正規表現で定義してみる

命題1 ダブルクオーテーションで始まり、ダブルクオーテーションで終わる
命題2 文字列内に「\”」が存在する可能性がある

これを目指しました。

一番簡単なのは

次にループ展開形式にすると、

しかし、このループ展開形式の正規表現だけだと、やっぱりダメなので、二つを強引に合わせて、

これだけでもかなり複雑な正規表現になりました。もっときれいに表現できるはずなのですが、もうこれ以上頭が回らないので、とりあえずこれで進める

RealmでListやMapを保持

Realm for Androidでの話です

Realmではオブジェクトを利用して、データの永続化が行うことが可能です。

しかし、オブジェクト内のフィールドとして、ListやMapを保持するためにはひと工夫が必要でした。

RealmListを利用するとListの形で保持することはできます。これにより一対多の関係を作ることができます

これはこれでいいのですが、単純にListみたいにしたい場合はエラーになります

今回どうしても、Listにしたかったので、JSON形式で保存することにしました

@IgnoreでListはデータ永続化の対象外にしました。そのうえで、代入する場合、ListをJSONに変換して、itemsに代入します。取り出すときにはitemのJSONをListに変換して取り出します。永続化自体はString itemsでJSON形式の文字列で行われています。実際には細かいところでNULLチェックなどが必要になりますね

このアイディアの応用でシンプルな形式ならMapなどもなんとか行けます。

もっといいアイディアがあるはずだと思いますが、まずはこれで実現できました。