1 名前:デフォルトの名無しさん [2008/03/01(土) 18:16:51 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド112【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1202467704/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
652 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 21:56:12 ] コードを少しずつ改変して行くに当たって、 それぞれにバージョンを付けて残しておこうと思ったら、 プロジェクトごとコピーして残しておけばいいんですか? もっといい方法があるんですか? Eclipseを使っています。コードを書くのは自分一人です。
653 名前:649 mailto:sage [2008/03/22(土) 21:57:47 ] "((([12][0-9]{1,2})|([1-9]{0,1}[0-9]))\\.){3,3}(([12][0-9]{1,2})|([1-9]{0,1}[0-9]))"
654 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 22:03:06 ] それ 299 が通る。 25[0-5]|2[0-4]\d|1\d\d|[1-9]\d?
655 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 22:05:24 ] >>645 正規表現に拘る部分なのか(まぁ何も言うまい >>652 豪華にいくなら、バージョン管理システム。subversion とか cvs とか LocalHistory でもそこそこ残ってる(条件は知らない
656 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 00:38:14 ] subversionは別に豪華じゃないんじゃない?file://でいけるし。
657 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 01:10:38 ] >>655 バージョン管理システムは別に豪華じゃない。 Mercurialとかならサーバのセットアップすら不要。
658 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 02:01:57 ] 信者くせー
659 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 05:36:43 ] AES でサポートされているはずの 192bit, 256bit のキー指定すると例外になるのは何で? サポートされてないの? Exception in thread "main" java.security.InvalidKeyException: Illegal key size or default parameters at javax.crypto.Cipher.a(DashoA13*..) at javax.crypto.Cipher.a(DashoA13*..) at javax.crypto.Cipher.a(DashoA13*..) at javax.crypto.Cipher.init(DashoA13*..) at javax.crypto.Cipher.init(DashoA13*..) at Main.main(Main.java:101)
660 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 12:27:26 ] >>659 違いそうだけど、輸出制限版とかいう話?
661 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 12:54:20 ] 普通に Sun からダウンロードした奴だけど規制版じゃないよね。 Blowfish も 128bit より上は同じ例外なんだけど。
662 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:01:43 ] java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/crypto/CryptoSpec.html#AppC やっぱ輸出制限であってるかも。 制限解除したポリシーファイルだけダウンロードできるけど、 そもそも日本はダウンロードOKな国なのか??
663 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:20:33 ] >>662 ascii24.com/news/i/topi/article/2000/07/19/610269-000.html 2000年で撤廃されてるらしいから、日本ならダウンロードOK。
664 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:37:07 ] java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/crypto/CryptoSpec.html#ExemptApps > 関係があるのは、作成するアプリケーションが、政府により暗号化制限の課された国に > 輸出される可能性があり、アプリケーションをその制限に適合させる必要がある場合だけです。 とあるので制限は解除されているものかと思ったら、128bit で制限かかるあたりからしてこれみたいですね orz 解除の試行錯誤でもしてみるか orz
665 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:43:15 ] SUNから解除用ファイルダウンロードしてファイル1個置き換えるだけだよ。
666 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:45:59 ] java.sun.com/javase/ja/6/download.html の下の方の その他のダウンロード Java Cryptography Extension (JCE) 無制限強度の管轄ポリシーファイル 6 てやつ。
667 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:08:47 ] どうもご丁寧にありがとうございます m(_ _)m ちなみに対照鍵暗号のアルゴリズム的な強さの現状ってこんな感じで良いんですかね。 AES ≒ Blowfish >> トリプルDES > [解読可能の壁] > DES
668 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 20:02:41 ] SwingでWindowsのLook&Feelを用いたとき Windowsのネイティブな部品のように 「コピー」「貼り付け」などのメニューが自動で表示されるようにはできないでしょうか? AWTを用いればWindowsの部品として自動で表示されるようですが、 Swingの場合、自分でそれらの処理を実装しなければならないのでしょうか?
669 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 20:07:03 ] はい
670 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 20:43:04 ] Swingならハンドラ実装するだけ
671 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:07:16 ] 今までGUIの終了時処理はWindowListenerを登録して行っていたのですが終了時処理であれば RuntimeのaddShutdownHook() の方が適切なのでしょうか? 一般的なGUIアプリケーションでの終了時処理でこの方法を用いているものを見かけたことがなかったので、何か理由があるのかと思い質問させていただきました。
672 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:42:30 ] >>667 AES > Blowfish > トリプルDES ぐらいかなあ ・トリプルDESはDESの強化版なので実績という観点からは評価が高いが、 さすがにいいかげん古い。あと低速 ・一般にブロック長が大きいほうが強度もより高くなるので AES(ブロック長128ビット)はBlowfish(ブロック長64ビット)より強いはず 実際、最近考案された暗号はどれも128ビット以上のブロック長を採用している (Blowfishの設計者が新しく考案したTwofishもブロック長128ビット)
673 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:55:05 ] 繰り返しの構文について質問なのですが、 rubyのredoの役割を果たすものってjavaには無いのでしょうか?
674 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 23:04:12 ] >>673 ない。Java は break と continue だけ。
675 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 23:07:24 ] break => break next => continue retry = なし redo = なし かな。
676 名前:634 mailto:sage [2008/03/23(日) 23:08:36 ] >>674 ありがとうございます。 スクリプトに出来てjavaに出来ないことがあるってのは意外ですね。
677 名前:634 mailto:sage [2008/03/23(日) 23:09:18 ] >>675 さんもありがとうございます。
678 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 23:21:22 ] >>671 javaw and shutdown hooks (referring to #4302814) ttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4486580
679 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 00:11:04 ] >676 そうか? redo とか retry とかRubyでも偶にしか使わんし、他の言語を見てもある言語は少ないかと。
680 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 00:22:23 ] >>676 >スクリプトに出来てjavaに出来ないことがあるってのは意外ですね。 なんか解釈が間違っている気がする
681 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 00:26:17 ] Ruby厨ってやつだろ
682 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 00:45:54 ] FileInputStreamからFileChannelを取得し、そのFileChannelでmap()を実行すると、ストリームやチャネルをクローズしても元ファイル(FileInputStreamのソース)を削除できません。 原因はMappedByteBufferによって使用中になってしまうからという単純なものなのですが、解決策が FileInputStream fis = new FileInputStream(input); FileChannel fc = fis.getChannel(); ByteBuffer buf = fc.map(); .... buf = null; System.gc(); input.delete(); これくらいしか思いつきませんでした。 何かいい方法はないでしょうか?
683 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 01:13:37 ] >>676 retry や redo と同等の処理を記述することはそれほど難しくないから、 「出来ない」というのは語弊がある。
684 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 02:09:59 ] やさしいJavaを読み終わり基礎中の基礎?の構文を覚え 今結城浩氏のデザパタの本を読んでいるのですが、実務経験が無いため それらのパターンをどの様な時に使えばいいか想像がつきません。 Struts等を使ったシステム開発業務に興味があるのですが、 Web系ではどのようなパターンが使われているのでしょうか? 重ねて質問ですが、最初はどのようなパターンから覚えていけば良いでしょうか? よろしくお願いいたします。
685 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 02:29:20 ] 畳の上の水練という言葉があってだな
686 名前:684 mailto:sage [2008/03/24(月) 02:43:57 ] >>685 分かってはいるつもりでしたが・・・ デザパタの存在自体が面白くて、どうしても勉強したかったのです。 何かツールでも作りながら地道に覚えていきます。
687 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 03:00:42 ] Vector vec = new Vector(); System.out.println("----追加----"); String obj1 = new String("Hello World!"); StringBuffer obj2 = new StringBuffer("こんにちは、世界!"); vec.addElement(obj1); 上記をコンパイルすると最後の行でコンパイルエラーが発生します。 jdk5.0を使っているのですが、何を行えば正常にコンパイルできますか?
688 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 03:13:14 ] うちでは 注:Hoge.java の操作は、未チェックまたは安全ではありません。 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。 と警告が出るだけでコンパイルされるんだが。 単にコンパイル警告をなくしたいなら javac -source 1.4 オプションを付ける。 もし>>687 のコードが教科書どおりならその教科書は古い。 VectorのようなコレクションはJDK1.5以降Generics対応なので、 Vector<String> vec = new Vector<String>(); のように型を明示して使うのが基本。というかVector自体(ry
689 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 03:26:34 ] 古い。
690 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 08:01:33 ] >>682 FileChannel の JavaDoc にも GC されるまでマッピングは有効って書かれているから おそらくそれくらいしか方法は無い。 なんでこういう仕様なのか、俺も問いただしたい気持ちでいっぱいだ。
691 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 09:13:02 ] >>690 やはりそうでしたか。 破棄してくれる手段を一つくらい提供してくれてもよさそうですけどね。 諦めてgcすることにします。
692 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 09:40:50 ] 解っているとは思うが、System.gc()を実行してもGCされるわけじゃないぞ
693 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 10:01:06 ] サーバプログラム書いてるんですけど、 inetdとかスーパーサーバからの起動だとプロセス毎にフォークしちゃうから 嫌で、そのへんをスレッドでやりたいんですけど、 その時ってどうやって起動すればいいんでしょうか? 普通にシェルからjavaをバックグラウンドで起動しちゃうとなんか思わぬ影響がでちゃうとか書籍にかいてありました。
694 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 10:11:00 ] 「嫌で」「なんかでちゃう」 そんなとこなら諦めれ
695 名前:693 mailto:sage [2008/03/24(月) 10:23:28 ] >>694 inetdからサーバを呼び出すと、 1クライアントに対してforkとexecを実行するのでCPU時間が増大してしまいます。 それを防ぐために1クライアントに1スレッドを割り当てたいと考えています。 しかし書籍を調べましても起動時にどうすれば良いのか分かりません。 もしよろしければご教授願えませんでしょうか?
696 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 10:26:40 ] サーバでJavaのプロセスを起動し、Socket通信汁
697 名前:693 mailto:sage [2008/03/24(月) 10:32:54 ] >>696 そのプログラムは書いたのですが、 単に端末からバックグラウンドでプログラムを起動しただけでは、 開始した端末セッションからプロセスを切り離せません。 ではどうすればプロセスを切り離して起動できるのでしょうか?
698 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 10:44:13 ] nohup じゃだめなの?
699 名前:693 mailto:sage [2008/03/24(月) 11:04:20 ] >>698 勉強不足でnohupを知りませんでした。 それでやります!ありがとうございました!
700 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 11:38:55 ] そもそもクライアント毎にサーバープロセスを起動するのがナンセンスかと
701 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 11:59:15 ] でもタスクをキューにためてそれを逐次処理するのは遅いのでは?
702 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 12:02:46 ] いやきっとクライアント毎に起動するのはスレッドでしょ。 inetdみたいなデーモンをコンソールから起動すると、端末から切り離せない、 って悩んでただけで。 最終的には、inetd自身のように、/etc/init.d/に起動スクリプト置いてほげほげ、 ってするのが正しい姿なんだろうけど。
703 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 12:07:14 ] そうですよね。 でもサーバが落ちた時に自動起動しないのが難点なくらいで、 他に困るようなことが思いつかなかったので、nohupでもいいかなって思いました。
704 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 12:55:12 ] >>701 マルチスレッドで処理しろよw
705 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 17:09:28 ] ArrayList<Integer>って型に入ってるデータをソートしたいんだけど どういうやり方が良いんでしょう? 今はArrays.sort()にtoArrayでObject[]にしたものと Comparatorを実装したクラスのオブジェクトを渡しています ほかに良い方法があれば教えてください
706 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 17:12:19 ] Collections.sort()
707 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 17:12:29 ] つCollections.sort
708 名前:705 mailto:sage [2008/03/24(月) 17:17:03 ] >>706-707 あ、やっぱりそれ用のがあったのですね ありがとうございました
709 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:47:39 ] >>697 $ ./hogehoge > stdout.log 2>stderr.log < /dev/null & とかやればシェルから切り離せるけど、そういうことを言ってるわけ? バックグランドプロセスがあるとシェルが閉じれないのは シェルが用意した stdin, stdout, stderr を持っているからで、 それを別に用意すればOKなんだけど。
710 名前:デフォルトの名無しさん [2008/03/24(月) 22:37:59 ] とても初歩的な質問でお恥ずかしいのですが、 自分の出した答えに自信がないため、質問させていただきます。 int型の変数を2byteの配列に格納(その後取り出し)したいのですが、 ビット演算の理解がつたないため、下記のようなやり方しか思いつきませんでした。 正しいやり方をご存知の方がおりましたら、 教えていただきたく、よろしくお願いいたします。 byte[] data = new data[2]; int num = 128; //格納 data[0] = (byte)(num >> 7); data[1] = (byte)((num << 25) >> 25); //取り出し num = data[0] << 7; num += data[1];
711 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:42:30 ] data[0] = (byte)((num >> 8) & 0xFF); data[1] = (byte)((num >> 0) & 0xFF); num = ((data[0] & 0xFF) << 8) | ((data[1] & 0xFF) << 0);
712 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:44:18 ] >>710 JDKについてくるjava.awt.Colorあたりのソースで、intと alpha, red, green, blueの各1バイトの換算をしているのが参考になると思う。 intは4バイトだから、厳密に言えばサイズ2のバイト配列には入りきらない。 シフト量は24, 16, 8, 0な。
713 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:49:26 ] >>711 >>712 返信いただき、ありがとうございます。 教えていただいたコードと参考資料を元に、 ビット演算の知識を深めたいと思います。 自分ではどうしてもわからなかったため、 とても助かりました。 本当にありがとうございました。
714 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:51:26 ] Javaでbyteがsignedってのはつくづく罠と思う。
715 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:53:37 ] だよなー おかげでバイナリの扱いがとてもしにくい・・・
716 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:32:34 ] intが17bit以上の場合が考慮されていないけどいいのか?
717 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 00:57:08 ] javaはバイナリの操作向いてないよ
718 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 01:30:50 ] またおまえか
719 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 08:02:38 ] 覚えておいたほうがよい 静的メソッドや変数などのリストの一覧的なものってどこにありますでしょうか
720 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 08:15:00 ] MathクラスとかSystemクラスとか他によく使用されるものの一覧を探しています
721 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 08:17:15 ] そんなものはない。静的メソッドは必要に応じて都度クラスに付いてるから 静的メソッドだけ一覧的に覚えること自体に意味がない。
722 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 08:19:51 ] APIじゃだめなの?
723 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 09:15:54 ] >>719 >>3 java.lang, java.util. java.io パッケージ群のそれぞれのクラス、仕組みは 押さえてしかるべき、と主張する人も居るね(逃
724 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 09:43:16 ] 公開鍵証明書を作るクラスって標準でないの? keytool 使うしかない?
725 名前:719 mailto:sage [2008/03/25(火) 11:14:34 ] 静的って書いたのがまずかったのでしょうか Math.なんちゃら〜 とか system.なんちゃら〜 みたいなもので 頻繁に使われるような物のリストを探しているのですが まとめてあるサイトは見つかったのですがあまり使わないようなものが大量にあったり どれがよくつかわれるものなのかわからないので これは覚えておいたほうが良いというものを集めてリストになっているサイトなどありましたら教えてください
726 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 11:16:31 ] 何が必要かなんて、分野によって違ってくるのが当たり前。 とりあえず、ArraysとかCollectionsをあげておくけど、 自分で見つけるのが一番いいと思うよ。
727 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:16:29 ] Mathのメソッドもそんなに頻繁に使うとは思えない
728 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:33:40 ] >>723 みたいに、java.lang, java.util. java.io以下のクラスは押さえて、 あとはJavadocでその都度確認、ってのでいいんじゃね。
729 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:35:03 ] >>724 証明書を発行するAPIというのは標準にはなかったと思う。
730 名前:719 mailto:sage [2008/03/25(火) 12:57:38 ] java.lang, java.util. java.io以下のクラスですな さっそく調べて覚えるよう様にするす dクス!
731 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:59:22 ] 719が聞いてたのはstaticメソッドのことじゃないの?
732 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 15:40:34 ] Sound APIについて質問です。 DataLine.Info info = new DataLine.Info(TargetDataLine.class, format); TargetDataLine target = (TargetDataLine)AudioSystem.getLine(info); これで取得したターゲットラインを録音すると、コンピュータ上の音(スピーカーから通常出る音)が録音されました。 これをマイクからの入力に変えるにはどうすればよいのでしょうか? Port.Info.MICROPHONEを情報としてPortを取得して・・・とするのでしょうけれでもその先が分かりません。
733 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 16:20:26 ] >>732 AudioSystem#getMixerInfo、AudioSystem#getMixer、Mixer#getTargetLineInfoあたりで 全部のターゲットラインをリストアップして、一覧から選ばせるってのはどうだろう・・・
734 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:55:04 ] javaのコンパイラのパスを要求されたらどこを指定すればいいのでしょうか j2sdkを普通にインストールしました
735 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:56:49 ] OSは?
736 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:57:07 ] C:\Program Files\Java\jdk1.6.0_05\bin
737 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:57:13 ] 窓xp sp3です
738 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:01:46 ] >>736 そこらへんで見つかりました ありがとうございます ずっとjreの方を見てました
739 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:10:39 ] JDKを入れるのが初めてなら落とすときにインストール手順を読まないのだろうか
740 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:15:00 ] 世の中にはマニュアル類を読まない人間が結構いるらしいよ
741 名前:>>733 mailto:sage [2008/03/25(火) 18:51:09 ] >>732 それしかないみたいですね。 そうします。ありがとうございました!!
742 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:03:55 ] PATHって、違う言語をコンパイルするときには毎回変えないといけないの? 今Cの設定なんだが。
743 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:08:09 ] どんどん追加していけばいいだけ
744 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:14:55 ] 基本的に同じ PC 上で同じ言語 (コンパイラ) の違うバージョンを使い分ける場合だけ気をつければ良い。
745 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:17:31 ] 追加できるのか。ども。
746 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2008/03/26(水) 10:56:16 ] javac の -g:<キーワード> で sources,lines,vars のデバッグオプションが 指定できますが、デバッグ情報が載らない(載せない)と言う点以外の影響 (性能劣化等)はあるのでしょうか。class ファイルが大きくなるだけでしょうか。
747 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:03:56 ] サブクラスのインスタンスから「スーパクラスのメソッド」呼び出した時、 スーパクラスのメソッド内で、「サブクラスでオーバライドしたメソッド」を使ってた場合に 動的バインドでオーバライドした方のメソッドが呼び出されるのって 単純に気をつけるしかないんでしょか?
748 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:09:07 ] >>747 当然の話。むしろ呼んでくれないと困る。 それを「気をつける」と認識する方が問題。
749 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:11:17 ] ありがとう。認識あらためます。
750 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:14:40 ] >>747 オーバーライド(上書き)とはそういうもの。 公開したいけど、上書きされるのが困るのならば、final を付けてしまいましょう。 公開する必要が無いならば、private にしましょう。 そもそも継承されることを望んでいないなら、class を final にしてしまいましょう。
751 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 13:04:04 ] 言い方を変えれば、上書きしたメソッドを呼んで欲しいからサブクラスで上書きするわけで、読んで欲しくないならばオーバーライドする必要がない ただ、「意図せずにスーパークラスのメソッドをオーバーライドしてしまった」とか「意図せずにサブクラスで定義されているメソッドと同名のメソッドをスーパークラスに定義してしまった」というケースはある。 解決策はfinalもあるが、@Override無のオーバーライドはコンパイルエラーとする、という方が柔軟ではある。
752 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 15:12:47 ] C# と比較するとわかりやすいかも。