No Programming, No Life

プログラミング関連の話題や雑記

Java

JavaでIntStreamからStringのListを作る

当記事はJavaでIntStreamからStringのListを作る | Think Twiceへ移管しました。

Javaはつまらなくなったな

これは、Javaに限った話ではないが、最近の流れとして、プログラミング言語がどれもこれも似てきてしまっているように思う*1。 あまりに言語が似すぎてしまうと、何を選んでも大差ない、選ぶ基準は動かせるプラットフォームとか、動作速度とか、そういった部…

Groovyによるうるう年チェック

当メモは [お題] うるう年チェック | Think Twice へ移管しました。

Javaで型トークンを利用したファクトリクラスを書いてみた

はじめに Javaでインスタンスを生成するクラス、いわゆるファクトリクラスを書く場合、色々な書き方があると思いますが、特定のクラスのインスタンスのみしか作れないとわりと不便なので、今回は、型トークン(クラスクラスと呼ばれるやつですね: Class<T> で</t>…

javaとかScalaで全角を半角に変換する方法をGroovyでもやってみた

はじめに javaとかScalaで全角を半角に変換する方法 - ブログなんだよもんをGroovyでもやってみた。 元記事でも触れられておりますが、確かにこういう処理は再発明はしたくない。 ソース Groovyの場合、Grape(@Grabアノテーション)でMavenリポジトリなどから…

Javaでenumを使ってプロパティファイルのキーを定義する

はじめに enumでインタフェースが実装できることが分かったので、その応用例の一つとして、Javaでenumを使ってプロパティファイルのキーを定義するサンプルを書いてみました。 プロパティファイル読み込みは何が問題か Javaでの外部プロパティファイルの機構…

Javaのenumは継承できないけどインタフェースが継承できる

当記事は、Javaのenumは継承できないけどインタフェースが継承できる | Think Twiceに移管しました。

JavaでPropertyDescriptorを使ってBeanのプロパティに簡単にアクセスする

はじめに Java標準のSDKに java.beans パッケージがありますが、この中にJavaBeansの getter/setter を便利に扱える PropertyDescriptor というクラスがあるようです。 クラス階層 java.beansClass PropertyDescriptorjava.lang.Object └java.beans.FeatureD…

JavaEEでリクエストのHTTPヘッダに値を付加する

タイトルの通りなんですが、いまやってるプロジェクトでJavaEEでリクエストのHTTPヘッダに値を付加して持ち回る必要が出てきていまして、その方法を模索中です。とりあえず色々ググってたどり着いた案は、今のところ以下のような感じ。 サーブレットだと、#s…

Mac OSXにOpenJDK7をインストールしてGroovyを実行する

こちらの@yusukeyさんの記事を参考にMac OSXにOpenJDK7をインストールしてGroovyを実行するところまで試してみたのでメモしておきます。 1.まずはOpenJDK7をダウンロード Mac OSX用のバイナリが以下から手に入るのでダウンロードしてきます。 http://code.go…

現場で使えるGroovy(その3)「JavaにREPLが無いならgroovysh, groovyConsoleを使えばいいじゃない」

このシリーズの一覧はこちら はじめに ご存知の通り、JavaにはREPLがありません。しかし残念がることはありません、そう、あなたにはGroovyが付いています。 Groovyがこれらの特性とJavaとの親和性を高いレベルで同時に実現していることです。 (中略) ・Ja…

5分で理解するProject Coin

はじめに そろそろJDK7が登場する時が近づいてきたのでJavaプログラマならProject Coinを先取りして予習しておくべき時期になってました。Project CoinというのはThe Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR#…

Java使いをGroovyに引き込むサンプル集

はじめに Java使いをScalaに引き込むサンプル集 | mwSoft のGroovy版を書いてみました。 記事中に登場するサンプルコードや文章など多くの部分を引用させていただいております。 (動作確認: Groovy Version: 1.7.7 JVM: 1.6.0_22) 前書き Groovyという言語を…

JavaからGroovyへ移行する簡単なステップ

この記事は From Java to Groovy in a few easy steps | Groovy Zone の和訳です。思いっきり意訳です、あしからず。GroovyとJavaは、いとこみたいに近い存在で、構文がとても似ているからJava開発者にとってGroovyを覚えることはとても簡単です。Javaプログ…

Javaでビープ音を鳴らせ!

半分くらいネタです。ひょんなことからJavaのコード内でビープ音を鳴らすメソッドを発見したのでメモしておこうかなと。 ソースコードはこんな感じ 10.times { java.awt.Toolkit.getDefaultToolkit().beep() System.sleep(100) } 上のサンプルはGroovyですが…

Groovyでjava.text.Collatorを試してみた

はじめに こちらにて、java.text.Collatorの使い方が示されていた。 知らなかったんですが、このCollatorというクラスはソートで使うらしく、通常のソートではUnicode順になってしまうところを良きに計らってくれるようです。 ソース (動作確認: Groovy Vers…

BigInteger, BigDecimalって全角OKなんだね

タイトルの通りです。 BigIntegerやBigDecimalは文字列からインスタンスを生成できますが、その際、全角も許されるみたいです。 地味にすごい! new BigInteger("123").intValue() // => 123 new BigDecimal("123.45").doubleValue() // => 123.45d

JLabelなどででHTMLを使いたい時のTIps

SwingのJLabelなどでHTMLを使いたい時は先頭と末尾に空白が入っているとだめらしい。 new JLabel(" <html> .... </html> "); // ←これNG new JLabel("<html> .... </html>"); // ←これOK たったこんな事で1時間程度はまった…やはりGUIはいろいろと勝手が違うね。

HatenaHaiku4J v1.2.1リリース

HatenaHaiku4J v1.2.1をリリースしました。こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.2.1 2010-05-09 ・HatenaHaikuAPIHTMLでmp3リンクの対応。(embedタグが閉じられていない) MP3タグの部分の対応です。(bug fix)よろしくお願…

HatenaHaiku4J v1.2.0リリース

HatenaHaiku4J v1.2.0をリリースしました。こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.2.0 2010-05-07 ・HatenaHaikuAPIHTML(HTMLスクレイピング版)を追加した。 前回からだいぶリリース間隔が開いてしまいましたが、やっとリリ…

HatenaHaiku4J v1.1.4リリース

HatenaHaiku4J v1.1.4をリリースしました。こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.1.4 2009-11-18 ・StringUtil#encodeで「+」「.」「-」「*」「_」もURLエンコードするよう修正。 これのバグフィックスです。 よろしくお願…

HatenaHaiku4J v1.1.2, v1.1.3リリース

HatenaHaiku4J v1.1.2とv1.1.3をリリースしました。こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.1.3 2009-11-07 ・半角スペースが"+"に変換されてしまっていた問題を修正。 HatenaHaiku4J v1.1.2 2009-11-01 ・HatenaHaikuAPILig…

HatenaHaiku4J v1.1.1リリース

HatenaHaiku4J v1.1.1をリリースしました。こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.1.1 2009-10-24 ・Config#getVersion()追加により、バージョン情報を取得できるようにした。 ・KeywordAPI, UserAPIをRecudeOpに対応させた…

HatenaHaiku4J v1.1.0リリース

HatenaHaiku4J v1.1.0をリリースしました。こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.1.0 2009-10-21 ・id:v593kdrg氏による集約操作のインタフェースを追加。 ・Status, Keyword, UserにComparableを実装させた。 Sample005.j…

UUID

Java1.5からjava.util.UUIDというクラスが追加になったようで、このクラスを利用することで、簡単・お手軽にユニークなIDが取得できるようです。とかすると 0e8f5405-4035-41ff-8ca0-571a6b441bc6 みたいな文字列が取得できるようです。 便利便利! 参照 汎…

HatenaHaiku4J v1.0.3リリース

HatenaHaiku4J v1.0.3をリリースしました。こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.0.3 2009-09-24 ・ユーザ名取得用のメソッドを追加。⇒HatenaUtil#getUserName(String userId) HatenaHaiku4J v1.0.2 2009-09-24 ・ソースの…

HatenaHaiku4J v1.0.1リリース

HatenaHaiku4J v1.0.1をリリースしました。 こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.0.1 2009-09-22 ・ユーティリティとしてHaikuURLを追加。⇒サンプル:Sample004.java ・ユーティリティHatenaUtilに#escapeHatenaNotation(S…

Re:Javaで文字列の最後に現れる指定した文字列を削除する

元記事はこちら >>私なら、正規表現を使ってさっくりやるなぁ。 private String remove(String str, String removeStr) { return str.replaceFirst(removeStr + "\$", ""); }

HatenaHaiku4J v1.0.0リリース

HatenaHaiku4J v1.0.0をリリースしました。 こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v1.0.0 2009-09-18 ・画像をfotolifeにアップロードしつつ投稿するAPI機能を実装。 ・画像をFileで指定、URLで指定、byte[]で指定する方式を…

HatenaHaiku4J v0.2.1リリース

HatenaHaiku4J v0.2.1をリリースしました。こちらからどうぞ。主な変更点(changelog.txtより抜粋) HatenaHaiku4J v0.2.1 2009-09-15 ・LoginUser#createはあまり意味がなかったため、普通のコンストラクタにした。