Pages - Menu

2012-01-20

まめ知識

.GIF

本来の読み方は"ジフ"ではなく"ギフ"。
日本人のほとんどは"ジフ"と読んでいる。

(2013.07.18追記)
gif開発者であるスティーブ・ウィルハイト氏は、"ジフ"が正しい読み方であると説明した。
「gif」の読み方「ジフ」で確定

ぬるぽ

NullPointerExpcetionのこと。
"NullPointerExceptionを「ぬるぽ」と呼ぶスレ"が元ネタ。

2012-01-17

[Java] 例外処理

必ずしも値が入っているわけではない変数を扱う場合は、java.lang.NullPointerExceptionが返ってきたりする。
そんなときは例外処理を使うのが便利である。

例) SPARQLのOPTIONAL構文で Literal note に値が入っているか不明なとき

Literal note = (Literal) qs.get("note");
String note_s;
try{
      note_s = note.toString();
}catch(Exception e){
      note_s = "null";
}

[Eclipse] 実行パスの変更

参照したい外部ファイルが大量にある場合、実行パスを変更すると楽になる。

  1. クラス(またはパッケージ、プロジェクト)を右クリック > プロパティー
  2. 「実行/デバッグ設定」 > クラスを選択して「編集」
  3. 「引数」タブの作業ディレクトリーを「その他」にして指定

Javaメモ - Static修飾子

Static修飾子

Staticなものはすべてクローン、もとの変数を参照している。
Staticでないものは、すべて別々のオブジェクト。

Staticなものは、オブジェクトを生成しなくてもよい。
Staticでないものは、newを用いて定義する必要がある。

参考
Javaの道

2012-01-16

[Java] 文字列の桁埋め

/*
 * 文字列のバイト長を返すメソッド
 */
public static int getByteLength(String value) {
    int length = 0;
    for (int i = 0; i < value.length(); i++) {
        char c = value.charAt(i);
        if (c >= 0x20 && c <= 0x7E) {
            // JISローマ字(ASCII)
            length++;
        } else if (c >= 0xFF61 && c <= 0xFF9F) {
            // JISカナ(半角カナ)
            length++;
        } else {
            // その他(全角)
            length += 2;
        }
    }
    return length;
}

/*
 * 文字列の桁あわせを行うメソッド
 * @param string 文字列
 * @param int 長さ
 * @return 指定した長さの文字列
 */
public static String pad(String str, int len){
    int bytelen = getByteLength(str);
    for(int i=0; i<(len - bytelen);i++){
        str = str + " ";
    }
    return str;
}
※getByteLengthメソッドはKigoWiki様からお借りしました

StringFormatではダメなのか?

StringFormatでは、全角を含む変数の場合、等幅のコンソールでうまく表示されない。
そのため、半角/全角の判定をした上で空白を埋める必要がある。

参考
Kigo Wiki
Chat&Messenger

[Jena] ARQの問い合わせ、出力結果の整形

ARQエンジンを用いた問い合わせ

ソースは Jena 17章 検索実行エンジン(ARQ) を参照。

出力結果を整形する

Resource型やLiteral型はそのままでは編集できないため、次のメソッドを用いてString型へ変換する。

[Resouce] toString() 
[Literal] getString() toString()

ex)
String stringresource = testresource.toString();
参考
Jena
Interface Resource
Interface Literal

[Eclipse] プロジェクトをインポート

Eclipseでプロジェクトをインポートする方法
  1. ファイル > インポート を開く
  2. 「既存のプロジェクトをワークスペースへ」
  3. 「ルート・ディレクトリーの選択」でプロジェクトフォルダを選択