No Programming, No Life

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

Java

マイナス記号

数値文字列が0より小さかった場合の処理を記述したくて 「先頭1文字目がマイナス記号(-)だったら〜」 というif文を作成するために以下のようにユニコードで マイナス記号を定義した。 private static final char MINUS_SIGN = '\u2212'; // ユニコードのマイ…

非推奨の指定

Javadocコメントで@deprecatedをつけると非推奨としてユーザに知らせることができるみたい。 これは結構便利かも。

メソッドのデフォルトパラメータ

言語でサポートされていないので、 Javaでメソッドのデフォルトパラメータを実現させるためには オーバーロードを駆使する必要があります。 例) class Fumo { void fumo() { fumo(false); // デフォルトではfalseを渡す。 } void fumo(boolean doFlg) { if …

nullでオーバーロードしてメソッドを呼び出す

Javaにはメソッドのオーバーロード機能があります。 そこでnullを欲しいクラス型にキャストして引数として渡して クラスの型で呼び出しメソッドを判断し、そのクラスのインスタンスをgetする ファクトリクラスなんかが作れるみたいです。 class NullOverload…

Exceptionのnew,throwとスタックトレース

よくわかってなかったんですが、 JavaではExceptionオブジェクトをnewしたところが スタックトレースに表示されるみたいですね。たとえば、ExFactoryというクラスがあり、 hogehogeException という例外をnewして返却するメソッドthrowEx()を持っているとし…

Javaのfor文

Javaのfor文の初期化部でひっかかったところをとりあえず書いておきます。カンマで区切って複数宣言ってダメなんですね? あれ?もしかしてすんごい基本的なこと?? public static void main(String[] args) { /* これはOK */ for (int i = 0, j = 10; i < …