2014-01-01から1年間の記事一覧

うんコード

1目見て読む気失せますな・・・ ROBA on Twitter: "世界一IQの低いソースコードはこれ。吉井博史著「基礎から学ぶAndroid SDK」。4ページ半にわたってこれが続いた。今まで怒りのあまり床に投げつけた技術書はこれだけだ。 http://t.co/y6GZ1go3kL"

過去の資産は負債か

javac コマンドの-source, -target オプションのルール変更について | 寺田 佳央 - Yoshio Terada 2、3年前にやってたプロジェクトはコンパイルオプションの指定も何もjdk1.4を使ってたから影響はないのかな(笑)

ストップウォッチ

/** * 時間計測用クラス */ public class StopWatch { static { // JITコンパイルでも走るのか、最初の1回目は遅いので適当に動かしておく StopWatch s = new StopWatch(2, TimeUnit.NANOSECONDS); s.start(); s.phase(""); s.split(""); s.stop(); s.phases…

変更の可/不可を切り替えられるコレクション

public class ConditionalModifiableCollection<T> implements Collection<T> { private class ConditionalModifiableIterator implements Iterator<T> { private Iterator<T> it = baseCollection.iterator(); @Override public boolean hasNext() { return it.hasNext(</t></t></t></t>…

後始末のできるThreadLocal

/** * GCでインスタンスが解放される前に任意の処理を行うためのThreadLocal。<br/> * 必要な解放処理は{@link Closeable#close()}に実装する。<br/> * 注意点:<br/> * <ul> * <li>このThreadLocal以外でインスタンスの強い参照を持っていても、スレッドがなくなると{@link Closeabl</li></ul></br/></br/></br/>…

java8でgrep

どこかのページでこんな課題を見かけたので作ってみる。 単純な文字列検索で可、 行番号も出力する、 forやwhile、ifなどの制御構文は使用不可という前提で。 String[] args = new String[] {"stream", "pair"}; Stream<Integer> count = Stream.iterate(1, i -> i + </integer>…

java8での日時書式化

java8で日時を書式化してみた。 // 一般的? print("LocalDateTime"); print(LocalDateTime.now()); // 2014-03-28T01:09:49.059 print(LocalDateTime.now().format(DateTimeFormatter.ofPattern("Gyyyy/MM/dd HH:mm:ss"))); // 西暦2014/03/28 01:09:49 // …