http://www.hatena.org/java/javafaq.html (2001.12.27 update)  [JavaBBS]  [JavaFAQの検索]  [Java 用語集]

JavaFAQ : Java に関するよくある質問とその回答集


序章 Java FAQ それ自身に関するよくある質問と回答 S021 スレッド - thread(同期と排他制御)
S000 Java とは何ですか? S022 スレッド - thread(sleep)
S001 インストールとセットアップ S027 オブジェクトのコピー - clone
S002 最初の一歩 - Hello World S028 比較 - equals
S003 問題解決の一歩 S029 浮動小数 float/double
S004 基礎知識 S031 リフレクション - reflection
S005 Java 学習法 S038 Java言語一般(その他)
S006 配列 - array S065 イベント処理 - delegation event model new
S007 プリミティブ型/値の変換 - primitive types S100 Date / Calendar
S008 文字列 - String S103 外部コマンド呼出し
S009 修飾子 - modifier S125 Servlet(プログラミング)
S010 コンストラクタ - constructor S132 Beans new
S011 メソッド - method S133 JDBC(ドライバ)
S012 変数/引数 S134 JDBC(日本語の扱い)
S013 名前 S135 JDBC(プログラミング)
S014 型 - type S146 エンコーディング - encoding(国際化/日本語化)
S015 インタフェース/アブストラクトクラス - interface/abstract class S156 ソースコード中の文字列(国際化/日本語化)
S016 内部クラス - inner class S171 実行時エラー(スタックトレースの読み方)
S017 パッケージ - package S172 コンパイルエラー
S018 例外処理 - exception 付録 かんたん Java API 一覧/Java 略語一覧(現在作成中)
S019 スレッド - thread(生成/起動/停止) renew

Top

序章  Java FAQ それ自身に関するよくある質問と回答

序章-01 このファイルまたは印刷物を自由に配布してもいいですか?
序章-02 私の Web ページから、この Java FAQ へのリンクをはってもいいですか?
序章-03 FAQ の内容に間違い、リンク切れを見つけました。どこにお知らせすれば良いですか?
序章-04 内容について分からないことがあります。どこに尋ねればいいですか?
序章-05 私の困っている問題の回答が、この Java FAQ を探してもありません。どうすれば良いですか?
序章-06 FAQ に追加したい情報があるのですが?
序章-07 私も Java FAQ の作成に貢献したいのですが?
Top

S000  Java とは何ですか?

S000-01 Java とは何ですか?
S000-02 Java の由来は?
S000-03 JRE と JDK はどう違うのですか?
S000-04 Core API と Extension API とは何ですか?
S000-05 J2SE, J2ME, J2EE とは?
S000-06 Java の Version の違いとは?
S000-07 Java Plug-in とは?
S000-08 クライアント側で動作する Java と、サーバ側で動作する Java とは、どう違うのですか?
S000-09 Java アプレット って何ですか?
S000-10 Java サーブレット って何ですか?
S000-11 JSP(JavaServer Pages)って何ですか?
S000-12 EJB(Enterprise JavaBeans)って何ですか?
S000-13 JavaBeans って何ですか?
S000-14 JavaScript と Java は違うのですか?
S000-15 Java VM(JVM)って何ですか?
S000-16 Java API って何ですか?
Top

S001  インストールとセットアップ

S001-01 Java はどこで手に入りますか?
S001-02 Java を使用するのに最低限必要なシステムは?
S001-03 java コマンドがうまく動きません。なぜ?
S001-04 Java のバージョンを知りたいのですが?
S001-05 複数のバージョンをインストールして使い分けるには?
S001-06 JDK のソースコード はどこで手に入りますか?
Top

S002  最初の一歩 - Hello World

S002-01 Hello World って何ですか?
S002-02 エラー: HelloWorld.java を読み込めません。などと表示されてコンパイルされません
S002-03 コンパイルすると printIn( java.lang.String ) が解釈できないとエラーが出ます
S002-04 クラス HelloWorld は public であり、ファイル HelloWorld.java で宣言しなければなりません
S002-05 コンパイルしようとすると Graphics が解釈できないとエラーが出ます
S002-06 アプレットを実行してみましたが 何も表示されません
S002-07 このプログラムで書かれている内容の意味を教えてください
S002-08 Exception in thread "main"java.lang.NoClassDefFoundError:HelloWorld というエラーが出て動きません
Top

S003  問題解決の一歩

S003-01 エラーが出るのですが、どうしたらよいですか?
S003-02 実行時にエラーが出力されたのですが、どのように見ればいいのでしょうか?
S003-03 NullPointerExceptionと表示されてしまいました。どうすればいいのでしょうか?
S003-04 例外が発生したときのスタックトレースの先頭が自分のクラスではありません
S003-05 スタックトレースに行番号が表示されないので、デバッグができません
S003-06 スタックトレースの出力が長すぎて上の方が見えません
S003-07 javac でのコンパイルエラーが多すぎて上のほうが読めません
S003-08 変数の値がリセットされたりして、おかしいのです
S003-09 サーバに置いたアプレットが上手く動作しません。どうして動かないのでしょうか?
S003-10 Applet ... could not be loaded と言われて実行できません
S003-11 アプレットでの System.out.println(...) の出力先はどこを見ればいいのですか?
S003-12 発生した例外の詳細を知りたいのですが?
Top

S004  基礎知識

S004-01 クラスパスとは?
S004-02 クラスパスの設定方法は?
S004-03 環境変数 CLASSPATH の設定が必要ではないときはどんな場合ですか?
S004-04 パッケージ形式のソースプログラムがコンパイルできるけど実行できません。
S004-05 コンパイルすると、Foo$1.class ができます。これはなんですか?
S004-06 Foo$1.class が消えました。なぜでしょう?
S004-07 インスタンスメソッドを表すのに#はどう扱うの?
Top

S005  Java 学習法

S005-01 どういう方法で勉強したら良いでしょうか? 何から勉強したら良いでしょうか?
S005-02 Java の文法を詳しく知りたいのですが?
S005-03 Java API の提供する機能について理解を深めたいのですがどうしたら良いのでしょうか?
S005-04 API ドキュメントを読んでも、どのように動作するか理解できないのですが?
S005-05 Java API のソースを読んで理解を深めるにはどうしたら良いでしょうか?
S005-06 プログラム中の名前がどこに定義されているか調べることはできますか?
S005-07 C プログラマのための Java 入門はありませんか?
S005-08 C プログラマが陥りやすいポイントを教えて下さい。
S005-09 プログラムの構造を図で表すにはどうするのが良いでしょうか?
Top

S006  配列 - array

S006-01 Java の配列はどのようなものですか?
S006-02 配列を一括して初期化するにはどうすれば良いですか?
S006-03 配列の内容をメソッドに渡したいのですが?
S006-04 配列の要素数を知るには?
S006-05 配列をコピーしたいのですが?
S006-06 Java で多次元配列はどう書くのですか?
S006-07 連想配列を使いたいのですが?
S006-08 配列の要素を参照しようとするとNullPointerExceptionが発生するのですが?
S006-09 コピーした配列を書き替えると元の配列も書き換わってしまうのですが?
S006-10 配列の長さを変更したいのですが?
S006-11 配列の new ではその各要素の new まではなされないのですか?
S006-12 配列の初期化とはどういう意味ですか?
S006-13 配列を宣言するときの [] の書き方は?
S006-14 配列 a の要素数を調べるには「a.length」と「a.length()」のどちらを使えば良いですか?
S006-15 配列オブジェクトに対してclone()できますか?
S006-16 二次元配列に対して arraycopy は使えるのでしょうか?
S006-17 二次元配列で列のコピーはどうすれば良いですか?
S006-18 長さが 0 の配列も作れるのですか?
Top

S007  プリミティブ型/値の変換 - primitive types

S007-01 int を文字列(String)に変換するには?
S007-02 文字列(String)を double に変換するには?
S007-03 double を int に変換するには?
S007-04 int を16進数の文字列にするには?
S007-05 16進ダンプしたいのですが?
S007-06 オブジェクトを文字列化するには?
S007-07 文字列を指定されたクラスの値(valueOf)に変換したいのですが?
S007-08 文字 '0' を数値の 0 に、数値の 0 を文字 '0' 変換したいのですが?
S007-09 short a = 2; a = -a; が int から short への変換が必要だとコンパイルエラーになるのですがなぜですか?
S007-10 Integer#parseInt が NumberFormatException を発生するのですが?
S007-11 byte を符号無しとして(unsigned byte として)int と相互に変換するには?
S007-12 byte に対しての「>>>=」シフト演算子の結果が変なのですが?
Top

S008  文字列 - String

S008-01 文字列の内容の比較はどのように行えば良いのでしょうか?
S008-02 switch で String が使えないのですが?
S008-03 Stringに「"」を含めたいのですが?
S008-04 StringBuffer はどういう時に使用するのでしょうか?
S008-05 文字列を編集したいのですが?
S008-06 StringBuffer の使い方は?
S008-07 new String("abc") という書き方にはどんな意味があるのですか?
S008-08 文字列のバイト数を取得するにはどうしたら良いのですか?
S008-09 文字列に対してメソッド呼び出しが行なえるのはなぜですか?
S008-10 CSV データなど "," で区切られた文字列を、個々のデータに切り分けたいのですが?
S008-11 new StringBuffer().append("a").append(4).append("c").toString() という使い方は?
S008-12 StringTokenizerでいきなり2番目の要素を取り出したいのですが?
S008-13 同じ内容の文字列リテラルは定数なんですからオブジェクトは共用されないのでしょうか?
S008-14 文字列オブジェクト「"abcdefg"」の意味は?
Top

S009  修飾子 - modifier

S009-01 アクセス修飾子 public, protected, private, 「無指定」の違いは?
S009-02 class を final にする意義はあるのでしょうか?
Top

S010  コンストラクタ - constructor

S010-01 コンストラクタの記述がないクラスのインスタンスが生成できるのはなぜですか?
S010-02 スーパークラスで定義されたコンストラクタと引数が同じなんですが、サブクラスで必ずコンストラクタを記述しないといけないのですか?
S010-03 スーパークラスのコンストラクタ Foo() がないとコンパイルエラーになるのですが?
S010-04 インスタンス生成を制限したいのですが、どのようにしたら良いですか?
S010-05 コンストラクタが private になっているのですが?
S010-06 サブクラスのコンストラクタからスーパークラスのコンストラクタを呼び出す時には他のメソッドと違い、なぜコンストラクタの最初で呼び出さないといけないのですか?
S010-07 コンストラクタは継承されますか?
S010-08 インスタンス変数の初期化子とコンストラクタの実行順序はどうなっていますか?
S010-09 インスタンス変数が初期化されていないみたいなのですが?
S010-10 コンストラクタ内で this を参照するとエラーになってしまいます。どうしてですか?
S010-11 コンストラクタ本体でコンストラクタを 2 度以上呼び出すことはできないのですか?
Top

S011  メソッド - method

S011-01 オーバライドとは何ですか?
S011-02 オーバロードとは何ですか?
S011-03 オーバライドしたはずのメソッドが呼ばれないのですが?
S011-04 クラスメソッドからインスタンス変数が参照できないのはなぜですか?
S011-05 クラスメソッドからインスタンスメソッドを呼び出せないのはなぜですか?
S011-06 クラスメソッドはオーバライドされないのですか?
S011-07 オーバライドされたスーパークラスのメソッドを呼ぶにはどうしたら良いですか?
S011-08 メソッドをオーバライドするとき throws 節の例外を増やせないのはなぜですか?
S011-09 methodA(Object arg) と methodA(String arg) があるとき、methodA(null) と記述するとどちらが呼ばれるのですか?
S011-10 method(interfaceA arg) と method(interfaceB arg) があるとき、あいまいだと言われるのはなぜですか?
S011-11 サブクラスでメソッドをオーバライドできないようにするには?
S011-12 メソッドの名前やパラメータがなく、{} で囲まれた部分があるのですが、これはなんですか?
S011-13 メソッドの名前やパラメータがなく、static {} で囲まれた部分があるのですが、これはなんですか?
S011-14 newの後ろにメソッド定義が並んでいるのですが、これはなんですか?
S011-15 メソッドをオーバーライドするときにメソッド名を間違えるとどのようなことになりますか?
S011-16 クラスメソッド (static メソッド) の呼び出し方は?
S011-17 クラスメソッドからクラスメソッドを呼び出したところ、スーパークラスのメソッドが呼び出されます。なぜですか?
S011-18 クラスメソッドにすると再利用性が失われる気がするのですが?
S011-19 サブクラスでオーバーライドされても自クラスのメソッドを確実に呼ぶにはどうしたらいいですか?
S011-20 オーバーライドしたメソッドがスーパークラスで削除されたとき、どうなりますか?
S011-21 Class.forName( classname ) で取得したクラスのメソッドを呼び出したいのですが、どうしたらいいですか?
S011-22 オブジェクトをシリアライズするとき、メソッドの分だけサイズが大きくなるのですか?
S011-23 オブジェクトに後からメソッドを追加することはできますか?
S011-24 メソッドの中でメソッドを宣言するにはどうしますか?
S011-25 別パッケージのクラスで friendly メソッドがオーバーライドされてしまうのですが?
Top

S012  変数/引数

S012-01 変数の初期状態はどのようになっていますか?変数を定義したときに、デフォルトではどういう値が入っているのですか?
S012-02 ローカル変数を初期化しているのに、コンパイルエラーがでますがどうしたら良いのですか?
S012-03 スーパークラスのもつ変数と同名の変数をサブクラスで宣言するとどうなりますか?
S012-04 null とはいったい何ですか?
S012-05 クラス変数を変更してクラスを再コンパイルしましたが、他のクラスから参照してもその修正が反映されていません。
S012-06 final な変数に代入したオブジェクトの内容が変更できてしまうのですが?
S012-07 final で修飾されている変数を宣言時に初期化しなくてもいいのですか?
S012-08 どのような場合に static 変数を使用すれば良いのでしょうか?
S012-09 Javaには「可変長引数」は、ありますか?
S012-10 ローカル変数や、引数の数は制限されているのですか?
S012-11 コンストラクタ等で「this.foo = foo」と書くとき引数名を間違えるとどうなりますか?
S012-12 変数とは何でしょうか?
S012-13 ローカルブロックでの変数宣言はその外側の変数を隠さないのでしょうか?
S012-14 変数はオーバーライドされないのでしょうか?
S012-15 JDK 1.1 で引数を final にできるようになったのは何のためですか?
S012-16 JDK 1.1で導入された「blank final」とはなんですか?
S012-17 blank final(代入のないfinal変数宣言)がJDK 1.1で必要になった理由はなんですか?
S012-18 static 変数を不用意に用いたアプレットを複数個同じページに張付けると大変なことになると聞きましたが?
S012-19 引数で変数渡しをしたいのですが?
S012-20 引数は参照渡しではなく値渡しですか?
S012-21 swap(int, int) を作りたいのですが?
Top

S013  名前 - identifier

S013-01 メソッド、変数がどこで宣言されているかどうやって調べたら良いのでしょうか?
S013-02 クラスがどこで正義されているかどうやって調べたら良いのでしょうか?
S013-03 $ がついたクラスが生成されるのですが、これは何ですか?
S013-04 同名のメソッドと変数というのは許されるのでしょうか?
S013-04 変数名・メソッド名・クラス名に日本語は使えるのでしょうか?
S013-04 なぜスーパークラス(またはインターフェース)の型の変数に代入するのですか?
Top

S014  型 - type

S014-01 なぜスーパークラス(またはインタフェース)の型の変数に代入するのですか?
S014-02 cast 演算子が不要なときというのはどんなときですか?
S014-03 配列型を扱うときの問題点はなんですか?
Top

S015  インタフェース/アブストラクトクラス - interface/abstract class

S015-01 interface って何ですか?
S015-02 interface のメリットって何ですか?
S015-03 interface のメソッドを呼び出しているのですが、実装はどこにあるのですか?
S015-04 abstract class って何ですか?
S015-05 abstract class のメリットは何ですか?
S015-06 abstract class の abstract メソッドを呼び出しているのですが、実装はどこにあるのですか?
S015-07 interface と abstract class の違いは何ですか?
S015-08 interface と abstract class をどのように使い分けるのですか?
S015-09 interface に interface を implements しようとするとコンパイルエラーになります。どうしてですか?
S015-10 複数の interface を extends / implements できるのに、複数の class を extends できないのはどうしてですか?
Top

S016  内部クラス -inner class

S016-01 インタフェースやクラスの中にインタフェースやクラスがあるのですがこれは何ですか?
S016-02 new の後ろにメソッド宣言が並んでいるのですがこれは何ですか?
S016-03 内部クラス (inner class) とは何ですか?
S016-04 メンバ型 (member type) とは何ですか?
S016-05 ローカルクラス (local class) とは何ですか?
S016-06 匿名クラス (anonymous class) とは何ですか?
S016-07 ネストした型 (nested type) とは何ですか?
S016-08 トップレベルクラス (top-level class) とは何ですか?
S016-09 ネストした型はどういう時に使用すれば良いのですか?
S016-10 内部クラスから外側のクラスのメソッドや変数を明示的に参照するにはどうすれば良いのですか?
S016-11 ネストした型を他のクラスから new するにはどうすれば良いのですか?
S016-12 匿名クラスでコンストラクタを宣言したいのですがどうすれば良いですか?
S016-13 static変数を内部クラス内に宣言したいのですが、どうすれば良いのですか?
S016-14 メソッド内やブロック内で宣言したローカルな内部クラスから、メソッドの引数やローカル変数はアクセス出来ますか?
S016-15 インタフェース中で内部クラスを宣言できますか?
Top

S017  パッケージ - package

S017-01 パッケージ(package)ってなんですか?
S017-02 自作のプログラムを公開したいのですが、パッケージ名はどのようにつけたら良いのでしょうか?
S017-03 インポートの際 "*" でパッケージをまるごと指定するのと、クラス名指定では違いがあるのでしょうか?
S017-04 パッケージの宣言をしていないクラスをインポートしたいのですが。
S017-05 パッケージの指定をしないとどうなるのですか?
S017-06 パッケージを宣言したらコンパイルできなくなったのですが。
S017-07 パッケージを宣言したら実行できなくなったのですが。
S017-08 既存パッケージの中のクラスを自作のものに置き換えたいのですが。
S017-09 JDK のライブラリのパッケージ名と同じ名前のパッケージのクラスを作成できますか?
S017-10 デフォルトパッケージってなんですか?
S017-11 パッケージを使う場合の CLASSPATH、CODEBASE の設定方法は?
S017-12 パッケージ名に "-" が使えないのですが? パッケージ名に "interface" が使えないのですが?
S017-13 java.lang パッケージはインポートしていないのですが System.out.println() 等が使えるようです。なぜ?
S017-14 パッケージのバージョンを管理したいのですが?
S017-15 import は C の #include とは違うのですか?
Top

S018  例外処理 - exception

S018-01 例外処理って何ですか?
S018-02 Exception を throw するべきでしょうか、それとも特別な値を return するべきでしょうか?
S018-03 throws 節なしのメソッドの中に throw 文があるのですが、これはなぜコンパイルエラーにならないのでしょうか?
S018-04 Error, RuntimeException, Exception の違いは何ですか?
S018-05 絶対起きることのない例外を catch せざるを得ないときそこで何をさせるべきでしょうか?
S018-06 finally 節はどのように使えばいいのですか?
S018-07 完成したプログラムで catch ブロックに、e.printStackTrace() が入っていてはいけないのですか?
S018-08 コンストラクタで例外を投げるのは問題がありますか?
S018-09 throws 節の例外を増やしてメソッドをオーバーライドしたいのですが、可能ですか?
Top

S019  スレッド - thread(生成/起動/停止)

S019-01 スレッド(Thread) ってなんですか?
S019-02 Runnable ってなんですか?
S019-03 デッドロック(deadlock) ってなんですか?
S019-04 なぜスレッドの run メソッドを呼び出さなくてもスレッドの run メソッドが動くのですか?
S019-05 一度処理が終了したスレッドの使い回しはできますか?
S019-06 安易に suspend() するとデッドロックになることがあるというのは本当ですか?
S019-07 Thread.stop() メソッドが JDK1.2 で deprecated になったのはなぜですか?
S019-08 Thread.suspend() メソッドが JDK1.2 で deprecated になったのはなぜですか?
S019-09 スレッドが動作しているかどうか調べるにはどうすれば良いのですか?
S019-10 スレッド(Thread)を止めるには、どうするのですか?
S019-11 2つのスレッドで同期をとりたいのですが?
S019-12 デーモンスレッド(Daemon thread)を作成したいのですが?
S019-13 Thread.stop( ) を使わずに、スレッドを停止するにはどうすれば良いのですか?
S019-14 Thread.stop( ) メソッドが JDK1.2 で deprecated になっています。どう対処すればいいのですか?
S019-15 ThreadDeath 例外をキャッチすると、動作がおかしくなるのですが、なぜですか?
S019-16 クラス設計で、Runnable を実装する方法と Thread を継承する方法とでは、どっちが良いのですか?
S019-17 単一のクラスに複数のスレッド(thread)を定義することはできるのでしょうか?
S019-18 複数のスレッド(thread)をまとめて stop できるのでしょうか?
S019-19 new Thread(ThreadGroup, Runnable) を実行すると、IllegalThreadStateException が発生します。
S019-20 Thread.sleep(long) と Thread.interrupt() を使ってスレッドを止めたり動かしたりしているのですが、うまくいかない場合が有ります。
Top

S021  スレッド - thread(同期と排他制御 - synchronization / mutual exclusion)

S021-01 new Thread(ThreadGroup, Runnable) を実行すると、IllegalThreadStateException が発生します。なぜ?
S021-02 メソッドに付ける synchronized って何ですか?
S021-03 synchronized は、どういうとき必要なのでしょうか?
S021-04 synchronized を使わないようにするアルゴリズムのヒントは?
S021-05 synchronized はどのように使うのでしょうか?
S021-06 Object#wait() や Object#notify() を実行すると java.lang.IllegalMonitorStateException がおきるのですが?
S021-07 synchronized を使ったらプログラムが止まってしまいました。なぜ?
S021-08 Object#notifyAll() を使ってますが、動き出すスレッドの順番がばらばらです。なぜ?
S021-09 二つのスレッドの処理が、それぞれあるところまで終わるまで、先に終わった方のスレッドの実行を止めたいのですが?
S021-10 コンストラクタには synchronized の指定が出来ませんが、大丈夫ですか?
S021-11 synchronized を使って、コンストラクタの実行が終る前に別スレッドがそのオブジェクトのメソッドを呼べないようにできないでしょうか?
S021-12 寝ているスレッドを起こすには?
Top

S022  スレッド - thread(sleep)

S022-01 スレッドを sleep したいのですが、どうしたらいいですか?
S022-02 Thread.sleep() の精度は保証されていますか?
S022-03 古い NEC PC-98x1 を使用していますが、sleep の時間が正しくありません。なぜ?
S022-04 Thread.sleep() と Thread.currentThread().sleep() は同じですか?
Top

S027  オブジェクトのコピー - clone

S027-01 オブジェクトのコピーは dst = src ではいけないのでしょうか?
S027-02 オブジェクトをコピーしたいのですが?
S027-03 オブジェクトのコピー時に CloneNotSupportedException が発生するのですが?
S027-04 コピー元のオブジェクトを変更すると、コピー先のオブジェクトも変更されてしまいます。なぜ?
S027-05 オブジェクトを内部に含まれるオブジェクトまで完全に複製したいのですが?
Top

S028  比較 - equals

S028-01 自分で作成したクラスをもとに生成した2つのオブジェクトを equals メソッドで比較していますが、フィールドには同じ値を設定しるのもかかわらず、true とならないのはどうしてでしょうか?
Top

S029  浮動小数 float/double

S029-01 doubleの演算で1.1 + 2.2が 3.3にならず 3.3000000000000003 になるのはなぜですか?
S029-02 double, floatの計算で0になるはずのものが0にならないのはなぜですか?
S029-03 double の初期化がうまくいきません。どうすればいいですか?double a = 1/1000 が 0.0 になってしまいます。
S029-04 double, float の値の比較を行いたいのですが、どのくらいの精度を持ちますか?
S029-05 事務処理アプリケーションにおける1円未満端数処理はどうしたらよいでしょうか?
S029-06 sqrt(-1) で Exception が発生しないのはなぜですか?
S029-07 「NaN」って何ですか?
S029-08 浮動小数の標記方法を示す IEEE754 とは何ですか?
S029-09 doubleやfloatの値を表示したとき最後に付く「E -15」という表記は何ですか?
S029-10 浮動小数点の値を表示するとき「E」表記を避けるにはどうすればよいですか?
S029-11 DecimalFormatで四捨五入するにはどうすればよいですか?
S029-12 四捨五入を実現するには?
S029-13 バイナリファイルから double を読みこんだら値がおかしくなります。なぜでしょう?
S029-14 バイト列から double を作るにはどうしたらよいでしょうか?
S029-15 JDK 1.2 で追加された予約語「widefp」,「strictfp」とはなんですか?
S029-16 Double#toString()の結果のフォーマットはどう定義されているのでしょうか?
S029-17 IE 3.02/4.0 Win95/NTで、NaNが1.0になってしまうのはなぜでしょうか?
Top

S031  リフレクション - reflection

S031-01 Class.forName()で発生する例外は典型的にはどう処理すべきでしょうか?
S031-02 リフレクション API で public でないフィールドにアクセスできますか?
S031-03 getDeclaredFields で private なフィールドを得られるがその値は得られないのですが?
S031-04 Method オブジェクトの invoke で発生した Exception を InvocationTargetException から取り出すにはどうしたらよいですか?
S031-05 InvocationTargetException では、invoke した先で新たに走らされたスレッド発生した例外を catch できないのですが?
S031-06 配列オブジェクトに対する getClass().getName() が返す文字列の意味はなんですか?
S031-07 primitive type のクラスオブジェクトを得るにはどうしたらいいのでしょうか?
S031-08 Class.getMethod(String, Class[])でプリミティブ型配列の引数を指定するにはどうしたらいいのでしょうか?
S031-09 Class.forName(classname)で配列オブジェクトのクラスを得るにはどうしたらいいのでしょうか?
S031-10 あるプリミティブ型に対応するwrapperクラスを取得するには?
S031-11 パッケージ名を得る目的で「getClass().getPackage().getName()」は使えないのでしょうか?
S031-12 「コールバック関数」を実現するために java.lang.reflect.Method を使うのは?
S031-13 mainメソッドがあるクラスを探したいのですが?
S031-14 ロードしたクラスの一覧を得る native メソッドはあるでしょうか?
S031-15 そもそも reflection とはなんですか?
Top

S038  Java言語一般(その他)

S038-01 Java Application で、クラスの .class ファイルの場所を得たいのですが?
S038-02 あるアプリケーションが使用するすべてのクラスのリストを得たいのですが?
S038-03 static {...} とは何ですか?
S038-04 Character#hashCode() は、Unicode の値を int を返すので、Unicode の値を int で得るのに使えますか?
S038-05 hashCodeとは何ですか?
S038-06 オブジェクト o は System.identityHashCode(o) で識別できますか?
Top

S065  イベント処理 - delegation event model

S065-01 delegation event model とはなんですか?
S065-02 Listener (イベントリスナ)とはなんですか?
S065-03 なぜ delegation event model なのですか?
S065-04 ただイベントをハンドリングしたいだけなのになぜクラスを作らなければならないのですか?
S065-05 ボタンをサブクラス化する必要がなくなっても、結局 Listener 実装クラスを新たに定義しなければならないのではないですか?
S065-06 Listener を implements するとハンドリングする必要のないメソッドまで実装しなければならないのですか?
S065-07 java.awt.event.XxxxAdapter は何のためにあるのですか?
S065-08 java.awt.event.XxxxAdapter は abstract メソッドが無いのになぜ abstract なのですか?
S065-09 なぜ ActionListener には対応する ActionAdapter が無いのですか?
S065-10 anonymous イベントリスナとはなんですか?
S065-11 イベント処理は独立のオブジェクトで処理すべきなのですか?
S065-12 一つのイベントリスナオブジェクトを複数のイベントソースに接続してもよいですか?
S065-13 イベントはどうやってイベントリスナに伝えられるのですか?
S065-14 EventDispatchThread とはなんですか?
S065-15 AWT イベントはどうやってイベントソースまで伝えられるのですか?
S065-16 なぜ、EventListener interface は java.util にあるのですか?
S065-17 イベントには低レベルイベントとセマンティックイベントがあるとのことですが?
S065-18 AWT のイベントを自分で発生させるにはどうすればよいのですか?
S065-19 java.awt.AWTEventMulticaster を使ったイベントの配送方法がわからないのですが?
S065-20 java.beans.PropertyChangeSupport を使ったイベントの配送方法がわからないのですが?
S065-21 独自のイベントを作るにはどうすればよいのですか?
S065-22 イベントの受信者が限られている場合はどのようにすればよいのですか?
S065-23 TooManyListenersException とは何ですか?
S065-24 EventListenerList とはなんですか?
S065-25 イベントが全く処理されないのですが?
S065-26 キーイベントが取得出来ないのですが?
S065-27 イベントリスナの呼び出される順番を制御したいのですが?
S065-28 メニューがドロップダウンされた(開いた)イベントを取得出来ますか?
S065-29 TextField に数字しか入力出来ないようにしたいのですが?
S065-30 TextField で BackSpace キーを無効化したいのですが?
S065-31 Windows では F10 キーを押下するとメニューにフォーカスがいってしまうのですがこれを拒否出来ますか?
S065-32 コンポーネントにどのようなイベントが発生しているかを調べる方法は?
S065-33 イベント発生時に Thread#sleep() したり、時間のかかる処理を行うと画面が更新されなくなってしまうのですが?
S065-34 イベント発生時に時間のかかる処理を行いたいときはどうすればよいのでしょうか?
S065-35 どのコンポーネントがどのイベントを発生するのかはどうやって知るのですか?
S065-36 EventDispatchThread はなぜデーモンスレッドではないのですか?
S065-37 main() メソッドを終了してもアプリケーションが終了しないのですが?
Top

S100  Date / Calendar

S100-01 DateやCalendarの月の値が1月ずれてしまっているようです。なぜでしょうか?
S100-02 Dateクラスに2000年1月1日を入れようとして、new Date(2000,0,1)と書くとエラーが出ます。なぜですか?
S100-03 日付の妥当性をチェックしたいのですが、どうすればよいですか?存在しない日付を入れた時にエラーを出すとかしたいです。
S100-04 ある日付の曜日を知りたいのですが、どうすればよいですか?
S100-05 月の末日を知りたいのですが、どうすればよいですか?
S100-06 日付をきまった形式で出力したいのですが、良い方法はありますか?
S100-07 WindowsNTのJavaが16時間ずれた値を返すのですが?
Top

S103  外部コマンド呼出し

S103-01 どうしたら、Java プログラムから外部のコマンド(プログラム)を呼び出せますか?
S103-02 外部コマンドの入出力(標準出力、エラー出力、標準入力)は、どうしたら得られますか?
S103-03 Runtime#exec で外部コマンドを実行したのですが、何も出力されません。なぜですか?
S103-04 ファイルを操作するコマンドが正しく実行されません。同じコマンドをシェルで実行すると動きます。なぜ?
S103-05 Runtime#exec で外部コマンドの出力をリダイレクトしようとしているのですが、ファイルがまったく作成されません。なぜでしょうか?
S103-06 Runtime#exec で DOS コマンドの dir を実行できません。IOException が発生してしまいます。なぜ?
S103-07 Runtime#exec(String) で IOException が発生して、外部コマンドが実行されません。なぜでしょうか?
S103-08 MacOSにおけるRuntime#exec()の引数は?
S103-09 Process#destroy() は process を使い終わったら呼ぶ必要が有るのでしょうか?
S103-10 Process#destroy() を呼びましたが、プロセスが終了しません。なぜ?
S103-11 外部コマンドの終了コードは、どうしたら得られますか?
S103-12 Runtime#exec()で実行した外部コマンドが動いていないようです。
S103-13 Windows で exec で外部コマンドが起動できません。コマンドの引数にファイル名がうまく渡せません。
Top

S125  Servlet(プログラミング)

S125-01 Cookieを使ったセッション管理はできますか?
S125-02 URLのリダイレクトをおこないたいのですが?
S125-03 AppletやJavaアプリケーションで生成したオブジェクトをServletにわたす事はできますか?
S125-04 Servletで日本語を表示するために特別な事をする必要はありますか?
S125-05 ServletでRuntime#exec()からシェルがうまく実行されないのですが?
S125-06 Servletでnativeメソッドは使えますか?
S125-07 Servletから出力されるデータをブラウザで「ファイル名をつけて保存」するときのファイル名のServletで指定できるようにしたいのですが、可能でしょうか?
S125-08 Servlet でクライアントの IP アドレスを取得したいのですが?
S125-09 Servletエンジンによって java.servlet.http.HttpServletRequest#getCharacterEncoding() の返す値がまちまちなのですが?
S125-10 Servlet でファイルのアップロードを行いたいのですが?
S125-11 Servlet で基本認証を実現したいのですが?
S125-12 JServで Toolkit.getDefaultToolkit().createImage を使用しているのですがCan't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.というエラーが発生します。
S125-13 サーブレットのsession trackingで、セション終了時に一時ファイルの削除を行ないたいのですが?
S125-14 Servlet でファイルのダウンロードをさせるので、Servletにセキュリティの設定を行いたいのですが?
Top

S132  Beans

S132-01 JavaBeans って何ですか?
S132-02 なぜ JavaBeans のようなコンポーネントが必要なのですか?
S132-03 JavaBeans はどのように作成するのですか?
S132-04 JavaBeans の API はどのような機能を提供しているのですか?
S132-05 BDK(JavaBeans Development Kit)とは何ですか?
S132-06 JavaBeansのプロパティって何ですか、どのように定義するのですか?
S132-07 プロパティを定義する際に注意することはありますか?
S132-08 Bound プロパティって何ですか?
S132-09 Constrained プロパティって何ですか?
S132-10 プロパティエディタって何ですか?
S132-11 カスタマイザって何ですか?
S132-12 プロパティエディタやカスタマイザはどの IDE からも利用できますか?
S132-13 BeanInfo は必ず作成しなければなりませんか?
S132-14 BeanInfo はどのように作成するのですか?
S132-15 作成したコンポーネントはどのように配布するのですか?

Top

S133  JDBC(ドライバ)

S133-01 アプレットで利用できる JDBC ドライバはなんですか?
S133-02 JDBC ドライバはどのように分類されていますか?
S133-03 JDBCの各バージョンに対応しているDBMSのバージョンはどうなっていますか?
S133-04 アプレットをリロードするとJDBCのドライバのロードがSecurityExceptionになってしまうのはどうしてでしょうか?
S133-05 なぜ java.sql.Driverは醜い設計なのでしょうか?
S133-06 MS AccessのODBCはJDK 1.2のJDBC-ODBCドライバと相性が悪いのですか?
S133-07 Oracle JDBCドライバのバグにはどのようなものがあるでしょうか?
S133-08 SQLJを使う際にはどこに注意したらいいでしょうか?
S133-09 Microsoft の Visual J++ で JDBC-ODBC ブリッジが動きませんがどうしたらいいでしょうか?
S133-10 Linux で InterBase を利用したいのですが、JDBC ドライバはどこにありますか?
S133-11 Linuxで使えるRDBMS一覧は?
S133-12 Microsoft Access を利用したいのですが、どうしたらいいでしょうか?
S133-13 PostgreSQL を利用したいのですが、どうしたらいいでしょうか?
Top

S134  JDBC(日本語の扱い)

S134-01 JDBCドライバを使って、データベースと日本語データをやりとりするには?
S134-02 JDBCドライバで日本語名のテーブルにアクセスするにはどうすれば?
S134-03 日本語化されていないJDBCドライバを使って、データベースと日本語データをやりとりするには?
S134-04 日本語対応していないJDBCドライバを使うときに、どうやって指定する文字のエンコーディングを決めるのですか?
S134-05 Oracleの表のLONG型の列に、ある日本語コードのテキストデータを入れたいのですが?
Top

S135  JDBC(プログラミング)

S135-01 java.sql.ResultSet をシリアライズすることはできますか?
S135-02 java.sql.ResultSetで取得したデータの数を得たいのですが?
S135-03 JDBCでSELECTした件数を取得したいのですが?
S135-04 「java.util.*」と「java.sql.*」を同時にimportするとエラーになるのはなぜ?
S135-05 java.sql.Date#getTime() メソッドが返す値は、環境によって GMT になったりJST になります。なぜ?
S135-06 java.sql.ResultSet で取得したデータが SQL の NULL かどうかを判別したいのですが?
S135-07 大量のデータを更新したいのですが、ネットワークの負荷が気になります。解決策は?
Top

S146  エンコーディング - encoding(国際化/日本語化)

S146-01 String文字列をShift-JISや日本語EUCに変換したいのですが?
S146-02 Shift-JISや日本語EUCの文字列からStringを作るには?
S146-03 文字列を扱う要素が byte[], char[], String, StringBuffer などいろいろあるようですが、どう使い分けたら?
S146-04 デフォルトのエンコーディングを変えようとして、java -Dfile.encoding...とオプションを変えてもうまく動きません。なぜ?
S146-05 Javaで指定できるエンコーディング名にはどのようなものが?
S146-06 Javaにおける文字コードの話で、時々「MS932」「CP932」「CP930」「CP939」という言葉が出てきますが?
S146-07 Shift-JISや日本語EUCやJISの日本語コードを自動認識して読み込みたいのですが?
S146-08 デフォルトのエンコーディングがJISAutoDetectだと便利だと思うのですが、そうなっていないのは何故?
S146-09 '−'や'〜'が文字化けします。他の文字は文字化けしていないのになぜ?
S146-10 JISAutoDetectで入力した元の漢字コードが何か知りたいのですが?
S146-11 MicrosoftのJavaで、エンコーディング名に"EUCJIS" を指定してもUnsupportedEncodingException 例外が発生します。どうすれば?
Top

S156  ソースコード中の文字列(国際化/日本語化)

S156-01 日本語を表示すると化けてしまいます。
S156-02 Shift_JISやEUC-JPで書かれたソースは厳密にはJavaのソースではないのでは?
S156-03 ソースファイル中から国際化すべき文字列部分を探し出すには?
Top

S171  実行時エラー(スタックトレースの読み方)

S171-01 実行時エラーの読み方は?
S171-02 java.lang.ArrayIndexOutOfBoundsException
S171-03 java.lang.NullPointerException
S171-04 Windows95/98で、実行時エラーをファイルにリダイレクトしたい
S171-05 アプレットで Javaコンソールに ClassFormatError
S171-06 Java.lang.ClassFormatError:Bad magic number
S171-07 java.io.IOException: bad zip file format
S171-08 Applet exception: error: java.lang.NoSuchMethodError: ...
S171-09 Applet exception: class ... got a security violation: method verification error
S171-10 Applet exception: java.awt.Component: method ... not found
S171-11 java.net.MalformedURLException
S171-12 java.io.UnsupportedEncodingException
S171-13 Unable to initialize threads: cannot find class java/lang/Thread
Top

S172  コンパイルエラー

S172-01 エラー: Test.java を読み込めません。
S172-02 クラス Test は public であり、ファイル Test.java で宣言しなければなりません。
S172-03 Test.java は推奨されない API を使用またはオーバーライドしています。詳細については、-deprecation オプションを指定して再コンパイルしてください。
S172-04 Date の参照はあいまいです。
S172-05 例外 java.net.MalformedURLException は報告されません。スローするにはキャッチまたは、スロー宣言をしなければなりません。
S172-06 return 文が指定されていません。
S172-07 この文に制御が移ることはありません。
S172-08 ラベル breakpoint は未定義です。
S172-09 Test は abstract として宣言する必要があります。
S172-10 式の開始が不正です。
S172-11 static でない メソッド bar() を static コンテキストから参照することはできません。
S172-12 XXXException はすでにキャッチされています。
S172-13 シンボルを解釈処理できません。
S172-14 スーパータイプのコンストラクタの呼び出し前は...を参照できません。
S172-15 変数...は初期化されていない可能性があります。
S172-16 packageを指定したらコンパイルできなくなったのですが?
S172-17 ClassA の methodA() は InterfaceA の methodA() を実装できません:弱いアクセス特権に割り当てようとしたのは public でした。
S172-18 変数 intValue は初期化されていない可能性があります。
S172-19 abstract final void someMethod(); がコンパイルエラーにならないのですが?
S172-20 JDK 1.1.? の javac で、日本語エラーメッセージにできませんか?
S172-21 JDK 1.0.2 の javac で、日本語エラーメッセージにできませんか?
S172-22 error message '......' not found
S172-23 java.io.UTFDataFormatException
Top

この後の項目も続々と追加予定。現在編集作業中

■ Java FAQ について ■
   本文書の作成には万全を期しますが、明示、暗黙を問わずこの文書の内容
 に関してはいかなる保証も適用しません。
 本文章では最新の正しい内容を提供するよう努力いたしますが、
 内容に誤りがあり、またこの文書によって、不利益を被っても、
 作者は一切関知いたしません。   
   この文書中の登録商標は、一般にその所有者のものです。

   この文章に関する問い合わせやご意見・ご要望等は、Java FAQ 管理者
(andoh@dst.nk-exa.co.jp) までご連絡ください。    

■ 謝辞 ■
   本文章は、原稿作成において参考にした Java House Mailing List
の各メンバーの多大な功績、そしてこのFAQの作成に協力・情報提供してくださった
以下の方々と監修・校正に協力してくださった方々の功績があってはじめて
作成することが出来ましたことをここに記します。

(ChangeLog)
Copyright (C) 2000 - 2001 Java FAQ Project
Special Thanks to: many contributors and Java-House ML.
Java FAQ is maintained by Yukio Andoh (andoh@dst.nk-exa.co.jp).
コメントの送り先:Java FAQ BBS

counter