【初心者】Java質問・相談スレッド118【歓迎】at TECH
 【初心者】Java質問・相談スレッド118【歓迎】 - 暇つぶし2ch950:デフォルトの名無しさん
08/09/02 01:19:11
String:不変オブジェクト
StringBuffer:可変オブジェクト
っていう教科書にありそうなのではどうだw

951:デフォルトの名無しさん
08/09/02 03:03:11
>>945
今となっては多分そんなには変わらない。


952:デフォルトの名無しさん
08/09/02 03:14:15
まだやってんのか。違いは、効率じゃないんだよね。

953:デフォルトの名無しさん
08/09/02 03:27:17
ぼくらはreadyなんかなくても幸せ!

954:デフォルトの名無しさん
08/09/02 09:35:52
RandomAccessFileは、ソースを見てもnativeばかりですが、
実際(実装上)のところ多少はバッファがきいているから、BufferedInputStreamと同じように考えてよいのでしょうか。
他に気になるところはありますか?

955:デフォルトの名無しさん
08/09/02 09:39:19
EclipseってJavaでできてるみたいですが
Eclipseはexeにするのに何使ってるんですかね?

956:デフォルトの名無しさん
08/09/02 10:48:08
>>954
どうしてバッファされていると期待できるのかが理解できない。
ソースは見てないけど、バッファされないと思うぞ。バッファリングと
ランダムアクセスは相性悪いから。


957:デフォルトの名無しさん
08/09/02 10:53:37
いや、逆にバッファされていないと考える方がおかしいんだけど…
問題はバッファされているか・いないかじゃなくて、実用上問題ないかどうかだと思うが?

それと、ランダムアクセスとバッファが相性悪いのはどの辺りに根拠があるの?

958:デフォルトの名無しさん
08/09/02 11:07:42
相性とかそういうレベルの話でVMが作られてたら笑えるw

959:デフォルトの名無しさん
08/09/02 11:09:37
いつも通り>>956の思い込みが根拠じゃね?

960:デフォルトの名無しさん
08/09/02 11:17:54
>>958
そろそろ死んだ方がいいんじゃないか?人生疲れただろ。

961:デフォルトの名無しさん
08/09/02 11:21:53
そうだよな…なんで俺は生きてるんだろう…

962:デフォルトの名無しさん
08/09/02 13:09:56
ぼくらはEclipseなんかなくても幸せ!

963:デフォルトの名無しさん
08/09/02 16:01:00
ローカルでグラフィック描画する時は
Graphics gr = img.getGraphics();
gr.drawLine(x1,y1,x2,y2);
gr.dispose();
と毎回設定して廃棄しますが

グローバルで
Graphics gr = img.getGraphics();
としておいて、ローカルで
gr.drawLine(x1,y1,x2,y2);
だけで、ずっとgrを使いまわしてはだめですか?

964:デフォルトの名無しさん
08/09/02 16:23:10
いいよ
ずっと同じimgに描画するのなら

965:デフォルトの名無しさん
08/09/02 16:26:23
そうですか

966:デフォルトの名無しさん
08/09/02 17:39:54
ぼくはJCPADだよ!
みんな何使ってるの?

967:デフォルトの名無しさん
08/09/02 17:42:07
eclipse

968:デフォルトの名無しさん
08/09/02 17:43:36
今JCPADからEclipseに変えたとこ
閉じるのがいいね

969:デフォルトの名無しさん
08/09/02 23:22:31
30過ぎてJava覚えてJavaの資格とったらプログラマーの就職先見つかりまつか?

970:デフォルトの名無しさん
08/09/02 23:27:10
ちょっとの学歴あれば30ならまだ余裕で就けるよ

971:デフォルトの名無しさん
08/09/03 00:00:03
>>969
おでも三十で就職目指してます。
お互い頑張りましょう。

972:デフォルトの名無しさん
08/09/03 00:06:21
2つの別のクラスで同じ値を共有したいと思っています
ClassA、ClassBはループさせていて常に結果を出力しています。

ClassA{
if(hoge>0)
ClassF.setX(true);
else
ClassF.setX(false);
}

ClassB{
test.setEnable(ClassF.getX());
}

ClassF{
static boolean f;
static void setX(boolean bl){
 f = bl;
}
static boolean getX(){
 return f;
}
}

こんな感じのプログラムを書いたんですが、ClassBに反映されません
どこが間違っているんでしょうか?
それとも、別のクラスで同じ値を共有するのは無理なのでしょうか?

973:デフォルトの名無しさん
08/09/03 00:19:08
もうちょっと意図が分かるように書けよ。
ClassBに反映されないってどういう意味だ?
test.SetEnabledで思った値が取れてないってことか?

こんな擬似コードじゃ分からんけど、
もしループとやらが複数スレッドで同時に回し続けてるって意味なら、
ClassF.fへのアクセスを同期化する必要がある。
volatileにするかメソッドにsynchronizedつける。


974:デフォルトの名無しさん
08/09/03 00:19:34
>>972
別スレッドならsynchronizedかvolatile必須だぞ。
要素が1個かつJava5.0以上なら、AtomicBoolean等でもいい。

975:デフォルトの名無しさん
08/09/03 00:24:53
大量のUDPパケットを受信して、処理したいんですが、
どうしても、幾つかのパケットを取りこぼします。
何か、効率良く処理できる方法はありませんか?


976:デフォルトの名無しさん
08/09/03 00:32:18
>>973-974
ありがとうございます。
volatile static boolean f;
で望み度通りの結果を出すことができました。

977:デフォルトの名無しさん
08/09/03 00:37:50
>>975
どーやってんだ

978:デフォルトの名無しさん
08/09/03 00:44:18
>>976
変数が1個ならそれでいいけど、複数個ある場合はちゃんと同期取らないと変更途中のデータが読み出される可能性があるぞ。
詳しくは、マルチスレッドプログラミングに関する本を読んどけ。

979:デフォルトの名無しさん
08/09/03 00:46:00
>>975
UDPならパケットが取れないことがあるのは前提じゃないのか

980:975
08/09/03 00:46:50
DatagramSocketを使って、普通にポートを開いて受信しています。

981:デフォルトの名無しさん
08/09/03 01:26:19
>>979
答えは、UDPを使わないってことだな・・・

982:デフォルトの名無しさん
08/09/03 01:56:38
>>980
効率良くポートを開いて効率良く受信しろ

983:デフォルトの名無しさん
08/09/03 02:23:25
動的なキャストはどうやるんでしょうか?
windows95/98のプラットフォーム向けのアプリなんでjdk1.2相当なんですが。
よろしくお願いします。


984:デフォルトの名無しさん
08/09/03 02:26:08
動的キャストは、

Object obj;
...
val=(???)obj

ですが、???がコンパイル時未定の時のキャストです。

985:デフォルトの名無しさん
08/09/03 03:03:37
で、それに何の意味があるの?
???が未定なのにキャストした後でどうやって使うわけ?


986:デフォルトの名無しさん
08/09/03 03:15:12
>>984
valの型にキャスト

987:デフォルトの名無しさん
08/09/03 03:34:55

jdk1.5にある、val.getClass().cast(obj)

といった方が早いですね。これを1.2でやるにはどういうコードになるんでしょうか。


988:デフォルトの名無しさん
08/09/03 03:46:03
最近プログラムを勉強しはじめてわからないことだらけなのですが
キャストとパースの違いがよくわかりません
どなたか教えてください

989:デフォルトの名無しさん
08/09/03 04:35:02
>>987
>>985 >>986 は無視かい・・・
Class#cast() は
>public T cast(Object obj) {
>if (obj != null && !isInstance(obj))
>throw new ClassCastException();
>return (T) obj;
>}
となってるから generic が無いと無理なんだと思っとけ。
それよりもこれを使うようなのは相当面相なプログラムだと思うが、
これを使わないですむようにするほうが後々の為になると思うぞ。

990:デフォルトの名無しさん
08/09/03 04:49:15
無視というより、val=val.getClass().cast(obj) 程度で分かりませんでしたか。

使わないで済むように方法を探したんですけど、後々のためというより、ももともとターゲットが古くてこれしかないので聞いてるんですが?

知らないなら無理に御答えにならなくて結構ですけど、あなたはだいぶ妄想好きなんですねw

他に良い施策はありませんか?


991:デフォルトの名無しさん
08/09/03 04:59:34
>>984
val=(???)objのあと、valをどう使うつもりなの?
型が決まっていなければvalのメソッドとかを呼び出すコードもvalを他のクラスに渡すコードも書けないんじゃない?
というかval自体の型はval=(???)objの前でどう宣言しているの?
objになりうるクラス共通にインタフェースを実装させて、そのインタフェースにキャストするとか、
全体のクラス設計を見直した方がいいと思う。

992:デフォルトの名無しさん
08/09/03 05:01:45
単なるキチガイだったのか……

993:デフォルトの名無しさん
08/09/03 05:03:36
>>990
お前の問題だから自分で捜せ
そんな態度じゃまともな人のレスも付かないよ

994:デフォルトの名無しさん
08/09/03 05:07:05
そう思うんだけど、このスレの態度の方が酷くない。正しく真正糞スレだと思うが?

995:デフォルトの名無しさん
08/09/03 05:09:42
次スレ?

996:デフォルトの名無しさん
08/09/03 05:13:02
>>991
あなたは、答えらず、それにたいした能力もないのに、そんなに人の庭が好きなんですか?

その設計とやらを知って、あなたは手伝ってくれるんですかねw
一つ忠告しておけば、首突っ込むのは程ほどにした方がいいですよ。

997:デフォルトの名無しさん
08/09/03 05:16:24
>>998>>988に答えてやって>>999は次スレ立てて誘導>>1000は俺が踏む

998:デフォルトの名無しさん
08/09/03 06:02:25
ジェネリクスは静的処理...
コンパイル時に決定できない型は、キャストするのも代入するのも不可能也。

パース...parse...castに似ている部分もあるのか...

【初心者】Java質問・相談スレッド119【歓迎】
スレリンク(tech板)

999:デフォルトの名無しさん
08/09/03 07:51:27
999

1000:デフォルトの名無しさん
08/09/03 07:53:53
1000get!

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch