ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

getClass()の不思議

2008-08-10 19:56:19 | PG(Java)

Object#getClass()の戻り値を変数に入れる際、変数の型は何にすればいいか?

「Type obj」に対して「Class c = obj.getClass()」でいけるんだけど、JDK1.5以上ならジェネリクスの型情報が無いのは寂しい。
でも「Class<Type> c = obj.getClass()」はダメなんだよね。
「Class<Type> c = (Class<Type>)obj.getClass()」という風にキャストしてやれば動作はするが、コンパイル時に警告が出る。
で、正解は「Class<? extends Type> c = obj.getClass()」。
これで「Type t = c.newInstance()」という書き方も問題なく出来る。
(Typeにデフォルトコンストラクターが無いと実行時に例外発生となるが、それはまた別のお話

で問題は、Object#getClass()の定義
JRE1.5と1.6で異なっているけれども、いずれにしてもそれと同じ定義を自分で行った場合、上記の“正解”のようなコーディングは出来ない。
うーん、RuntimeExceptionと同じような、言語仕様上の特別扱いなんだろうか。
(RuntimeExceptionの派生クラスは、throwsに書くのを省略できる)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

演算子の暗黙の仕様

2008-08-10 01:36:14 | PG(Java)

Javaの雑多なことを書いていたページから、演算子に関するものを新設した演算子ページに移動。

もともとちょっと注意の要りそうな演算子(だから4つくらいだけ)をメモしてただけなので、単純に移しただけなら相当寂しいページになってたと思うんだけど…。

この際だから優先順位に基づく一覧表を作ろうと思ってJava言語仕様を見たのが運の尽き(爆)
意外と知らない(かつ、知ってたけどはっきりとは意識していなかった)仕様が色々あるのを知って愕然。
(フィールドもキャストによって親クラスを指定できたのか…!)

オブジェクト指向とかに関わらない、基礎的な演算子の部分ですら、これだけ複雑な仕様があったとは…。(演算子の解釈が曖昧にならないようにする為にJavaの他の文法と密接に絡んでいる箇所もあるみたいだけど)
コンピューター言語を作るのなんて、夢のまた夢だな^^;

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ポリフォニカリプレイ『時を越えた子守歌』

2008-08-09 02:56:50 | TRPG

神曲奏界ポリフォニカRPGリプレイ『時を越えた子守歌』加納正顕

全くノーチェックだったので、こんなリプレイが売っててびっくり。
表紙のタイトル(ポリフォニカ)とイラスト(みかきさん)を見て真っ先に思ったのが、「みかきさんってポリフェノール好きだなー」(爆)
実際は『神曲奏界ポリフォニカ』というライトノベルがあり、それのTRPG化らしいので、別にみかきさんの趣味とは関係ないようだ(笑)
改めて書店でそういうコーナー見てみたら、確かに『神曲奏界ポリフォニカ』のシリーズの表紙のイラストには見覚えがある。かなり沢山出てるシリーズじゃん。

中身サッパリ分からん状態で、まずキャラ名を見てけっこう妙な感じがしたけど、例えばヤラワベとかは原作ゆかりの名前なんだな。
精霊が妙に長い名前なのもそういう世界なんだ。(侍とか道場とかが普通にある世界なのかどーかは分からんけど^^;)

例によって原作は知らないので 世界観とか雰囲気が原作通りなのかどうかは分からないけど、リプレイとしては面白かった。
特に土壇場での契約とエンディングは、ちょっと感動的で良かったな~^^
(でもこういう作りの常として、リプレイに原作キャラが登場しても、原作にはリプレイのキャラは出ないんだろうな(苦笑))

リプレイも続きが出たら面白そうな気はするけど、きっと出ないんだろーなー(嘆)
風の聖痕もそうだったし。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

for %~sのバグ

2008-08-08 07:59:23 | PG(DOS)

for %~sはバグだと思うし誰かが既にマイクロソフトに知らせていると思うんだけど、「for」はすごく一般的な単語だし「%~s」といった記号は検索に使えないし、という訳で、既知のバグなのかどうか確認できず…。

いっちょマイクロソフトに聞いてみようかと思ったけど、Windowsの窓口はバグの話を受け付けてくれないし、他にメールで質問する入口って見当たらないなー。さすがマイクロソフト。そりゃクレームは聞きたくないよなw

まぁいいや、自分が必死になって解決しないといけないバグでもないし。メモだけしておこう。

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WebLogic10.3tpでJDK1.6に挑戦

2008-08-06 01:15:27 | PG(Java)

JDK1.6に対応しているらしいので、WebLogic Server 10.3 tech preview(英語版)をインストールしてみた
(日本のダウンロードページにもあったような気がしたんだけど、今見たら無かった)

ダウンロードサイズが5/8くらいに減っていて、ダウンロード時間もそれだけ減っていた。
で、ドメインの作成の選択肢にJDK1.6が入っていたので、問題は無さそう。
(WLS10.0にはJDK1.5しか入っていなくて、WLS10.3にはJDK1.6しか入っていない模様。でも2つインストールすると、両方選べるようになる(笑))

しかし!
ドメインの起動に失敗(泣)
「license.beaに10.3が含まれていない」そうで…。

そんでもって、先に入れていたWebLogic10.0Jのドメインも起動しなくなった(爆)
java.lang.StringIndexOutOfBoundsException: String index out of range: -10
…はぁ…?
明らかにlicense.beaが壊れたとしか思えないけど(嘆)

結局アンインストールして単独で10.3tpを入れてみたが、やはり上手く行かない。
当面は10.0Jを使い、日本語版の10.3が出るまで待った方が良さそうだ。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする