電子書籍の厳選無料作品が豊富!

Javac test.javaとすると、以下のようになります。

test.javaの操作は、未チェックまたは安全ではありません。
-Xlint:uncheckedオプションを指定して再コンパイルして下さい

オプションをつけて再コンパイルすると、警告が表示されます。

一連のこの安全でないという概念がわからずいわれたままにしていますが、どのように理解すればよいのでしょうか?

玄人の方や教えるのが旨い方、お願いいたします。

A 回答 (2件)

教えるのが下手だなあと思うのでしたら、またいつものようにスルーでねん。



J2SE 5.0の新機能
第1回 型の安全性を確保する新文法「Generics」
http://www.itarchitect.jp/technology_and_program …

「無検査呼び出し」という警告について知りたいだけでしたら、上記サイト内の内容だけでもいいと思います。要は、

(1)JDK 1.3のコンパイラと同じ動作にしたい時(警告なし。assertを識別子としても使用可。)
javac -source 1.3 test.java

(2)JDK 1.4のコンパイラと同じ動作にしたい時(警告なし。assert文OK。)
javac -source 1.4 test.java

(3)JDK 5.0のコンパイラと同じ動作にしたい時(警告あり。assert文OK。省略可。)
javac -source 5 test.java

です。ちなみに、もうちょっと詳しめで以下のようなサイトもあった。

J2SE 5.0 のコレクションクラス
http://www.nextindex.net/java/collection/Collect …

最後に、上記のサイトをググるのには、『Java Xlint unchecked オプション』の検索語を用いました。エラーの内容等がよく分からない時には、エラーをまるごと一文にしてググってみるのも鉄則ですが、今回の場合のように半角記号文字などがある場合には、それだけを削除すると結構うまくググれます。
    • good
    • 0

これはおそらくGenericsと呼ばれる、ArrayListのようなコレクションクラスに対する仕様だと思います。


J2SE5.0以降に導入された仕組みで、J2SE1.4以前はありません。
いろんな型を入れられるコレクションクラスは、何でも入れられるために、
想定していない型のデータが入るかもしれず、危険だから予め入れられる型を決めなさい、
ということです。
詳しくは参考URLをどうぞ。

たとえて言うなら、それまでは大きな工具箱があって、そこに金槌や釘、カンナやノコギリなど、何でも入る箱だった。
普通の大工さんは金槌とノコギリを一緒に入れないけど、新人の大工やオマヌケな大工が、間違って一緒に入れてしまい、
金槌を取ろうとした大工がノコギリで怪我してしまうことがあった。
それで、同じ「工具箱」なんだけど、ノコギリ用のもの、金槌用のものなどに分けられるようにした、という感じです。

参考URL:http://www.javainthebox.net/laboratory/J2SE1.5/L …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!