1 名前:デフォルトの名無しさん [2007/03/31(土) 13:57:18 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド99【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1173026128/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
513 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 20:57:25 ] >>497 エクセル持ってないんだが、エクセルのデータ(表全選択?)は、おそらく、 生のエクセルデータ (application/vnd.ms-exel ?) テキストデータ (text/cvs ?) など複数の形で取得できる状態でクリップボードに入っていると思う。 その状態でTransferableを取ってくるところまでは出来たものとして、 for (DataFlavor df : trans.getTransferDataFlavors()) { System.out.println(df); } してみるとどんな情報が得られるでしょう? 画像として取れるようなら問題ないんだけど、そうでなければ無理かも。
514 名前:500 mailto:sage [2007/04/16(月) 20:57:34 ] >>451 どういたしまして。お礼を言われると嬉しいです。
515 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 22:18:24 ] >>489 ALTER SYSTEM CHECKPOINT けれど、自身使ったことは無い
516 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 22:35:13 ] >>508 Unicodeのこと?String#charAt(int)で取得できるけど。 ただ、文字の大小比較が目的なら、charAt()よりはequals()の方が便利だけどね。用途に寄るけど。
517 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 22:42:40 ] ……大小比較で equals?
518 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 03:15:09 ] ____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ 文字の大小比較が目的なら、charAt()よりはequals()の方が便利だけどね。 | |r┬-| | 用途に寄るけど。 \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // だっておwwwwwwwwwwwwwwwwwww | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー'´ ヽ / / バ | | l||l 从人 l||l l||l 从人 l||l バ ン ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
519 名前:デフォルトの名無しさん [2007/04/17(火) 10:05:42 ] プログラマーの人に質問、 一日中パソコンにむかっているの?目が疲れたりしない? 仕事は過酷ですか?教えて
520 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 10:18:48 ] まず、確実に飛蚊症にはなるわな
521 名前:デフォルトの名無しさん [2007/04/17(火) 10:25:45 ] 俺のパソコンに.java.policyっていうファイルがあってこんな中身なんだけど、どのくらいヤバいですか? grant { permission java.io.FilePermission "<<ALL FILES>>", "read, execute"; permission java.util.PropertyPermission "user.home", "read"; permission java.util.PropertyPermission "file.encoding", "read"; };
522 名前:デフォルトの名無しさん [2007/04/17(火) 16:26:44 ] GEFを使用して、画面設計してGEF内にある ZoomInとZoomOutを実装したのですが、いざキーに割り振ろうとして getSite().getKeyBindingService().registerAction(zoomIn); と記述すると、 メソッド getKeyBindingService() は型 IWorkbenchPartSite で使用すべきではありません。 メソッド registerAction(IAction) は型 IKeyBindingService で使用すべきではありません。 と言われるのですが、将来性の無いgetKeyBindingServiceからgetServiceに 変更しろとclassには書かれているのですが、実装方法がわかりません どなたか教えてもらえないでしょうか?お願いします
523 名前:473 mailto:sage [2007/04/17(火) 23:40:54 ] >>513 試してみましたが、取得できたデータは imageとは違いました。 なんだろう・・・・詳しくは見てないんですが、 文字列が取得できたっぽいです。 レス、ありがとうございました。
524 名前:デフォルトの名無しさん [2007/04/18(水) 02:10:05 ] おまえらカスどもに質問です SunMicrosystemsのJava APIだけじゃ半透明なGUI作れないのはなぜですか? Javaの設計思想も含めて、リンクを貼らずに詳しく教えろハゲ
525 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 02:23:58 ] >>524 カスですので質問は聞きますが、ハゲでは無いので詳しくは教えられません。 しかしま、何処の宿題でしょうかね。 Java API の GUI には、AWTとSwingがあるが、OSに描画可能範囲を認識させるには AWTではFrame、Window、Dialogを、Swingではそれらのサブクラスを用いる必要がある。 これらのクラスには半透明処理を行う機能が無いため、自ずと半透明表示は行えない。 設計思想は…なんだろうねぇ。 「どのJVMでも動く」ようにするために、OS間で共通性の無い機能は実装しなかった、ぐらいか。
526 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 02:37:16 ] >>524 半透明は、やろうと思えば java.awt.Robot でスクリーンキャプチャ取って それを使って java.awt.Window に自前で半透明にした画像描画してやりゃできるよ。 実用的な速度が出るか未知数とか、背景が動画やゲームみたいに動いてると上手くいくかわからん ってのはあるけどさ。
527 名前:デフォルトの名無しさん mailto:ファンより [2007/04/18(水) 02:42:32 ] 島根県のみなさん、パチンコをするなら、 優良パチンコ店 エ○トワン に行こう! 遠隔(※1)をやっていないパチンコ店は「エイ○ワン」だけ! 違法ロム(※2)を使っていないパチンコ店も「エイト○ン」だけ! ○イトワンでは、遠隔等が可能な設備は入れていません。 ロムも、警察がチェックしやすくしています。 詳しい方はご存知の通り、どんなにパチンコの遊戯人口が変動しても、その市場規模は変わりません(※3)。 要するに、客が減っても、残った客から絞り盗る量を増やして調整しているのです。 しかし、何故それが可能なのか?…ご理解頂けると思いますが、9割以上の店が確実に遠隔等を行ってます。 1万店以上のパチンコ店の中で、遠隔も違法ロムも確実にやってないのは「○イトワン」ただ1店です! ※1…遠隔とは 「お、あの客は新顔だな。勝たせて味を占めさせるか。遠隔操作で設定変更しよ」 「客が減ってきたな。ま、設定を絞めて(違法)、1人あたりから搾る量を増やせばいいか」 「あのオヤジ負け続けてるからそろそろ辞めるかもな。今日は勝たせてやるか」 ※2…違法ロムとは 「うちのアタリ確率は、もちろん他と同じ『○○○分の1』ですよ!(ロムいじってるからウソだけど)」 ※3 市場規模 遊戯人口 平成06年 30兆4,780億円 2,930万人 平成08年 30兆0,630億円 2,760万人 平成10年 28兆0,570億円 1,980万人 平成12年 28兆6,970億円 2,020万人 平成14年 29兆2,250億円 2,170万人 平成16年 29兆4,860億円 1,790万人
528 名前:521 [2007/04/18(水) 02:45:47 ] .java.policyってやつ ttp://www.filebank.co.jp/ ここのツールをインストールしたら作成された事が判明。 で、これってどうなん?よくあること?
529 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 02:48:45 ] しかしJava 2D APIでは、アルファ値の管理ができるだろ? スクリーンキャプチャとか糞みてーな発想はやめてくれよ
530 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 06:26:29 ] >>529 実際APIでもキャプってるってことに気づいてね
531 名前:デフォルトの名無しさん [2007/04/18(水) 11:02:04 ] >>529 ちゃんとソース読め
532 名前:デフォルトの名無しさん [2007/04/18(水) 14:00:11 ] javaでネイティブスレッドを作れますか? Threadでインスタンス作ったらネイティブスレッドになりますか?
533 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 14:06:15 ] >>532 ネイティブスレッドな実装もあるけど、言語仕様とかで保証されてるわけじゃない。 昔には green thread版とかもあったし。
534 名前:デフォルトの名無しさん [2007/04/18(水) 14:40:11 ] Eclipseを使用する際に、JDK準拠の設定でコンパイラの準拠レベルの 設定項目があるのですが、JDK1.4でコーディングしたソースを 1.5のコンパイラに変更して、クラスファイルの互換性、ソースの互換性を 1.4にすることはよくないのでしょうか?
535 名前:デフォルトの名無しさん [2007/04/18(水) 15:30:13 ] javaで、アスキーコードをチェックしたいのですが、 VBでいう、ASC関数みたいなものはあるのでしょうか?
536 名前:ぴゅあ [2007/04/18(水) 15:41:57 ] javaもおしまいですか。。。 ttp://www.oreilly.co.jp/books/9784873113203/
537 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 17:07:04 ] RoRはJavaじゃなくてPHPやCMSと食い合うと思うんだけどね。 マネージャーのための・・というところにイカサマっぽさを感じる。
538 名前:デフォルトの名無しさん [2007/04/18(水) 17:16:53 ] Java 1.6から、pathとは無関係に、VMが起動するようですが、以前のversionの VMを使いたいときにはどう設定すればいいのでしょうか?
539 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 17:19:46 ] >>538 > Java 1.6から、pathとは無関係に、VMが起動するようですが 単に JRE が %SystemDir% に突っ込んだ java.exe とか javaw.exe 使ってるだけなんでは? それらを削除するか、%PATH% の中で %JAVA_HOME%\bin の優先順位を %SystemDir% より高くしてみれば?
540 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 17:22:07 ] >>535 char自体数値型なのでASC関数不要。 Stringを調べたいってことならcharAtで切り出す。
541 名前:デフォルトの名無しさん [2007/04/18(水) 17:22:34 ] >>538 環境はWin XPです。
542 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 17:41:17 ] >>535 無いと思う。 必要なら、String.getBytes("UTF-8)で UTF-8 の byte配列にして、 ttp://ja.wikipedia.org/wiki/UTF-8 を参照しながら、自作する。なんて方法も。 UTF-8 にしたのは単に判定が楽だから。
543 名前:デフォルトの名無しさん [2007/04/18(水) 17:43:52 ] >>539 どうも、レスありがとうございます。iAppli関係で古いJREが必要なのです。 どうも、JRE 1.5以降はレジストリにパスが記載されていて、pathに明示 しなくても、> java -versionにちゃんとバージョン情報が出てきます。 %JAVA HOME%の環境変数もなくなっているみたいですし...。もう少し考えて みます。
544 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 18:04:31 ] >>543 レジストリにパスが記載されている事 Pathに明示していない事 %JAVA_HOME%が無い事 それそれがその通りだとしても、 現象と結果は安易に結論付けないように。 windowsにもwhereコマンドみたいなのがあればねぇ
545 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 19:03:48 ] jdbcで、あるテーブルの全カラム名を得る時ってどうすればいいのかな。
546 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 21:17:54 ] select * 発行してResultSetを得て、ResultSetMetaDataを得る。
547 名前:デフォルトの名無しさん [2007/04/18(水) 22:27:58 ] class A{ } class B extends A{ } class CastTest{ 〜略〜 A a1 = new A();←OK B b1 = new B();←OK A a2 = new B();←OK B b2 = new A();←コンパイルエラー(互換性の無い型) A a3 = (A)new B();←OK B a3 = (B)new A();←コンパイル可、実行時ClassCastException 〜略〜 } B b2の時にコンパイルエラーになるのは分かるんですが、、 B b3の時にコンパイルが通ってしまう理由が分かりません。 どなたかエロい人この2つの違いを教えていただけないでしょうか?
548 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:31:03 ] >>545 Connection#getMetaData()でDatabaseMetaDataを取得してから、 DatabaseMetaData#getColumns()でカラム一覧を取得する。 返ってくるのはResultSetだが、 getString("COLUMN_NAME")とかすればカラム名がStringで得られる。 詳しくはjavadoc参照のこと。
549 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:32:06 ] >>547 両方コンパイルエラーだと、キャストの意味がなくなるから。
550 名前:デフォルトの名無しさん mailto:sceudle1029@mail.goo.ne.jp [2007/04/18(水) 22:35:23 ] 数を打ち込んで、以下のような結果を表示するプログラム: 1+2+3+4+5+6+7=28 1*2*3*4*5*6*7=5040 ↑のようなプログラムを作りたいのですが、作れません。 計算は完成してますが、1+2+……1*2*……の部分ができません。 教えて下さい。
551 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:40:41 ] >>547 上は代入時の構文エラー(コンパイルで検出可能) cast の行は構文的には正常(実行時エラー) 比較するなら A a4 = (B) new A(); B b4 = (A) new B(); みたいにしないと 2番目と cast の関連性は検証できないんじゃないかと。
552 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:40:46 ] System.out.println("1+2+3+4+5+6+7=28"); System.out.println("1*2*3*4*5*6*7=5040");
553 名前:547 mailto:sage [2007/04/18(水) 22:41:38 ] 最後の行、 B b3 = (B)new A();←コンパイル可、実行時ClassCastException a3ではなくb3でした。たびたびすみません。
554 名前:デフォルトの名無しさん mailto:sceudle1029@mail.goo.ne.jp [2007/04/18(水) 22:46:26 ] 数を打ち込んで、以下のような結果を表示するプログラム: 1+2+3+4+5+6+7=28 1*2*3*4*5*6*7=5040 ↑のようなプログラムを作りたいのですが、作れません。 計算は完成してますが、1+2+……1*2*……の部分ができません。 教えて下さい。
555 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:48:29 ] System.out.println("1+2+3+4+5+6+7=28"); System.out.println("1*2*3*4*5*6*7=5040");
556 名前:デフォルトの名無しさん mailto:sceudle1029@mail.goo.ne.jp [2007/04/18(水) 22:53:01 ] ちなみに問題は1,2,3,…nの和・積を求める問題です。
557 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:56:08 ] >>556 ★★ Java の宿題ここで答えます Part 60 ★★ ttp://pc11.2ch.net/test/read.cgi/tech/1169300052/
558 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:02:54 ] Javaがキャプチャしてるってのはどういう話? デスクトップ画面を描画してるのはOSだよな? Javaがキャプチャしてるのは自分自身だけじゃないのか?
559 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:54:01 ] >>558 「Javaがキャプチャしてる」という状況が理解できないのだが。 BufferedImage java.awt.Robot#createScreenCapture(Rectangle) ってのは 「スクリーンから読み取るピクセルイメージを作成します。」と言う説明。
560 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:58:37 ] >>526 >>530 の流れ
561 名前:521 [2007/04/19(木) 05:27:04 ] おいこらマジレス頼むよ
562 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 08:05:35 ] >>561 パソコン捨てれば大丈夫だよ。
563 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 08:07:27 ] デフォルトのファイルパーミッションって"<<ALL FILES>>", "read, execute"だったけ? まあ、ユーザーポリシーだろうけど。 ここは作る人間の来る所だ。 ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/security/permissions.html
564 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 08:14:32 ] 昨日、入門して分らないのがあります。 + - * / はできるんですけどあまりを求める演算子%はどこにつけるんでしょうか? 二つの整数は8と3です
565 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 08:26:35 ] 8 % 3
566 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 08:31:39 ] >>565 あ、できてました、ありがとうございます 8/3も2なのでできてないのかと誤解してました。
567 名前:デフォルトの名無しさん [2007/04/19(木) 09:25:49 ] >>561 心配なら認証アプレットでぐぐりなさいってこった
568 名前:デフォルトの名無しさん [2007/04/19(木) 10:59:02 ] おまいがぐぐれ
569 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 11:40:46 ] jspやってるんだけど、jsp自体のエンコーディングはUTF-8 プログラムでは文字はUnicodeだからソースファイル自体のエンコーディングは なんでもいいとおもうけど、ソースもUTF-8に合わせておく方が一般的なのかな?
570 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 11:53:30 ] >>569 OSとDBとWEBアプリケーションのデフォルトエンコーディングは?
571 名前:521 [2007/04/19(木) 12:02:23 ] >>563 すまん、スレ違った。 >>567 認証なしでもアクセス許可するのが.java.policyではないの?
572 名前:初心者だぉ(^・ω・^) ◆tsGpSwX8mo [2007/04/19(木) 14:56:40 ] 一つのラベルが最大20文字で、 数十個のラベルを縦に並べたいんだけど… 条件 1.GUI 1.コンパクトなソース 1.見やすく どのクラス使うのが一番コンパクト?
573 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 15:01:22 ] (^・ω・^)
574 名前:(^・ω・^) ◆tsGpSwX8mo [2007/04/19(木) 15:21:54 ] つーか、これを頼む! (アプレットでもいいが) s.freepe.com/std.cgi?id=entitymn&pn=03
575 名前:デフォルトの名無しさん [2007/04/19(木) 15:49:41 ] 期待あげ♪
576 名前:デフォルトの名無しさん [2007/04/19(木) 16:32:14 ] 誰か、ArrayListをnewしていきなりclear()する意味を教えてくれ。 List list = new ArrayList(); list.clear(); 俺には理解出来んかったんだ・・・orz
577 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 17:02:03 ] 昔のCでは、配列を定義した直後のメモリにはゴミがある事が多いため、0Fillするのが行儀の良いプログラミング とされた時代があったんよ その名残っつーか、癖なんじゃないの?
578 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 17:16:34 ] >>576 それは何の意味もない。 無駄なことをしているからまねをしなくていいよ。
579 名前:デフォルトの名無しさん [2007/04/19(木) 17:32:13 ] スレ違いかもしれませんが 1.6.0_01バージョンアップきたのですが 皆さんしましたか?
580 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 17:47:22 ] 1.6入れてるやつはアップデートした方がいいかもね
581 名前:576 mailto:sage [2007/04/19(木) 18:35:01 ] >>577 そういえば、それを書いた人のコードは ・非オブジェクト指向的 ・コードフォーマットがCやコボルっぽい ・Javaは初心者(型変換が無駄に遠回りw) なので、そうなのかもしれませんね。 >>578 思わずListやAbstractListのソースまで追って確認してしまいましたw
582 名前:(^・ω・^) ◆tsGpSwX8mo [2007/04/19(木) 18:49:10 ] どの雑誌読んでも貸そうか?技術!仮想化技術!バーチャルバーチャルやな! なんの陰謀?
583 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 18:52:28 ] newしたばかりのListを明示的にclearしないと使えないんでは使い勝手が悪いし誤用もしやすい まさにコンストラクタがやるべき仕事 まあ無駄なことをしているだけで意図と違うことが起きるわけではないから害はないと思うけど
584 名前:デフォルトの名無しさん [2007/04/19(木) 19:09:12 ] パッケージ名に、java.hogehoge と続くような名前をつけたいのですが、 Prohibit Package Name のエラーが出てしまいます。 この禁止されたパッケージ名を使うような方法ってありませんか?
585 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 19:15:38 ] >>584 ttp://java.sun.com/docs/books/jls/third_edition/html/names.html#6.8.1 javaで始まるパッケージ名はSunが予約しているから、 もし使いたければSunに相談してみれば?
586 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 19:23:01 ] >>584 JCP に乗り込んで標準APIに加えてもらうように努力するとか。
587 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 19:26:45 ] お前らむちゃ言うなw
588 名前:デフォルトの名無しさん [2007/04/19(木) 19:30:48 ] パッケージ名にジャポニカ語使えたのだが?
589 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 21:33:40 ] 5年ぐらい昔の話だからうろ覚えだが、 自分の属してる学校、会社、団体のURLをさかさまに使うのが 標準だったような。 東京大学の例 u-tokyo.ac.jp package jp.ac.u_tokyo; その後細分化するには、jp.ac.u_tokyo.の後に適当な名前をつける。 `-' を `_' に手動変換するのは確か規則があったような。 要するに、Sun様のおっしゃるには、 「自分のクラスには固有のパッケージ名をつけなさい」 ということです。 java.hogehogeとか javax.foo はSun様がおられる限り使えないであろう。
590 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 21:58:50 ] >>589 最初期は、それに加えて、先頭の語(=TLD)はすべて大文字にすることに なってた。 予約語を含んだドメインの香具師が悩んでたな。 Capitalizeしたりして回避すればいいんだが、美しくない。
591 名前:デフォルトの名無しさん [2007/04/19(木) 23:43:52 ] byteValue()の使い方を教えて下さい。 エロい人、おねげーだ!
592 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 23:47:01 ] Genericsなクラスの具体化(っていうのか?)後の型を、確認のため表示させたいんですけど getClass()だと <T> の部分が省かれてしまいます C++の typeid(arg).name() に相当する結果はどうやったら得られますか?
593 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 23:55:43 ] >>592 > C++の typeid(arg).name() に相当する結果 無理。erasureなのでインスタンスの型パラメータは取れない。 広義のインターフェイスに使われてる型制限の方は、 java.lang.reflect の getParametarizedType() で取れるけど。 Dolphin で変わるかもしれんけど。
594 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 23:59:10 ] 間違い。getGenericsType() だな。 具体的には、 java.lang.reflect.Field.getGenericType() とか、 java.lang.reflect.Method.getGenericReturnType() とか、 java.lang.reflect.Method.getGenericParameterTypes() とか、そのへん。
595 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 00:10:07 ] >>593-594 即答ありがとう。 示していただいたメソッドもポツポツ調べていきます
596 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 01:00:27 ] public class Test { public static void main(String[] args){ final String[] hoge = {"foo","bar"}; hoge[0] = "hoge"; System.out.println(hoge[0] + "," + hoge[1]); } } これを実行するとエラーが出ずにhoge,barと表示されてしまうんだが どうしてこうなるのか、どうすれば変更不可になるのか説明願えないだろうか
597 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 01:08:06 ] >>596 > どうしてこうなるのか final String[] hoge = {"foo","bar"}; ってのは、一回初期化された後に hoge = new String[1]; みたいな代入を禁止するだけ。 > どうすれば変更不可になるのか 配列だと現状では無理。 みたいに java.util.List と java.util.Collections#unmodifiableList() 使えば final List<String> hoge = Collections.unmodifiableList(Arrays.asList("foo", "bar")); で変更不能な List を作れるけど。
598 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 01:09:12 ] >>596 final String[] hoge = {"foo","bar"};で変更不可になるのはhogeそのもの。 hogeの参照先を変えなければ、参照している配列の内容は変更できる。 要素を変更不可にする配列は作れない気がするので、変更不可のCollectionにしてしまえばいい。 Arrays#asListでListにして、Collections#unmodifiableListで変更不可なビューを得る。
599 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 01:09:23 ] final になるのは hoge だけであって hoge[0] は final にならない。 C や C++ 的な const とは違う。
600 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 01:38:44 ] >>597-599 説明サンクス つまりC/C++的な考え方をするとhogeはfoo,barを要素に持つ配列を指すポインタで ポインタ自体は変えられないが指している先の内容は変更できるということでいいんだろか?
601 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 01:56:30 ] >>600 うん そんな感じ
602 名前:デフォルトの名無しさん [2007/04/20(金) 17:31:31 ] javaの入門書を何か買おうかと思ってるんですが 1.C/C++プログラマのJava入門 2.Effective Java プログラミング言語ガイド この二つを今のところ候補に上げています C言語は全体を軽く舐めた程度勉強したので前者でもいいかなと思ったんですが入門書としては高いし 後者はある程度javaを勉強してから読んだほうがいいかもしれないという意見があり悩んでいます どちらがいいでしょうか? これらじゃなくてもなにか良い本があれば教えてください
603 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 17:38:54 ] Javaのプログラムでコッホ曲線を描くプログラムを組んでいたやつがいたんだが、 どういうコードを書いたらJavaでコッホ曲線って描けるの? 再帰の応用らしいけど、よく分からん。 ソース: ttp://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%83%E3%83%9B%E6%9B%B2%E7%B7%9A ttp://sorauta.bufsiz.jp/Fractal/koch.html ttp://www.cam.hi-ho.ne.jp/kai-home01/algorithm/alog_koch2/algo_koch2.htm
604 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 18:37:20 ] 始点(x1,y1)と終点(x2,y2)、深さdを引数にとるメソッド dが0の時、実際に始点(x1,y1)から終点(x2,y2)までの直線を引く。 dが1以上の時、 始点(x1,y1)と終点(x2,y2)の値から中間の点A(x3,y3)、B(x4,y4)、C(x5,y5)を計算して求める。 (x1,y1)と(x3,y3)、d-1を引数にして自分自身を呼び出す。 (x3,y3)と(x4,y4)、d-1を引数にして自分自身を呼び出す。 (x4,y4)と(x5,y5)、d-1を引数にして自分自身を呼び出す。 (x5,y5)と(x2,y2)、d-1を引数にして自分自身を呼び出す。 こういうコードでできると思う。
605 名前:ななし [2007/04/20(金) 19:05:21 ] music.j-total.net/data/001a/076_ayaka_and_kobukuro/001.html このページって印刷できない?
606 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 19:36:24 ] >>605 スレ違い。板違い。 タブ譜には著作権の縛りがかかると思ったけど コード進行は大丈夫だった気がするので掲載。 Dm7 G B♭ C7 F Dm7 G B♭ F B♭m F E♭ B♭ Dm7 D♭ C7 F B♭ C7 F Dm7 G B♭ C7 F F B♭ C7 F Dm7 G Gm D♭ E♭ F Dm7 G B♭ C7 F Dm7 G B♭ F B♭m F E♭ B♭ Dm7 D♭ C7 F B♭ C7 F Dm7 G B♭ C7 F F B♭ C7 F Dm7 G Gm D♭ E♭ F F B♭ C7 F Dm7 G B♭ C7 F F B♭ C7 F Dm7 G Gm D♭ E♭ F B♭ C7 F Dm7 G C7 F F B♭ C7 F Dm7 G B♭ C7 F F B♭ C7 F Dm7 G Gm D♭ E♭ つか、お金払ってどうどうと印刷すればいいんじゃね?
607 名前:ななし [2007/04/20(金) 19:41:59 ] >>606 そうなんだけどお金が無いんだよね。。。笑 でもコレもJAVAで制御されてんだろ? どうやってコピった??
608 名前:デフォルトの名無しさん [2007/04/20(金) 20:38:00 ] tomcat5.5とjdk1.4をインストールしました。 JSPを動かしてみると問題なく動きました。 servletもちゃんとコンパイルできるかなと思って、javacしてみたら srv_intro.java:2: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ srv_intro.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; みたいなエラーが延々とでるので、ああCLASSPATHとおってないんだなと思って、 csh.cshrcにsetenv CLASSPATH /usr/local/tomcat5.5/common/lib を追加しましたが、症状が改善されません。 何かアドバイスお願いします
609 名前:(^・ω・^)b ◆tsGpSwX8mo [2007/04/20(金) 20:54:34 ] Sunテキスト Sun Certified Programmer for Java2 Platform 5.0 Exam【310-055】を買ったぜぃ!
610 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 20:55:03 ] (^・ω・^)b
611 名前:デフォルトの名無しさん [2007/04/20(金) 20:56:17 ] >608オレかよ
612 名前:デフォルトの名無しさん [2007/04/20(金) 21:07:41 ] >>611 色々ぐぐって思ったんですけど、もしかしてこの症状はjdk1.4とtomcat5.5に起因するものなんでしょうか? 自分はJDK 1.4 Compatability Packageを入れてなかったんでこれいれればなおるっぽくないですか? ただ、JSPが普通に動くのにservletだけコンパイルエラー出るっていうのは何か違うような気も・・・ でJDK 1.4 Compatability Packageっていうのをダウンロードしたんですが、これってどうやってインストールするべきなのかわからないんです・・・ とりあえず、tarで展開したらbinとcommonがあるんですけどこれをどうすればよいのか・・・
613 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 21:15:10 ] java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/classpath.html CLASSPATH の指定 (ファイル名かディレクトリ名か) の仕方は合ってる? * .jar または .zip ファイル (.class ファイルを含む) の場合、 クラスパスは .zip または .jar ファイルの名前で終わる * 名前のないパッケージ内の .class ファイルの場合、 クラスパスは .class ファイルを含むディレクトリの名前で終わる * 名前付きのパッケージ内の .class ファイルの場合、 クラスパスはルートパッケージ (完全指定のパッケージ名の先頭パッケージ) の入った ディレクトリの名前で終わる あと、きみが使ってるシェルはほんとにcsh (tcsh) か?