2007-06-01から1ヶ月間の記事一覧

ラッパークラスでインクリメント

Integer i = 10; i++; System.out.println(i);実行結果 11ラッパークラスで++/--使うとうまいぐあいにオート(アン)ボクシングしてくれるみたい。しらなんだ。

ジェネリックのメソッド

http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf →5.Generic Methods メソッドのみに指定するジェネリックの書き方があるそうです(クラスに指定するのでないやつ)。 メソッドの引数で?を使うと都合が悪いとき static void fromArrayToCollection(Ob…

ArrayStoreException

みずしまさんのご指摘より。 サブタイプの配列をスーパータイプの配列に代入できるのは、Javaの設計ミス とよく言われます。 そういえば、これはエラーになるんだ(ArrayStoreExceptionをスロー)。 Number[] nn = new Integer[3]; nn[0] = 1.0;今更気づいた。…

境界ワイルドカード

http://wisdom.sakura.ne.jp/programming/java/java5_3.html Saisseさんに教えていただきました。上の問題(というか無知)を解決する書き方↓ List<Integer> nn = new ArrayList<Integer>(); List nn2 = nn;オーバーライドする場合の例 class X{ List hoge(){ return null; } } c</integer></integer>…

ジェネリックスのサブクラスが代入できない問題

サブクラスはスーパークラスに代入できる(サブタイプはスーパータイプに代入できる) Integer n = new Integer(); Number n2 = n; サブクラスの配列はスーパークラスの配列に代入できる Integer nn = new Integer{}; Number[] nn2 = nn; しかし サブクラスの…

WSHからメール送信するときのメモ

http://muumoo.jp/news/2007/02/21/0wshcdo.htmlCDO単体では「POP before SMTP」で認証を行うサーバ経由でメール送信できないらしい。 GMailは違うので使えた。 ちゃんとやるにはJavaMailなどでよいと思うが、何も追加インストールせずに、VBScriptなどでち…

インナークラスのnew

こんな書き方も可能ではある。 class A{ class B{ } } class Main{ public static void main(String[] args) { A.B b = new A().new B(); } }

ネストクラスとインナークラスの違い

http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3 An inner class is a nested class that is not explicitly or implicitly declared static. staticでないのを特にインナークラスと言うのか。同じものと思ってたよ。 追記 分か…

Java試験のJava2の名残

http://suned.sun.co.jp/JPN/certification/javamain.html http://www.sun.com/training/certification/java/index.xml 試験名は Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (CX-310-055) とかJava2のままだ Sun Certified Bu…

共変戻り値(covariant return type)

http://web.paulownia.jp/java/sample/covariant.html http://blogs.wankuma.com/kacchan6/archive/2007/04/18/71891.aspxJava5からオーバーライドしたメソッドの戻り値の型に、親メソッドのサブタイプ(クラス、インターフェイス)を指定できたらしい(1.4まで…

Java のプログラムを VBA のプログラムに移植する方法

http://wiki.livedoor.jp/donkichi/d/JavaToVba