- 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あたりで。
- 41 名前:デフォルトの名無しさん [2007/04/02(月) 04:04:49 ]
- 認定ガイドに書いてあった(:D)| ̄|_
printStackTrace()メクソは『例外が起こった時点でのスタックトレースが出力される』のかぁーズ。 コールスタック(現在のメソッドに到達するまでにそのプログラムで実行されてきた一連のハナクソ)をスタックの巻き戻し(下りながら、めっとも新しく呼び出されたミクソを先頭に、上から下に向かって各メソッドの名前)を出力。 SJC-Pの範囲やん。 デバッグに役立つんですね! プログラムが完成してもprintStackTraceは残したままにしたほうがいいのかな?
- 42 名前:前999 [2007/04/02(月) 04:42:05 ]
- ありがとうございます。24です
>>25さん Springは更に規模が大きそうで。。部分だけつかうのにも理解が届いてない 状況でした。。 >>26さん Javaで利用するデータなので、できればJavaで完結したいというのが あったんですが、おっしゃるとおりですね。別プロセスも考えてみますです。
- 43 名前:デフォルトの名無しさん [2007/04/02(月) 04:49:01 ]
- 日経ソフトウェアDに、
FileReaderクラスを使ってファイル内の文字列を1文字ずつ読み込むプログラムと、 BuffedReaderでバッファリングしながら1行ずつ読み込むプログラムがあります。 前者は while文が-1で停止、 後者は while文でnullで停止、 です。 -1とヌルの使い分けがよくわかりません
- 44 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 05:14:53 ]
- >>43
たぶん、前者はFileReader#read()(InputStreamReader#read())で読み込んで、 後者はBufferedReader#readLine()で読み込んでるんだろうけど、 それぞれのメソッドがストリーム終端で何を返すかは、 それを使う者が使い分けるというよりも、メソッドごとに決まってるからとしか言いようがない。 read()の方は一文字ずつ読み込んで、その文字を返すメソッドなので、 通常の文字ではありえない-1をストリーム終端で返すようにしているんだろうし、 readLine()の方は1行分をStringで返すメソッドだから-1を返すわけにいかないし、 未定義のインスタンスを表すnullを返すようになっているんだと思うが。
- 45 名前:デフォルトの名無しさん [2007/04/02(月) 05:56:29 ]
- だよな(:D)| ̄|_
そうなんじゃないかと思った。
- 46 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 08:28:54 ]
- >>41
例外はできるだけキャッチして処理すべき。 処理できない例外をログファイルに書き込んでおくのが 一般的だと思われるが。
- 47 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 10:31:14 ]
- 自分で対処できない例外までcatchして投げない奴って氏んだ方がいいよね
↓いつものループ
- 48 名前:デフォルトの名無しさん [2007/04/02(月) 18:19:15 ]
- (:D)| ̄|_日経ソフトDで、あるプログラムに
Set<String> set=new HashSet<String>(); と書いてあるのですが、エクリプスでは、式がステートメントとして無効です。と出ます。なぢぇ?そもそも<>って何?
- 49 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:24:07 ]
- (:D)| ̄|_
- 50 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:27:53 ]
- (:D)| ̄|_
- 51 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:28:24 ]
- (:D)| ̄|_
- 52 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:37:00 ]
- (:D)| ̄|_
- 53 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:43:47 ]
- (:D)| ̄|_
- 54 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:51:31 ]
- (:D)| ̄|_
- 55 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:53:18 ]
- (:D)| ̄|_
- 56 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:55:50 ]
- えくりぷすで1.6使えますか?いま1.5で使ってます。
- 57 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 18:57:40 ]
- (:D)| ̄|_
- 58 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:01:33 ]
- (:D)| ̄|_
- 59 名前:デフォルトの名無しさん [2007/04/02(月) 19:03:59 ]
- J2SDK1.4.2とEclipse2.1.2だが?(:D)| ̄|_
- 60 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:06:08 ]
- (:D)| ̄|_
- 61 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:08:02 ]
- (:D)| ̄|_
- 62 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:10:07 ]
- (:D)| ̄|_
- 63 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:12:26 ]
- (:D)| ̄|_
- 64 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:12:43 ]
- (:D)| ̄|_
- 65 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:13:30 ]
- (:D)| ̄|_
- 66 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:17:41 ]
- (:D)| ̄|_
- 67 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:18:55 ]
- (:D)| ̄|_
- 68 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:19:48 ]
- (:D)| ̄|_
- 69 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:22:35 ]
- (:D)| ̄|_
- 70 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:24:39 ]
- (:B)| ̄|_
- 71 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:24:57 ]
- (:D)| ̄|_
- 72 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:26:26 ]
- (:D)| ̄|_
- 73 名前:デフォルトの名無しさん [2007/04/02(月) 19:26:44 ]
- NGワードにされるまでやるつもりだな(:D)| ̄|_
- 74 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:28:22 ]
- (:D)| ̄|_
- 75 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:29:26 ]
- (:D)| ̄|_
- 76 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:30:26 ]
- (:D)| ̄|_
- 77 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:31:18 ]
- (:D)| ̄|_
- 78 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:31:55 ]
- (:D)| ̄|_
- 79 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:32:40 ]
- (:D)| ̄|_
- 80 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 19:36:49 ]
- (:D)| ̄|_
- 81 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 20:41:17 ]
- この中に一人、バカボンのパパがおる
>>70やろ
- 82 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 20:44:07 ]
- (:D)| ̄|_
- 83 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 20:53:13 ]
- (:D)| ̄|_
ttp://pya.cc/pyaimg/pimg.php?imgid=5792
- 84 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 20:57:01 ]
- どうしちゃったのこのすれ
- 85 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:05:30 ]
- (:D)| ̄|_
- 86 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:12:29 ]
- (:D)| ̄|_
- 87 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:15:24 ]
- (:D)| ̄|_
- 88 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:20:28 ]
- (:D)| ̄|_
- 89 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:30:47 ]
- (:D)| ̄|_
- 90 名前:デフォルトの名無しさん [2007/04/02(月) 21:35:45 ]
- 全力で(:D)| ̄|_
- 91 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:36:58 ]
- (:D)| ̄|_
- 92 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:38:35 ]
- (:D)| ̄|_
- 93 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:54:17 ]
- あのさあ
FOMAのアプリ作りたいんだけど、参考になる本ってどんなのある? ちなみに当方のプログラム経験履歴は MSC6.0 MASM PLM F-BASIC HG VB6 VB2005 とこんな感じ。 スレ違いだったら誘導よろ
- 94 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 22:56:20 ]
- (:D)| ̄|_
- 95 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 23:24:44 ]
- (:D)| ̄|_
- 96 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 23:26:41 ]
- (:D)| ̄|_
- 97 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 23:46:52 ]
- (:D)| ̄|_
- 98 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 23:49:38 ]
- (:D)| ̄|_
- 99 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 23:55:50 ]
- >>93
本でも情報が古かったりするから俺が見た中では人に勧めれるものはなかったな。 公式のAPIリファレンスとチュートリアルとそこら辺にある講座サイトで問題ない気がする。 俺はMIDP使いだがJava ME全般に言えるのは端末の制限とか縛りがきつ過ぎてSEのノウハウが使い物にならないなぁ。 Java知らないならまずはSEでJava流儀のOOPを覚えた上でMEのお勉強コード書いた後にMEの実践的コードを書くの流れがお薦めだが・・・。 MEがコンフィギュレーションとプロファイルとオプションAPIに分かれてるってのを知っておかないと変な勘違いするかも・・・。 DojaやMIDPはプロファイルの一種ね。 DojaとMIDPじゃエントリポイントとかの規約が違ったり、 メソッド名が同じでも仕様が違うとかあるんで 片方のやり方が片方で通じなかったりするから 仕事で移植せにゃならんとき以外はどっちかに特化する事になるのかな? 自分である程度分かるようになってから本を探すのが安全な気がする。 因みにdojaなら本スレはこっち。 ttp://pc11.2ch.net/test/read.cgi/tech/1174036396/l50 エミュレータが全く使いモンにならんほど機種依存が酷いよ・・・。 (:D)| ̄|_
- 100 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 23:55:55 ]
- (:D)| ̄|_
- 101 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 23:57:11 ]
- (:D)| ̄|_
- 102 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:03:12 ]
- (:D)| ̄|_
- 103 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:08:27 ]
- 荒らしてるわりにはsageてるんだな
- 104 名前:34 mailto:sage [2007/04/03(火) 00:10:30 ]
- >>36-37
亀レスですけど、レス有難うございました。 TimerとかUIスレッドとかまだ良く解りませんが ちょっと勉強してがんばって見ます。
- 105 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:15:54 ]
- どういたしまして (:D)| ̄|_
- 106 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:18:51 ]
- (:D)| ̄|_
- 107 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:22:12 ]
- ところで (:D)| ̄|_ ←ってどういう処理をあらわしてるの?
- 108 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:27:27 ]
- (:D)| ̄|_
- 109 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:55:15 ]
- (:D)| ̄|_
- 110 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 01:01:05 ]
- 同じスレッド同士の処理は必ず同じ順番で実行されるけど
違うスレッドの場合、その順番は保障されない。(これは高速化に貢献している) 結果的に複数のスレッドから変更を受けるフィールドの状態がおかしくなったり、 適切に同期処理をしなくてはならなくてはいけなくなるんだが、GUIでこれをやるのは思いのほか大変。 だからUIスレッドを経由して実行することで、全てのGUIオブジェクトが一つのスレッドから変更を受ける状態になり スレッドセーフ性を確保するわけ。(逆にこの規約が守られていない場合の動作は保障されていない) ただしrepaintとかの場合はこれはいらない。これはrepaint自体が「UIスレッドを経由して実行」をやってくれるから。
- 111 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 01:11:56 ]
- (:D)| ̄|_
- 112 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 01:15:46 ]
- (:D)| ̄|_
- 113 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 01:40:16 ]
- >>48
この流れでは無理だろうが、Generics j2se5以降で使える 環境をたしかめてみ? いちおう、下は「ジェネリックス」で最初に出ただけで中はしらん ttp://www.stackasterisk.jp/tech/java/jdk502_01.jsp
- 114 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 02:50:03 ]
- >>113
荒しに親切にしてやっても良いことは何もないぞ
- 115 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 05:03:17 ]
- (:D)| ̄|_
- 116 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 05:09:31 ]
- (:D)| ̄|_
- 117 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 05:46:10 ]
- (:D)| ̄|_
- 118 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 06:16:09 ]
- (:D)| ̄|_
- 119 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 06:56:16 ]
- (:D)| ̄|_
- 120 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 07:24:27 ]
- (:D)| ̄|_
- 121 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 07:43:44 ]
- (:D)| ̄|_
- 122 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 08:50:37 ]
- (:D)| ̄|_
- 123 名前:デフォルトの名無しさん [2007/04/03(火) 10:02:34 ]
- よろしくお願いします。
ConcurrentSkipListMapのsubmap()で返されるmapもやっぱり、 順序が整列されているConcurrentSkipListMapと考えたいんですが,, ttp://java.sun.com./javase/ja/6/docs/ja/api/java/util/concurrent/ConcurrentSkipListMap.html 返り値には明示されていないので、それを期待するのはまずいでしょうか。
- 124 名前:デフォルトの名無しさん [2007/04/03(火) 11:05:05 ]
- ClassLoaderで遊んでるんですが、ClassLoaderでロードしたクラスって更新で
きないですか? 具体的には、 hoge.class を defineClass でロードした後、 javac hoge.java で hoge.class を更新して もういっかい defineClass で新しいクラスを導入したいと思っています。 findLoadedClass じゃ古い方取ってきちゃうし。それともjavaじゃ 動的なクラス定義の更新とかできないのかな‥‥‥。
- 125 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 11:37:18 ]
- >>123
subMap では、防衛的コピーとかじゃなくてビューが返されるはずだから 順序付けされてると考えて良いとは思うが。 明示されてるわけじゃないから石橋叩いて渡りたいなら期待しない方が良い。
- 126 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 11:40:29 ]
- >>124
その辺の事がやりたければ、1.5以降で追加された java.lang.instrument かな。
- 127 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 11:45:41 ]
- >>123
ConcurrentSkipListMap の submap() で返される ConcurrentNavigableMap の実装クラスは SortedMap の実装クラスでもあるから順序付けされてる事は期待して良いのでは?
- 128 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 11:50:24 ]
- sjc-pの教科書のネストクラスの特徴を記述した中に、
・外部クラス内のstaticメソッドと同様、staticネストクラスの内側から外部クラスの非static変数またはメソッドに直接アクセスできる。 こうあるんですが、staticメソッドと同様ならstaticなメンバにしかアクセスできないと思うんですが違うんでしょうか?
- 129 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 11:51:06 ]
- >>124
1.5より前だと、更新するclass一個に対してClassLoaderのインスタンス生成して、 class を更新するたびに、古いClassLoaderを古いclass定義ごと捨てて、 新しいClassLoaderを新しいclass定義とともに生成する、みたいな力技使うとか。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 11:58:45 ]
- >>128
「直接アクセス」ってのを どーゆー意味で使ってるか分からんから なんとも言えないけど。 class Outer { private instanceField; static class C { void method(Outer outer){ outer.instanceField = 10; //取り囲むクラスのprivateなインスタンスフィールドにもアクセスできる。 //Outer.this.instanceField = 10; は内部クラスでないので、これは無理。 } } }
- 131 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 11:59:54 ]
- × private instanceField;
○ private int instanceField;
- 132 名前:128 mailto:sage [2007/04/03(火) 12:16:55 ]
- すいません出版してるとこのサイトで正誤表あったので一応見てみたら誤植だったみたいです。
非static変数または...→static変数または... >>130 そういう方法ならアクセスもできるんですね。参考になります。
- 133 名前:124 mailto:sage [2007/04/03(火) 15:49:37 ]
- >126
見てみる。ありがとう。 >130 うぉ力技だな。上手につくらないとメモリドカ食いしたりするのかね。 とはいえ参考になった。ありがとう。
- 134 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 16:55:29 ]
- staticなメソッドがオーバーライドできないのはなぜですか?
- 135 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 17:29:58 ]
- >>134
staticなメソッドをサブクラスでstaticなメソッドとして再定義すると、 メソッドはオーバーライドでなく隠蔽される。 隠蔽の場合は静的バインディングが行われるので、 そのメソッドを呼び出したインスタンスの静的な型情報にしたがって呼ばれるメソッドが決まる。 だから、SuperClass o = new SubClass(); o.staticMethod();だとすると、 oの静的型であるSuperClassのstaticMethod()が呼ばれる。
- 136 名前:123 [2007/04/03(火) 17:31:50 ]
- >>125
>>127 ありがとうございます。整列済みは期待しても大丈夫そうでしょうか。 お騒がせしました。。
- 137 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 17:50:49 ]
- >>135
つうかなんでo.staticMethod();って書けるんだろう? SuperClass.staticMethod();で十分じゃん
- 138 名前:デフォルトの名無しさん [2007/04/03(火) 18:57:17 ]
- >>137
SuperClass o = new SubClass(); o.method();だとすると、 SubClassのmethod()が呼ばれることの対比を明確にしたかったからでは?
- 139 名前:135 mailto:sage [2007/04/03(火) 19:04:27 ]
- >>138
そういうつもりで書いた。 動的バインドと静的バインドがごちゃごちゃするから、 できればクラスメソッドは>>137の言うようにクラス名.メソッド名で呼んだ方がいいと思う。
- 140 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 00:20:05 ]
- 文字列:c:/hoge/poge.javaのpoge.javaを得るとか
パス分解関係の関数ってどこにあるんだったけか?
- 141 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 00:30:16 ]
- java.io.File#getName()
|

|