Java

byte[] を 16進文字列に変換

備忘録。[追記]バグあり public static CharSequence bytesToHexString(byte[] bytes) { StringBuilder sb = new StringBuilder(2 * bytes.length); for (byte b : bytes) { sb.append(Integer.toHexString(b & 0xff)); } return sb; } おしまい。

関数合成をいろんな言語で書いてみた。

友人に Java で関数合成するプログラムを作れって課題の相談をされて一緒に考えた。で、せっかくだから勉強も兼ねていろんな言語で書いてみた。Java 以外はほとんど書いたことのない言語。

JavaCC 始めてみました。

この記事は Java Advent Calendar 2011 の22日の記事です。 昨日は zinbe さんでjsoupとMicrosoft Translator APIを使ってJSRの日本語リストを作るでした。明日は yamadamn さんでencodeURLとencodeRedirectURLAdd Starです。

7/16-18が充実していた

16日は、大阪堂島で、関西 Java エンジニアの会の「関 Java カンファレンス」。Java 7 ローンチイベントの一環です。 17日は、早稲田大学で、日本 Android の会の「Android Bazaar and Conference 2011 Summer」。 18日は、初のアキバ探訪。

Pattern.matches(String) は頭から尻まで一致したときに true

Java の正規表現ではまったのでメモ。

外部クラスのインスタンスを得る

class Outer { class Inner { void foo() { Outer.this // ここポイント! } } } 参考:http://q.hatena.ne.jp/1122203296#a366785

リソースを得る

URL java.lang.Class.getClassLoader().getResorce(String) を使うと、Jar 化した場合でもうまくいく。 では、これはどのパスを起点に探すのか。それは、クラスパスから探す。実際にリソースを配置するときはこれに注意する。 見つからない時は null を返す。

CommandLineOptionParser なるものを作った。

ダウンロード kakkun61.jar 何これ コマンドライン引数の処理をするよ。

ブロードキャストアドレスを得る。

NetworkInterface.getNetworkInterfaces().nextElement().getInterfaceAddresses().get( 0 ).getBroadcast();