1 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:09:54 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド120【歓迎】 pc11.2ch.net/test/read.cgi/tech/1223603727/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
331 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:28:43 ] >>329 たぶんその書き方は、Java仮想マシンという仕様を(実質オペコード)、エミュレータとして実装したってことじゃないかと思う。
332 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:28:50 ] >>328 >どうでもいいがなんでシーケンシャルな処理とオブジェクト指向が対比されてんだ (答) だって人工無脳なんだもん
333 名前:デフォルトの名無しさん [2008/11/26(水) 02:30:34 ] >>328 あの・・・よく読んでいるようですけど・・・もしあなたの言う「〜とか」を否定すると、Windowsなどで動く全てのGUIアプリを否定することになりますよ?
334 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 03:23:14 ] >>328 おまえがコンソールアプリしか作ってない理解できないんじゃないのか? VRAMとか言ってるけど、おまえがGUIアプリを作ってもせいぜいポトペタしかやったことないんだろww
335 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 03:32:51 ] >>333 ああ、あなたも人口無能でしたか。
336 名前:デフォルトの名無しさん [2008/11/26(水) 03:35:47 ] 人口無能ww
337 名前:デフォルトの名無しさん [2008/11/26(水) 03:37:35 ] ポトペタがあれば永遠に俺は幸せ!
338 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:11:19 ] ほう
339 名前:デフォルトの名無しさん [2008/11/26(水) 04:20:15 ] ポトペタのユーザはともかく、ポトペタな開発を実現するツールキットを設計 する人は偉大だと思うな。 その才能を多くの凡庸な開発者達のために役立てているし、つまらん仕事 を最小限の手間暇で片付けられるので大変世の中に貢献している。 なのでかの人工無能くんにはポトペタでとてもマルチスレッドなGUIアプリが 構築できるツールキットを是非開発して欲しいと思う。
340 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:34:25 ] SUNが破産手続き開始の申し立てだそうだ。記念カキコいっとけ。 mamono.2ch.net/test/read.cgi/newsplus/1227609444/
341 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 07:41:44 ] >>340 SUN は SUN でも microsystems じゃないやつだろ。Second Life のベンチャーじゃん。 まあ Sun micro はいつもリストラ計画だの四半期ベースが改善しただの見てるこっちを ハラハラさせるニュースが多いことは確かだが。
342 名前:デフォルトの名無しさん [2008/11/26(水) 08:41:13 ] >>339 それって座標計算とレイアウトなだけじゃないの? そうするとゲーム開発者は偉大ってことになるし。 sincosとか使ったことないし、tanの2倍角の公式とか知らない口でしょw
343 名前:326 mailto:sage [2008/11/26(水) 08:41:16 ] >327 俺が通っていた工業高校では、情報技術者試験のアセンブラ科目で使う CASLを搭載したと仮定しているコンピュータのエミュレータをWindows上で動かしていて、 「仮想計算機のエミュレータ」と呼んでいたので、 実在はしないが仕様は決定されているコンピュータなら、 それをソフトウェアで再現したものはエミュレータと呼べるのかな、 じゃあJVMもエミュレータなのかな、って思ったんです。 >329 おお、ありがとう! 仕様でエミュレータって呼ばれてるんですね。 スッキリしたw
344 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 08:55:47 ] >>343 ああそれそれ、JVMはCASLと同じ考えでいいんじゃないの。 実際JVM仕様を読んで自分でfile.classを吐き出す簡単な処理系を作れるなら、jrubyとかgrooovy,sclara,javafxとかのマイ言語作ってるのと同じだし、javacだってjvmプラットフォームの1つに過ぎない。 というか、仕様が最低限しかないから簡単だから俺ならJVMで動くCASLかCを作るけどね。
345 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 08:57:09 ] >>342 お前どっかずれてるわ
346 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 09:17:50 ] HttpClientで、executeMethodして接続しているところを割り込んで止める方法はないでしょうか?
347 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 10:00:45 ] >>345 というか、おまえならどうやって作るの?
348 名前:デフォルトの名無しさん [2008/11/26(水) 10:02:54 ] リストやツリーのデータ構造を自作できない奴に何言っても無駄無駄
349 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 10:17:39 ] だなw
350 名前:デフォルトの名無しさん [2008/11/26(水) 10:31:15 ] >>343 頑張って大学に入って頑張って勉強してくださいなw
351 名前:デフォルトの名無しさん [2008/11/26(水) 12:26:24 ] public static void main(String args[]){ int a = 4, b = 7; int i, j; for(i = 0; i < a; i++){ if (i%2 == 0){ for(j = 0; j < b; j++){ System.out.print("*"); } } else { for(j = 0; j < b; j++){ System.out.print("="); } } if (i%2 == 1){ System.out.println(); } } } *******======= *******======= と表示したいのですが、最後のif文で改行処理の判断をするのではなく、これを表示処理の判定に含めたいです。 どなたかやり方を教えて下さい。出来れば簡単な方法でお願いします。
352 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:03:48 ] フレームワークとしてマルチスレッドなGUIを構築できたら 開発環境の仕事はソースの生成アシストとナビゲーションだろ どっちにしても難しいなこれは 俺にはむりむり
353 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:15:03 ] >>342 ポトペタを実現するのに必要な事として座標計算とレイアウトしか 想像出来ないおまいさんはマジ幸せ者だよ。ホント。
354 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:15:30 ] そんなデカイのを作る必要はないな。既に有用なIDEがいくらでもある。 もっと違った視点で見てみると面白い活用法が浮かぶんじゃないか?
355 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:24:36 ] >>354 いや、俺が欲しいのはポトペタなんだが。 是非とてもマルチスレッドなGUIアプリを開発できるツールキットを開発してくれ。 それが出来ればIDEなんてEclipseのプラグインとしてサクッとすればいい。 おまいさんには簡単だろ?
356 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:36:41 ] ていか、もう出来てるんだが? それも座標計算とレイアウトだけで。 マルチスレッドなGUIアプリを開発できるツールキットってのは何を言ってるか意味不明だけど、 君が欲しい機能や仕様をまとめてくれればたやすいんじゃないの?
357 名前:デフォルトの名無しさん [2008/11/26(水) 13:42:42 ] たぶんなんだけど、マルチスレッドとスレッドセーフがよく分かってないんじゃないの?オジサンだからw
358 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:57:28 ] >>356 ああ、おまいさんのいうポトペタとはドラッグアンドドロップでGUIをデザイン 出来る事だけを言うわけですね。わかります。 ポトペタなめんなよw あとマルチスレッドなGUIツールキットの仕様については人工無能君に聞いてくれ。 元々彼がSwingその他を馬鹿にするところから始まったネタだから。
359 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:04:40 ] ネタなのにあえて釣られることはない
360 名前:デフォルトの名無しさん [2008/11/26(水) 14:12:08 ] Java終了のお知らせ SUNが破産手続き開始の申し立て mamono.2ch.net/test/read.cgi/newsplus/1227609444/
361 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:17:42 ] >>360 >>340 で既出
362 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:48:57 ] まあ、たしかにJava2Dでやっちゃえばなんでもありになるわな あとはイベントどうするかってのとスレッド(協調動作)にそいつがどれほど慣れてるかだし 実際問題Java2DはGUIのときに出てくるだけで、イベントとかスレッドはGUI関係ないしなぁ
363 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:49:41 ] Vector vlistA ├String aID └list[] ├String kekka1 └String kekka2 指定したaIDのlist[]の中身を追加、削除したいのですが、addやremoveでは無理でした。 追加、削除方法を教えてください。
364 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:57:57 ] ArrayList vlistA ├String aID └ArrayList list ├String kekka1 └String kekka2 にすれべおk
365 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:02:29 ] >>364 図がずれてました。 Vector vlistA ├String aID └list[] ├String kekka1 └String kekka2 list[]は仕様上、配列のままにしておきたいんです。
366 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:04:19 ] そんな仕様は糞だ
367 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 16:35:15 ] >>362 その通りなんだけど、個人で作って利用するプログラムと他人様が利用して 作成物の保守もするツールキットとでは設計の基準が異なるんだよね。 後者ではちゃんと利用者像を想定して、落としどころを見つける必要がある。 そのためには機能の絞り込みも必要で、何でもありにはならないんだ。
368 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 17:13:32 ] >>365 list[]を追加、削除のたびにnewしてやればいいんじゃね? もしくは、削除ならforで回して詰める、追加もforで回して隙間あけて入れる。 追加する余裕が配列になければnewしてやる
369 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 17:24:12 ] >>351 簡単にということなので、変数一個減らして、for文一個減らしてif文全部無くしてみた。 import java.util.*; class Nichan { public static void main(String[] args) { int a = 4, b = 7; char[] out = new char[b*2]; Arrays.fill(out,0,b,'*'); Arrays.fill(out,b,b+b,'='); for(int i=0; i<a/2;i++){ System.out.println(String.valueOf(out)); } } }
370 名前:351 mailto:sage [2008/11/26(水) 18:02:51 ] >>369 回答ありがとうございます。 なるべく原形とどめつつ最後のif文だけ何とか出来ませんかね? 注文多くてごめんなさい。
371 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 18:16:17 ] >>370 if (i%2 == 1){ /* hogehoge */ } ってことは、 if (i%2 == 0){} else { /* hogehoge */ } ってことでしょう。 for(j = 0; j < b; j++){ System.out.print("="); } System.out.println();
372 名前:370 mailto:sage [2008/11/26(水) 19:03:13 ] >>371 なるほど・・・ ありがとうございました。 いい勉強になりましたm( _ _ )m
373 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 19:47:45 ] >>318 ,323 もう解決してるかもしれないけれど、 携帯電話・PHS 関連なら、MIDP スレも参考になる情報もあるかも。 WILLCOM の電話機なら、MIDP 2.0 に準拠しているようだから。 CLDC+MIDP+携帯電話用Javaスレッド part 8 pc11.2ch.net/test/read.cgi/tech/1206017034/l50
374 名前:319 mailto:sage [2008/11/26(水) 20:24:06 ] >>320 ,325,330 ありがとうございました。 if(c[i]=='+'|c[i]=='-'|c[i]=='*'|c[i]=='/') こうしなくちゃいけなかったんですね。 ようやく分かりました。 String型のメソッドは覚えておいたほうがよさそうですね。 よく読んでおきます。 splitを使ったやり方も、試して見たいと思います。 ご丁寧にありがとうございました。
375 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 20:54:59 ] C出身なら if (stg.charAt(i)=='+' || stg.charAt(i)=='-') ですかね。 ジャバ出身者でtoCharArrayを使うのはなかなかいません。
376 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 21:21:36 ] すいません、JAVA3Dと acerola3d.sourceforge.jp/ 上URLのacerola3Dを使ってappletに表示させたいのですが行き詰ってしまいまして。 どなたかご教授願えませんでしょうか?
377 名前:318 mailto:sage [2008/11/26(水) 21:28:43 ] >>373 おお、専用スレがあったんですね。 thxです!
378 名前:デフォルトの名無しさん [2008/11/26(水) 21:55:53 ] Javaってあれだね?最初、Javaからやったらわけわかんなかったけど 色々言語やったら好きになった。便利だね。Write anywhere, Run once.だっけ?
379 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 21:57:33 ] 正しくは write once test anywhere
380 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:07:47 ] ttp://xy.yu.to/ (ここは本来のサイトではないが) この荒れまくりカオス絵チャのminiっていう部屋の 秘密スペース(枠外)への書き込みってどうやれば できるようになるのか解析して教えろ。 あと、1人の防衛プログラマーのクリアツールが強すぎて、 荒しプログラマーがことごとく全員返り討ちになってるから オマエラが面白くしてみろ。 ゲハハハごめんね
381 名前:デフォルトの名無しさん [2008/11/26(水) 22:14:32 ] 日頃からコード書いていて処理に慣れてる人はメソッド名が長い!冗長だ!とか文句言ったりしなくなりますよww さらに演算子オーバーロードー!!プロパティ!!とかも「はぁ?」って感じですかね?(笑)
382 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:29:32 ] >>374 「|」じゃない。「||」だ。 まぁ、どうせ>>374 のままだとエラーが出るからすぐわかるはずだけど。
383 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:32:50 ] サーブレットで文字化けみたいになるんですが すべて?ってのは文字化けではないですよね? コンテンツタイプの設定でEUC_JPやShift_JISなどに変更しても変わりません どうしたら直るか教えてもらえませんか?
384 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:53:09 ] >>382 >>374 は確かに良い書き方ではないけど、 エラーはでないぞ。 | と || の違いを分かってないのか?
385 名前:319 mailto:sage [2008/11/26(水) 22:55:03 ] >>375 ,382 なるほど〜 わざわざchar型に入れ替えるより charAtを使った方がすっきりしますね。 一応やってみて『|』でもうまくいったのですが この場合『||』の方がいいんですかね?
386 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:03:34 ] >>384 げ、論理演算て整数にしか定義されないと思い込んでたよ。 型違反になると思ってた。
387 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:08:39 ] >>386 ま、そんなもんでしょ。 ANSI Cを骨の隋までしゃぶってるわけじゃないし、そこまで細かく知ってる人いないし。 いちおう | は全部評価するってこと。
388 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:12:15 ] charAtだと余計なメソッド呼び出しの分コストがあるかな。 ストリームだと[]で受けるから、Stringにしないでそのままst[k]とかすることはある。
389 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:26:12 ] Javaって|はビット演算子じゃないの?
390 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:41:43 ] >>389 | はビット単位の整数演算子でもあるけど、論理演算子でもある。
391 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:41:55 ] >>389 そう思って>>382 を書いたら恥かいた(^^; &, |, ^ については、整数と真偽値の両方について定義されてて、整数のときはビット演算子、真偽値のときは論理演算子として振る舞う。 ただし、演算子の左右が両方とも整数か、両方とも真偽値でなければならなくて、例えば、1|trueはコンパイルエラー。 言語仕様の15.22参照。
392 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:56:22 ] >>390 ,391 thx 何か微妙な仕様だなw そこらへんは、C/C++から派生した言語として統一しておいてほしいね。 無駄に悩みそうだしw
393 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 00:10:30 ] どう考えても妥当な仕様だと思うが。 これ以外のどれでもいまいちな仕様になるだろ。
394 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 00:46:37 ] 複数の意味を持たすメリットが微妙に見える C/C++と同じでいいじゃん
395 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:43:36 ] javaでは真偽値と整数は非可換なんで&や|での扱いをC/C++と同じにするのは妥当とはいえない
396 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:56:44 ] いやいや、整数のみ(ビット演算のみ)に意味を持たせればいいじゃん、 と言う意味なのだが。 C/C++でも通常boolで|や&は使わないし。 それがイコールC/C++と同じにすることになると思うけど。 あれ?俺何か勘違いしてる?
397 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:11:13 ] 論理演算子として、 |…or。左辺も右辺も必ず評価。 ||…or。左辺が真なら右辺は評価しない。 &…and。左辺も右辺も必ず評価。 &&…and。左辺が偽なら右辺は評価しない。 だと思ったけど、違った?
398 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:31:29 ] || や && はあるのに ^^ はないのは如何に
399 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:37:44 ] つか、当たり前だった
400 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:38:08 ] >>398 右も左も計算しないと結果が出ないんだから、^ と等価になるだけじゃね?
401 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 03:42:55 ] >>398 ワロス booleanでの&と&&の使い方・・・ ようするに>>397 みたいなのなかなか参考書に書いてないか、気づきにくいよね
402 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 06:41:36 ] if (t == null || t.length() == 0) ... みたいな書き方をしたとき、 (t == null) が true なら t.length() が呼ばれないので NullPointerException が発生しない。 foo() と bar() が確実に1回ずつ呼ばれないと困るとき if (foo() | bar()) ... みたいに書ける。
403 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 07:39:47 ] このスレがはじめて役に立った
404 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 10:02:53 ] >>402 >foo() と bar() が確実に1回ずつ呼ばれないと困るとき >if (foo() | bar()) ... >みたいに書ける。 タイプミスなのか意図的なのかが分かり難いからあまり使って欲しく無いな
405 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 11:36:28 ] System.setIn(),setOut()などで入出力を変更したとします。 その後、元々の標準入力・出力を取得することはできますでしょうか? 単純に別に元々のものを持っておけばいいのですが、気になったので分かる方お願いします。
406 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 12:40:27 ] 携帯でプログラミングできますか
407 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 13:07:02 ] >>406 おすすめしないができる。
408 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 13:43:51 ] >>407 ありがとうございます タイピングが遅いとかですかね
409 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 14:25:20 ] >>305 スコープの問題は? init メソッドの中で宣言されてるZukeiに paintからアクセスしようとしてるからダメなんじゃねーすか? initメソッドの外にの外にZukei[] z;って書いたらよいとおもわれ〜。 Zukei[] z; init(){ } >>316 うそつけ。
410 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 15:48:25 ] javaで作ったプログラム(SQLサーバとやりとりして出力があるなら出力する)を3分起きに実行させ続けたいのですが 何を使ったらいいでしょう?スレッド?は違いますよね・・・
411 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:00:54 ] cronとかタスクスケジューラとかそういう話?
412 名前:410 mailto:sage [2008/11/27(木) 16:04:08 ] >>411 いや、javaのプログラム内で繰り返したいです 昔ちょっとやってたんですけど、HDDクラッシュでデータがなくて・・・
413 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:10:15 ] スレッドをまわしっぱなしにしてsleepで(180)とかにすればいいのかな?
414 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:15:19 ] >>413 sleep はミリ秒だぞ
415 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:16:13 ] タイマーでもいけるんじゃない。このあたりで。 java.util.timer javax.swing.Timer java.util.concurrent.ScheduledExecutorService
416 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:24:23 ] >>414 そうだった、180000だな、ありがと
417 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:39:57 ] javaにはfork()は無いの?
418 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:19:05 ] Tomcatユーザメーリングリストに参加 (www.jajakarta.org/tomcat/faq/tomcatuser.html )したくても参加できないのですが、 どうすればよいでしょうか?
419 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:25:53 ] TimerTask使うのがらくなんじゃね?
420 名前:デフォルトの名無しさん [2008/11/27(木) 17:30:37 ] ある関数 List<String> hoge(List<String> list); を開発しています。 hoge() には、String を要素とする List が渡されてきます。 このとき、List が保持している String は重複しているかしていないか、わかりません。 この関数の中で、重複している要素は削除して、リストを返したいです。 (Set を返却値としたかったが、呼び出し元が List を要求していて、そこは修正できない) そこで以下のようなプログラムを書きました。 List<String> hoge(List<String> list) { Set<String> set = new HashSet<String>(list); List<String> resultList = new ArrayList<String>(set); return resultList; } このように一度 Set に入れなおすことで重複を自動的に削除し、 List に変換しています。 ○質問: Set や ArrayList に入れなおすとき、中の要素は コピーされて渡されるのか、参照渡しになるのでしょうか? HashSet や ArrayList のコンストラクタのソースを見ると、中で AbstractCollection#addAll(Collection) が呼ばれているようです。 その中では、渡された Collection を Iterator で回して 得られた要素を add しているので、参照渡しにしていると考えました。 hoge() 関数には大量(10万単位)の文字列が渡ってくるので、できれば OutOfMemory を起こしたくないため、参照渡しになってほしいです。
421 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:43:41 ] >>420 オブジェクトを == で比較してテストすればいいじゃない。
422 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:57:29 ] >>420 中の要素は、コピーされようがコピーされまいが参照渡し。
423 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 18:00:04 ] >>422 Javaには参照渡しはない。
424 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 18:00:56 ] そして議論は質問と関係ない方向へ、というわけですね
425 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 19:36:33 ] private なコンストラクタしかないシングルトンがコピーできたらコレクションは最強だな
426 名前:デフォルトの名無しさん [2008/11/27(木) 19:56:12 ] 俺、病気で高校中退して、25でJavaプログラマになれたんだけど、 当然、大学とかいってないから、予備知識なんてなにもない。 このスレ見るたびに、すごい専門的なこと書く人がたくさんいて、すごい自信なくす。。 個人的には、業務に間に合うように一生懸命勉強してるつもりなんだけど。 いつか、だめになるんじゃないかととても不安。
427 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:03:36 ] 大学の4年より、実務の半年のほうがよっぽど濃いかもよ? 濃いの解釈はまかせる
428 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:06:02 ] 今情報系の大学院2年だけど 学部時代で授業でやるのなんてほんの一部のプログラミング知識だけだよ Cの基本的なことだけやって終わり あとは自分で覚えてくだけだから、>>426 より大学生の方がよっぽどレベル低いよ ここで回答してる人たちは本当にすごい人だなと思う
429 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:09:20 ] このスレってそんなにレベル高いか?
430 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:10:22 ] 実務では、ちゃんとやろうとしても コピペ坊の華麗な手さばきにはついていけません
431 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:12:20 ] さらに、野生の勘が閃く削除坊の使い手が現れると プロジェクトは終焉を迎えます。