トップページ⇒tech
1001コメント313KB

【初心者】Java質問・相談スレッド83【大歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/03/14(火) 13:19:59
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。

前スレッド
【初心者】Java質問・相談スレッド82【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1140878286/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/

次スレは>>980あたりで。
0232デフォルトの名無しさん2006/03/19(日) 23:39:00
>>227
ゴリゴリ実装するしかなさげ?

処理側:
try {
 while(! finished) {
  synchronized(this) {
   while(! stopRequired) {
    wait();
   }
  }
  finished = doSomthingALittle();
 }
} catch(InterruptedException e) {
// 中断処理
}

制御側:
void synchronized 一時中断() { stopRequired = true; notifyAll(); }
void synchornized 一時中断を再開() { stopRequired = false; notifyAll(); }
0233デフォルトの名無しさん2006/03/19(日) 23:39:36
>>215
String str = new String(StringBuilder)
のToString()を除いたほうではどう?
ソースを見る限りでは String と StringBuilder 間で char配列が共有されるみたいだけど…
02342272006/03/19(日) 23:39:47
>>231
フラグ・・・なるほど、
でもできたら単純にメソッドで一時停止みたいのがいかったのですが、
ちょっと調べてみます、ありがとうございます。
0235デフォルトの名無しさん2006/03/19(日) 23:40:06
スレッドは大事。
>>206 へのレスが伸びないところを見ても、
ここの住人はスレッド理解していない人が多い。
>>227の場合sleepじゃなくて、waitしてnotifyかな。
0236デフォルトの名無しさん2006/03/19(日) 23:40:58
>>229
じゃあスレッドを分かりやすく解説してくれる本とかサイトとかないですか?
ググっても詳しい解説とか無しにいきなり長文サンプルとか載ってけるだけのとこしかない…
0237デフォルトの名無しさん2006/03/19(日) 23:42:41
つ http://www.amazon.co.jp/exec/obidos/ASIN/477411491X/
02382272006/03/19(日) 23:42:47
>>235
waitってどこのメソッドですか?
0239デフォルトの名無しさん2006/03/19(日) 23:43:27
>>238
java.lang.Object
0240デフォルトの名無しさん2006/03/19(日) 23:43:30
>>238
Object
02412272006/03/19(日) 23:43:58
↑あごめんなさい
ありました。wait

0242デフォルトの名無しさん2006/03/19(日) 23:44:21
>>233
されない、されない。
StringBuilder#toString()の戻り値を代入してるだけ。
中身はString(char value[], int offset, int count)だよ。
0243デフォルトの名無しさん2006/03/19(日) 23:47:44
>>236
Java のマルチスレッド関係では 100% リファーされるダグリーの本が古典っぽいが、
英文むず。日本語訳が絶版で、でも友達が持ってたの貸してもらったが、ひど。
02442152006/03/19(日) 23:48:39
CharSequenceで何とかするようにします。
幸いにもMatcherを作る場合の引数はCharSequenceですしね。
これにてクローズ、ありがとう。
02452332006/03/19(日) 23:51:14
>>242
StringBufferクラスのToString()は return new String(this);を行っていて、
StringクラスのStringBufferを引数にとるコンストラクタは、
public String (StringBuffer buffer) {
synchronized(buffer) {
buffer.setShared();
this.value = buffer.getValue();
this.offset = 0;
this.count = buffer.length();
}
}
となってるんだけどやっぱり間違ってる?
ソースはj2sdk1.4.2_08のを見てます。
02462272006/03/19(日) 23:55:43
スレッドでwaitを使ってみました
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at yoshimune.MouseListenerAppMain.mousePressed(AppMain.java:350)
at java.awt.Component.processMouseEvent(Component.java:5485)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
スレッドが止まってくれません なぜでしょうか・・・モニターの所有権??

フラグでやってみます
0247デフォルトの名無しさん2006/03/19(日) 23:57:13
>>245
5.0だとこうだな
public synchronized String toString() {
    return new String(value, 0, count);
}
02482332006/03/20(月) 00:02:30
>>242 , >>247
なるほど意味が分かりました。
スレ汚し失礼しました。
0249デフォルトの名無しさん2006/03/20(月) 00:03:36
>>246
これじゃ、だれもエスパーできんだろう。
と、あさはかな凡人は思うのであった。
0250デフォルトの名無しさん2006/03/20(月) 00:07:48
>>246
とりあえず、エラーメッセージをよくよめ。
そして、こう叫ぶのだ。

   ぬ   る   ぽ  !
0251デフォルトの名無しさん2006/03/20(月) 00:11:42
ArrayListの10行目に値を挿入する書き方ってどうするのでしょうか?
02522272006/03/20(月) 00:14:44
たびたびすいません。ぬるぽです
フラグでもだめでした原因をまとめてみます。
やりたいこと、アプレットのクラスから三つの独立したスレッド実行させます。それぞれのスレッドにはsleep文が入っております。
イベントを発生するとひとつのスレッドがとまる、そしてイベントでまた動き出す。
それを三つ作りたいだけなんです。
sleep時間をイベントで変化させてとめてみたんですけど、入るとそのsleep終わるまで待ってなきゃいけない。
フラグでどうすればいいのですか?
0253デフォルトの名無しさん2006/03/20(月) 00:17:01
>>252
だからぬるぽなんだって
02542272006/03/20(月) 00:19:30
NullPointer=ぬるぽ?
0255デフォルトの名無しさん2006/03/20(月) 00:20:21
>>251
俺たちは辞書じゃないということをまず念頭に入れて考え直して欲しい。
0256デフォルトの名無しさん2006/03/20(月) 00:43:47
>>236
マルチスレッド・プログラミングの基本
http://www.javaworld.jp/technology_and_programming/-/10943.html

>>237
その本ダメ、著者がスレッドのことをあまり理解していないのに本を書いてる。
0257デフォルトの名無しさん2006/03/20(月) 01:23:19
>>236
IBM の developerWorks は、結構良い記事が多いっぽく、参考になる。

Javaの理論と実戦: Javaメモリ・モデルを修正する 第1・2回
http://www-06.ibm.com/jp/developerworks/java/040416/j_j-jtp02244.html
http://www-06.ibm.com/jp/developerworks/java/040514/j_j-jtp03304.html

Javaの理論と実践: 安全な構築のテクニック
http://www-06.ibm.com/jp/developerworks/java/020823/j_j-jtp0618.html

前者は、上級レベルになってるけど、これが上級なら
マルチスレッドは上級者じゃないと弄っちゃだめってこと。ていうか、弄るな!orz
0258デフォルトの名無しさん2006/03/20(月) 01:25:33
>>257
最後の部分、なんかあったのか?w
0259デフォルトの名無しさん2006/03/20(月) 01:30:03
>>256
あれダメなの?
ってか2chで聞くと必ず否定的な答えしか返ってこないんだよな…
0260デフォルトの名無しさん2006/03/20(月) 01:35:14
>>259
俺もその本参考になったと思うけど・・・・
0261デフォルトの名無しさん2006/03/20(月) 10:13:49
これから自作する外部の機器と通信したいんだけど
Javaからとなるとどんなのが手軽?
USB?RS-232C?
0262デフォルトの名無しさん2006/03/20(月) 10:22:47
TCP/IP でソケット通信
0263デフォルトの名無しさん2006/03/20(月) 10:26:51
>>262
Javaとしては通信しやすいんだけど
TCP/IPに対応した機器作るのってめんどくさくない?
0264デフォルトの名無しさん2006/03/20(月) 10:27:30
>>263 CSとかプロトコルコンバータとか知らない?
0265デフォルトの名無しさん2006/03/20(月) 10:33:23
>>264
おお、こんなものがあったのか。
サンクス

だが高いなorz
0266デフォルトの名無しさん2006/03/20(月) 10:34:12
>>263
めんどくさい。↓使うとか。
http://www.shoshin.co.jp/c/lantro/xport.html

JNI で作る気があるならどれもたいして変わらない。
0267デフォルトの名無しさん2006/03/20(月) 10:40:07
>>266
そうか・・・
何とかやってみる。
0268デフォルトの名無しさん2006/03/20(月) 10:59:39
本「独習Java」ジョセフ・オニール著を買って今日からJavaをはじめましが、11ページで
いきなり、躓いてしまいました。コンパイルをすると
「エラー:File.javaを読み込めません」となってしまいます。
ファイルは存在しますし、パスの設定もしております。

どんな、原因が考えられるでしょうか?
0269デフォルトの名無しさん2006/03/20(月) 11:04:34
最近本ネタ多いが春休み?

>>268
ファイルが存在しない。
0270デフォルトの名無しさん2006/03/20(月) 11:08:17
>>268
つhttp://www.google.co.jp/search?hl=ja&q=%E3%82%A8%E3%83%A9%E3%83%BC%E3%80%80%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%81%E3%81%BE%E3%81%9B%E3%82%93%E3%80%80JAVA&lr=
0271デフォルトの名無しさん2006/03/20(月) 11:09:47
>>268 こことか、一通り確認してみたら
http://javafaq.jp/S002.html#S002-02

解決したらレポして、参考にする。
02722682006/03/20(月) 11:24:27
>>269->>271さん
解決しました。拡張子が.java.javaになっていました。
お騒がせして申し訳ありません。
0273デフォルトの名無しさん2006/03/20(月) 12:48:36
>>272
ニュータイプだな。
0274268=2722006/03/20(月) 13:14:01
コンパイルは通りましたが、実行時に下記のようなエラーが出ます。
Exception in thread "main" java.lang.NoClassDeFoundEroor: file

>>271さんの指摘してくれたサイトには、
>実行時エラーがでていることから、javaインタープリターは動いています。
>HelloWorld という名前のクラスがみつからないというエラーです。
>
>プロンプト> java -classpath . File
>
>でどうでしょう? これでうまくいくならば CLASSPATH環境変数の
>設定に . (ドット、ピリオド)がないのが原因です。
>CLASSPATH環境変数は、間違い易いことが多い機能ですので完全に理解するまでは使わず、
>-classpath 実行時オプションでクラスパス(java VM がクラスファイルを探すパス)を
>教えてあげることをお勧めします。

とありまして上記のようにすれば実行できました。
CLASSPATH環境変数の設定に . (ドット、ピリオド)がないとは、どういう意味ですか?
また、CLASSPATH環境変数はどうやって設定するのでしょうか?

初歩的な質問ばかりですみません。
0275デフォルトの名無しさん2006/03/20(月) 13:26:48
java.net.URLConnection#getContentType()って、
charsetを含まないものを返すの?

ためしに、www.yahoo.co.jpにつないでgetContentType()してみて。
同じインスタンスにgetHeaderField("Content-Type")したときと違う値を返す。
0276デフォルトの名無しさん2006/03/20(月) 13:57:58
>>274
. は、カレントディレクトリ。
この場合は、実行したときのディレクトリ
CLASSPATH の設定はシェルによる。OSと環境がわからないと。
0277268=272=2742006/03/20(月) 14:08:14
>>276さん
レスありがとうございます。
動作環境は、Windows XP HOME SP2、Javaは、JDK5.0です。
0278デフォルトの名無しさん2006/03/20(月) 14:54:14
ならcmd.exe?
SET コマンドで、

SET CLASSPATH=.:%CLASSPATH%

とかやってみるとか。
恒久的には、マイコンピューターのプロパティの詳細の環境変数のとこに。
ここにいれるのは、SET CLASSPATH で出てきた文字全部であって、%CLASSPATH%ではない
0279デフォルトの名無しさん2006/03/20(月) 14:55:05
って区切りは ; だな。 .;%CLASSPATH% で。
0280デフォルトの名無しさん2006/03/20(月) 15:04:31
web.xml で /hoge 以下の URL だけデフォルトの動作 (JSP プロセッサやファイルサーブレット) で、
それ以外は自作のサーブレットへ渡したいんだけど、url-pattern はどう書けばええんじゃ?
url-pattern のワイルドカードは正規表現みたいに 「/hoge/* 以外」 って記述できる?
0281デフォルトの名無しさん2006/03/20(月) 15:24:11
>>280
コンテナ依存だけど、
Tomcatなら default と jsp というservlet-nameを持つサーブレットへのマッピングを書くことで、
「/hoge/*はデフォルト」という指定ができそうな予感。
0282デフォルトの名無しさん2006/03/20(月) 15:25:55
LineBreakMeasurer.nextLayout(float wrappingWidth, int offsetLimit, boolean requireNextWord)
の三つ目の引数の意味が、ドキュメントを見てもぐぐってみても試してみても
さっぱりわかりません。知ってる方がいたら教えてください。
0283デフォルトの名無しさん2006/03/20(月) 15:40:50
>>281
そうか、互換性のある記述はできなさそうね。default サーブレットの簡易版くらいなら自作サーブレットに
組み込めるんだけど、JSP プロセッサはさすがに無理だしなぁ。

ふと思ったんだが、/hoge 以下のリクエストは FilterChain#doFilter()、それ以外は自作サーブレットと
同じ処理をする Filter クラス作って /* にマップすれば良いのかな? お、何か出来そうなふいんき
0284デフォルトの名無しさん2006/03/20(月) 15:43:31
>>282
java.awt.font.LineBreakMeasurer のサンプル見たけど、英文の改行処理用の引数だと思われ。
英文は基本的に単語の途中では改行できないって奴ね。ハイフンつけられるなら話は別だけど。
行頭だと false、行頭以外では true に設定してるし。
02852772006/03/20(月) 16:06:38
>>278,279さん
レスありがとうございます。試してみます。
0286デフォルトの名無しさん2006/03/20(月) 16:24:42
>>284
なるほど。そういわれればそんなふうに意味が取れますね。ありがとう。
ドキュメント分かりにくすぎ
0287デフォルトの名無しさん2006/03/20(月) 17:24:08
public class HelloWorld{
//色々
}

なんて書くと思うんですけど。
private なクラスってありえるんでしょうか?
0288デフォルトの名無しさん2006/03/20(月) 17:27:23
>>287
メンバ型なら private なクラスもあるよ。

トップレベルには public か無指定(パッケージプライベート)にしかできないけど。
0289デフォルトの名無しさん2006/03/20(月) 18:16:56
スレッドがムズいんですけど
0290デフォルトの名無しさん2006/03/20(月) 18:33:55
下らない質問かもしれませんが

Socket で通信してるとき
一方が close() したのを、もう一方はどうやって調べるんですか?
isConnected() を見てもずっと true のまんまですし
0291デフォルトの名無しさん2006/03/20(月) 18:36:27
socket.getInputStream().read() が負の値を返すかどうか。
プロトコルはちゃんと設計しないと簡単に破綻する。
02922902006/03/20(月) 18:48:44
>>291
ありがとうございます。
read() で調べようとすると、
まだ接続されていた場合はブロックされませんか?
0293デフォルトの名無しさん2006/03/20(月) 18:55:19
>>292
available()を使えと思ったが、接続されてないとブロックって何だ?
サーバならServerSocketでacceptするわけだし、クライアントだとconnectするんだから接続しないとStreamが手に入らないと思うぞ
02942902006/03/20(月) 18:59:24
>>292
いや、逆に接続がまだ切れてない場合にブロックされませんかね?
read() のとき
0295デフォルトの名無しさん2006/03/20(月) 19:04:59
>>292
ブロックされる。だから 「接続されているかどうか確かめる」 なんてのはそもそも無理。
どうしてもと言うなら Socket に setSoTimeout(5000) とか設定して read() しる。
SocketTimeoutException が発生したらソケットは生きてる。負の値が返ったら閉じてる。
ハンドシェイクの遅延で正しい結果にならないこともあるし、そもそも閉じてないと判定
されても次の瞬間に閉じられることだってある。だから、そもそもそんな判定なんて
しなくても良いようにプロトコルの設計が大切。
02962902006/03/20(月) 19:16:24
>>295
なるほど、そんなもんなんですね。
勉強になりました
0297デフォルトの名無しさん2006/03/20(月) 21:56:40
俺はマンドクサいのでとりあえずHTTPを使ってしまうわけだが
0298デフォルトの名無しさん2006/03/21(火) 00:48:38
今後のJavaの文字列操作はCharSequesnceが中心になるのかな?
でもinterfaceとしてはcharAt乱用だろうし、遅そうだな・・・
0299デフォルトの名無しさん2006/03/21(火) 02:29:39
筑紫23の偏向報道に対しスポンサー不買運動始まる
http://live22x.2ch.net/test/read.cgi/news/1142873437/
0300デフォルトの名無しさん2006/03/21(火) 04:37:26
CGIサーバー上から取得したHTMLファイルから、CGIのPOSTをJAVAで任意に送信内容操作・送信するにはどのようにすればよいでしょうか?
HTMLファイルはコンボボックスと送信ボタンがあります。送信内容はコンボボックスの値で、送信は送信ボタンが押されたときの処理をJAVA上で実現したいんですが・・
どうか、よろしくお願いします。
0301デフォルトの名無しさん2006/03/21(火) 08:11:55
JSPやServlet使う
これらを勉強しなさい
0302デフォルトの名無しさん2006/03/21(火) 08:17:30
クライアント、サーバーどちらで処理したいか整理したほうがいい
⇒要求をもう少し掘り下げて整理したほうがいい
5W1Hって知ってるでしょ?
0303デフォルトの名無しさん2006/03/21(火) 08:27:06
the Worst Web Worker Waits Waist Holder.

ま、ダイエットしろってことで。
0304デフォルトの名無しさん2006/03/21(火) 11:45:39
FileChannel#close() を呼び出したときって、その FileChannel 生成元の
入出力ストリームまでちゃんとクローズしてくれる?
0305デフォルトの名無しさん2006/03/21(火) 11:59:17
>>107でレスがなかったのでもう一度、、、
クライアントのJREバージョンを見分けて、
それ毎に別々に読み込むXMLライブラリを変えることは可能でしょうか。
たとえば、↓みたいに書くとか、、

String javaVersion = System.getProperty("java.vm.version");
if(javaVersion.startsWith("1.0") || javaVersion.startsWith("1.1")
|| javaVersion.startsWith("1.2") || javaVersion.startsWith("1.3")){
//apacheの外付けjarの処理を記入
}else if(javaVersion.startsWith("1.4")){
//crimsonを使用した処理を記入
}else{
//組み込みxercesなどを使用した処理を記入
}
0306デフォルトの名無しさん2006/03/21(火) 12:09:47
>>305
XercesJいっしょにくばっちゃえばいいじゃん。あと、
java.vm.versionを見るのは駄目。たとえばうちの処理系だとこうなる。
java.vm.info=J2RE 1.4.2 IBM J9 2.2 Windows XP x86-32 j9n142-20040917 (JIT enabled)
J9VM - 20040916_0908_lHdSMR
JIT - r7_level20040915_1801
java.vm.name=IBM J9SE VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=IBM Corporation
java.vm.version=2.2
APIリファレンスにちゃんと説明があるから読むように。
0307デフォルトの名無しさん2006/03/21(火) 12:15:17
>>305 あと、ユーザに手間をかけさせたくないというならJava Pluginを適切に
使って所望のバージョンのJREがクライアント側に自動インストールされるようにすること。
そのためにHtmlConverter.exeがJDKに同梱されている。
0308デフォルトの名無しさん2006/03/21(火) 12:49:27
"static"使うときってどんなとき?
今まで"static"って複数ユーザで
使いまわすモノだと思ってた...

こーゆー時は"static"使うと便利だよとか、
ここは使うしかないっしょ!!ってのある?

今はsingletonパターン使うときくらいしか使ってない
こーゆーの
private static Class singleton;

if (singleton == null) {
singleton = new Class();
return singleton;
}
return singleton;
0309デフォルトの名無しさん2006/03/21(火) 12:54:33
それsingletonにならんでしょ
0310デフォルトの名無しさん2006/03/21(火) 13:25:04
private static Class singleton = new Class();
で
return singleton;
とするのが普通だよな
0311デフォルトの名無しさん2006/03/21(火) 17:47:39
strutsのアクションであるjarに含まれているメソッドを実行するとエラーに
なります。
そのアクションにmainを追加して、Javaアプリケーションとして実行すると
うまくいけます。
エラー内容はjava.lang.NoClassDefFoundErrorです。
どういった原因が考えられますか?
0312デフォルトの名無しさん2006/03/21(火) 17:53:23
実行時に参照可能なクラスパスに含まれていないから
0313デフォルトの名無しさん2006/03/21(火) 17:54:47
>>311
>>1を読んでないから。
0314デフォルトの名無しさん2006/03/21(火) 18:00:37
あなたにはその価値があるから
0315デフォルトの名無しさん2006/03/21(火) 18:13:39
SQL で LIKE 使ってワイルドカードで検索する場合:

SELECT FOO FROM BAR WHERE NAME LIKE 'a%'

PreparedStatement のプレースホルダってどう書けば良いの?

stmt = con.prepareStatement("SELECT FOO FROM BAR WHERE NAME LIKE [ここどう書くの?]");
stmt.setString(1, "a");
03163132006/03/21(火) 18:28:11
>>315
Q. PreparedStatement の文字列値はどのようにバインドするのですか。
ttp://edocs.beasys.co.jp/e-docs/wls/docs81/faq/oraclejdriver.html#239847
0317デフォルトの名無しさん2006/03/21(火) 18:30:30
>>312
お返事ありがとうございます。
その回避方法はどうすればいいのですか?

eclipseで外部JARの追加でそのJarファイルを追加しているのですが。
0318デフォルトの名無しさん2006/03/21(火) 18:34:25
>>316
あれ? PreparedStatement のプレースホルダーって埋め込み値の % や _ をエスケープするんじゃなかったの?
フリー入力値を LIKE で検索するとき注意が必要ってこと?
0319デフォルトの名無しさん2006/03/21(火) 18:46:25
PreparedStatement のtoString()使うと実際に使われるSQL文が見られるから、
試してみるとか。
あとは、ソース見るとか。
0320デフォルトの名無しさん2006/03/21(火) 22:12:46
Java 5.0 で… また、Generics にひっかかってしまいました。(^_^;
Vectorに繋がっているものを移動させています。
Vectorはどんなクラスが格納されているかわかりません。
警告が出てしまいます。どうすればいいでしょう?
  ↓
「警告: [unchecked] raw 型 java.util.Vector のメンバとしての
insertElementAt(E,int) への無検査呼び出しです。」
     ‥ ‥ ‥
public void moveElement( Vector VecObje ,int index ,int newIndex )
throws ‥省略 {
  Object ObjeTemp1 = VecObje.get(index);
    ‥省略
  VecObje.remove(index);
  VecObje.insertElementAt( ObjeTemp1 , newIndex );←ここで警告
}
0321デフォルトの名無しさん2006/03/21(火) 22:18:38
>>320
Generics 使ってるなら
public <T> void moveElement( Vector<T> VecObje ,int index ,int newIndex )
とか?
0322デフォルトの名無しさん2006/03/21(火) 22:20:17
1.4のソースとしてコンパイル
0323デフォルトの名無しさん2006/03/21(火) 22:41:08
>>320-322
@SupressWarnings("unchecked")
public void moveElement( Vector VecObje ,int index ,int newIndex )
はどう?だめかな。
0324デフォルトの名無しさん2006/03/21(火) 22:56:06
どうでもいいが、変数名を大文字で始めるな
0325デフォルトの名無しさん2006/03/21(火) 23:25:12
strutsで文字化けを回避するには、
new String(str.getBytes("ISO8859_1"), "Shift_JIS");
で、文字コードの変換をしてやらないと駄目なんですか?
何かもっと効率のいい方法はありませんか?
環境は、struts1.2、Tomcat5.5です。
0326デフォルトの名無しさん2006/03/21(火) 23:32:27
>>321-324
みなさんどうもありがとう。(320)( ^∇^)
321さんの方法で警告静めました。
Vectorの後の<T>はなんとなくわかりますが、public <T> void の<T>
はどうしてこうなるのかさっぱり理解していません。

>>323
@SupressWarnings("unchecked")
これはすご過ぎて意味が全然わかりません。
0327デフォルトの名無しさん2006/03/21(火) 23:34:37
>>326
あのねーちゃんだな
0328デフォルトの名無しさん2006/03/21(火) 23:41:27
コレクション・フレームワークって
ArrayListとHashMapしか使ったことがありません。
他のものを使うことってありますか?
0329デフォルトの名無しさん2006/03/21(火) 23:42:43
>>320,321
型は何でもいいっていってるんだから T じゃなくて ? では。
0330デフォルトの名無しさん2006/03/22(水) 00:00:02
>>328
あります
0331デフォルトの名無しさん2006/03/22(水) 00:03:50
>>325
request.setCharacterEncoding("MS932");
■ このスレッドは過去ログ倉庫に格納されています