<&!~&>宣言部でメソッドを定義することができます。
<%!
private String myMethod (String str) {
// some code
return "ok";
}
%>
参考サイトはこちら:
<&!~&>宣言部でメソッドを定義することができます。
<%!
private String myMethod (String str) {
// some code
return "ok";
}
%>
参考サイトはこちら:
ハマっちゃったException第二弾です。
実際はハマったワケではありませんが、
一応こんなExceptionがあると。
String blank = ""; int i = Integer.parseInt(blank);
これで余裕に下記のExceptionが出ます。
java.lang.NumberFormatException: For input string: ""
何も考えずにあるJavascriptの処理をJavaに書き換える作業で発生したんです。
JavascriptはブランクをparseIntするとNaN(Not a Number)になるが、
Javaは完全におちますね。。。
久々にJavaを書いたので、表題のExceptionにハマっちゃいました。
こんなコードでした。
String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array);
list.add("d");
ちょこっとググッてみたらasListで作ったListに
add()で要素を追加すると上記のExceptionになるそうです。
asListのJavadocでの記載は
指定された配列を基にする固定サイズのリストを返します。返されたリストへの変更は、そのまま配列に書き込まれます。(後は省略)
なるほど。。。
とりあえず深く考えずに下記のように書き換えて回避しました。
String[] array = {"a", "b", "c"};
List<String> list = new ArrayList<String>();
list.addAll(Arrays.asList(array));
list.add("d");
表題の通り、Mapをnewしたときに値を入れて
初期化するコード方法です。
Map<String, Integer> map = new HashMap<String, Integer>() {
{
put("one", 1);
}
};
Javaの.classから逆コンパイラしてもともとのソースコードが見れるツールです。
ずいぶん前一度使ったことがあります。
スタンドアロンのJD-GUIツールと、
Eclipseのプラグインとして使えるJD-Eclipseがあるらしいです。
スタンドアロンはJRE環境が必要とせずインストールだけで使えます。
jarファイルもサポートされているようです。
公式サイト:JD | Java Decompiler