- 1 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 17:52:10 ]
- プログラミング言語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質問・相談スレッド115【歓迎】 pc11.2ch.net/test/read.cgi/tech/1210529127/ 次スレは>>990あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
- 487 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:30:55 ]
- API何使ってんだよ?
- 488 名前:デフォルトの名無しさん [2008/06/22(日) 17:07:02 ]
- >>486
動画?
- 489 名前:467 mailto:sage [2008/06/22(日) 17:24:24 ]
- www.mozilla-japan.org/rhino/tutorial.html
このページ読んだのですが、使い方が分かりませんでした。 まずはimport org.mozilla.javascript.*;を使うにはまた環境変数をいじらないといけませんよね? あと、これを書けばJavaScriptの文法を使用可能になると言うことでしょうか?
- 490 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 18:03:23 ]
- >>489
実行時にクラスパス通せばいい。 >あと、これを書けばJavaScriptの文法を使用可能になると言うことでしょうか? そう
- 491 名前:使用書無しさん [2008/06/22(日) 19:17:24 ]
- javaフリークの皆さん。100%PureJavaでドローソフト jdrafter.sakura.ne.jp/
を作ったので是非使ってね。javaの帳票設計にも使えるよ。
- 492 名前:デフォルトの名無しさん [2008/06/22(日) 19:25:37 ]
- java3D?
- 493 名前:使用書無しさん [2008/06/22(日) 19:27:13 ]
- 2Dだよ
- 494 名前:デフォルトの名無しさん [2008/06/22(日) 19:28:39 ]
- おー
頑張った頑張った。だが…
- 495 名前:使用書無しさん [2008/06/22(日) 19:32:02 ]
- だが?
- 496 名前:デフォルトの名無しさん [2008/06/22(日) 19:32:03 ]
- 初心者から中級者ってどこで判断するんだ
開発経験年数?
- 497 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:36:47 ]
- >>491
すっげぇ!!!! まじで感動したw 俺もがんばろっとー
- 498 名前:使用書無しさん [2008/06/22(日) 19:51:23 ]
- >>497よかったら使ってね。
- 499 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:01:56 ]
- javaなのになんでexeなの?
- 500 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:08:30 ]
- ただの自己解凍zipだよ。解凍したらclassファイルいっぱいでてくる。
けど・・・ほんとすごいわ。 経験が浅いからこんなでっかいプログラム見たこともなかった。 馬鹿にされそうw
- 501 名前:使用書無しさん [2008/06/22(日) 20:09:14 ]
- jarパッケージでもよかったんだけど、jarだと中身丸見えだしアイコンも
ダサいので、あえてExeにラップしました。
- 502 名前:デフォルトの名無しさん [2008/06/22(日) 23:26:45 ]
- あの〜
色決めるときに { | | } こんな感じで区切ってbyteに代入するのはいったいどういう意味があるんですか? ほかにも | で区切る表現が偶に出てきて戸惑うんですけど・・・・・ 入門書にも載ってなくて 誰か教えてもらえませんか?
- 503 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:37:25 ]
- | は区切りではない
ビットごとの論理和 (OR) の演算子 その入門書の演算子の一覧かなんか見てみろ、載ってるはず
- 504 名前:デフォルトの名無しさん [2008/06/23(月) 01:26:41 ]
- 趣味で為替のチャート表示のプログラミングをJAVAでしたいと思っているのですが、為替のリアルタイムでのデータをネットから取り込むことは出来るのでしょうか?
質問が漠然としていて申し訳ないのですがお願いします。
- 505 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:32:42 ]
- >>504
きみのPCのブラウザで表示できる情報はすべてJavaで取得できる手段が 存在すると考えていい。すごく難しい場合もあるけど。
- 506 名前:デフォルトの名無しさん [2008/06/23(月) 01:48:37 ]
- >>505
ありがとうございます。 大学ではCとFortranを使ってたのですがどちらも制御系のプログラムばかりでこういった類の経験がありませんでした。 林晴比古の入門JAVAシニア編でもネットから情報を取り込むことに触れられないので不安に感じましたが、もっと勉強しようと思います。 その辺を詳しく解説してくれる書籍などはないでしょうか?
- 507 名前:デフォルトの名無しさん [2008/06/23(月) 02:31:02 ]
- 赤音れおん
- 508 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 03:33:11 ]
- >>504 >>506
よくわからないけど、java.netパッケージあたりが基本では ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/net/index.html
- 509 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 07:31:09 ]
- >>508
ありがとうございます。その系列の本をあさってみようと思います
- 510 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 09:42:26 ]
- >>504
原則的には>>505が言ったとおりなんだけど ファイナンス系サイトはデータを流用されないように工夫しているところもあるから注意 例えば数字に見えても画像だったりFlushで表示を制御してたり
- 511 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:02:41 ]
- プログラムのために準備されたものでないものからデータを拾う場合は
それないりに工夫や苦労はつき物。 相手がレイアウトや内容を変えない保障はどこにもない。 うちの社内なんていくつかのシステムの寄せ集めで、 システム間のデータのやり取りの大半が、 印刷直前の帳票データから拾ってるから間違い多いしカオスすぎる・・・
- 512 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:32:44 ]
- 特定のフォルダ内からフィルタを掛けて、条件に引っかかるファイルの内容を表示したいので、
finamefilterを使って実現したのですが、当然の如くフォルダ内のファイル数増加に伴って応答が遅くなります。 なにかいい解消手段はないでしょうか?
- 513 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:42:39 ]
- >>510
なるほど・・・たしかに証券会社のチャートやボードはフラッシュや動画の類いに見えます。 実際問題、個人でそういったデータを引っ張ってきて表示させるのはきつそうですね。 ありがとうございました
- 514 名前:デフォルトの名無しさん [2008/06/23(月) 11:15:17 ]
- MT4辺りにDLLフックかけてJNI経由で取り込む
- 515 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 12:27:35 ]
- >>512
(十分な効果が出るか分からんけど)ファイル名をあらかじめメモリに展開するとか よほど大量なら、全文検索エンジンに放り込んでおくという手もあるが 取り扱いが面倒になる
- 516 名前:デフォルトの名無しさん [2008/06/23(月) 12:59:21 ]
- >>513
もうちょっと有力な回答があるとまってたんですけど・・・ 確か個人ですけど、リアルタイム(1秒毎)は証券会社に加入するしかないです。 yahooのあれは20分遅れだったかな? 個人集団が作ってる有力な株ソフトがいくつかあるんで、それを参考にしたらどうですか。 やってることもhtmlのテキスト解析・分析・処理のようですけど。
- 517 名前:デフォルトの名無しさん [2008/06/23(月) 13:20:03 ]
- eclipseでパッケージの中にパッケージをつくるにはどうやるんですか?
- 518 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:32:10 ]
- eclipseスレにいけ
- 519 名前:デフォルトの名無しさん [2008/06/23(月) 20:26:11 ]
- javaでstrutsでなにかしてみたいのですが
お勧めのHPあれば教えてください。
- 520 名前:デフォルトの名無しさん [2008/06/23(月) 20:46:11 ]
- 為替と聞かれて証券教えるこの不思議
- 521 名前:デフォルトの名無しさん [2008/06/23(月) 22:14:40 ]
- なに、御礼もないし嬉しくもないの?
まあ、もう答えないからいいよ。
- 522 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:25:39 ]
- いじけちゃってかわいい♪
- 523 名前:デフォルトの名無しさん [2008/06/23(月) 22:53:26 ]
- 殺すぞ?
- 524 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:57:50 ]
- 通報すっぞ?
- 525 名前:デフォルトの名無しさん [2008/06/23(月) 22:58:46 ]
- ってかわいい♪
- 526 名前:デフォルトの名無しさん [2008/06/23(月) 23:06:04 ]
- 以下のソースだと、
java.lang.NullPointerException がtd[count].setWord(strAry[1]);のところで 出てしまいます。 かれこれ4時間やっているのですが、わからないので、 解決法をおしえてください。 また、できるだけ、影響が少ない方法(データモデルをあまり変えない) だと助かります よろしくお願いします。 int count = 0; while ((line = br.readLine()) != null) { String[] strAry = line.split(" "); System.out.println(strAry[1]); if (strAry.length==2) { System.out.println("aaa"); } else if (strAry.length==3){ System.out.println("gp" + strAry[1]); td[count].setWord(strAry[1]); td[count].setSpeech(strAry[2]); } } count++; }
- 527 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 23:08:47 ]
- >>526
td[] はどこでどうやって宣言してる?恐らくそれが間違っている。
- 528 名前:デフォルトの名無しさん [2008/06/23(月) 23:13:23 ]
- S!アプリ造りたいんですけどいいサイト知りませんか?
- 529 名前:526 [2008/06/23(月) 23:26:25 ]
- >>527
ありがとう public class Manager { TokenData[] td; という感じで,クラス宣言の後で,宣言しています. また,TokenDataは,以下のクラスで宣言しています. よろしくお願いします. public class TokenData { private String word = ""; private String basicWord = ""; private String speech = ""; public void Token() {} public String getWord() { return word; } public void setWord(String word) { this.word = word; } public String getBasicWord() { return basicWord; } public void setBasicWord(String basicWord) { this.basicWord = basicWord; } public String getSpeech() { return speech; } public void setSpeech(String speech) { this.speech = speech; }}
- 530 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 23:29:35 ]
- >>526
配列の宣言と初期化について調べたほうが良いと思います。 項目数が不明な取り込みには ArrayList を使いましょう。 配列での保持が必要なら、後で変換しましょう。
- 531 名前:526 [2008/06/23(月) 23:33:20 ]
- ありがとう。
ArrayListを使う場合の例をおしえていただけませんか?
- 532 名前:使用書無しさん [2008/06/23(月) 23:35:55 ]
- javaフリークの皆さん
100%purejavaのドローングソフト jdrafter.sakura.ne.jp 登場 帳票設計や、アプレットのヴェクターアニメーションにも使えるよ ダウンロードしてね
- 533 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 23:43:58 ]
- >>531
[配列] TokenData td[]=new TokenData[20]; for(int i=0;i<td.length;i++) td[i]=new TokenData(); [ArrayList] ArrayList<TokenData> td=new ArrayList<TokenData>();
- 534 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:02:55 ]
- 最近、PGやSEが逮捕されること多くないですか?
それもアキバのお宅イメージをセットにして報道してるように感じますが、警察は何か恨みでもあるんでしょうか。winney?
- 535 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:08:26 ]
- ButtonGroupでグループ化した3つのラジオボタン1,2,3に対して、
初期はすべてのボタンが選択されていない状態ですが、 いずれかのボタンが選択された状態から、グループを初期の状態に戻す方法を教えていただけませんでしょうか。 ちなみに、clearSelection()は使えない環境です。
- 536 名前:526 [2008/06/24(火) 00:09:09 ]
- >>533
本当にありがとうございます。 素人なので、こうした情報が勇気づけられます。 java1.4の場合ですと、ArrayList<TokenData>のような表現は無理だそうです。。。 その場合は、どのような方法がありますでしょうか? DATACLASSをArrayListではあつかえないってことでしょうか? すみません。おしえてください。
- 537 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:16:31 ]
- >>536
ArrayList td=new ArrayList(); ただしこの場合は中身はObject型になるので利用する際キャストが必要。 td.add(new TokenData()); TockedData token1=(TokenData)td.get(0);
- 538 名前:デフォルトの名無しさん [2008/06/24(火) 00:16:34 ]
- a.javaをコンパイルしたらa.classとa$1.classてゆうのができました
この二つのclassをjarに圧縮したいのですがどうもうまくいきません ちなみにプロンプトには jar cfm g.jar d.txt a.class a$1class と打っているんですがあっているでしょうか?
- 539 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:20:44 ]
- ぱっとソース見ただけだけど、selectionをnullにする必要があるのに、selectionのsetterがsetSelected(ButtonModel,boolean)しかないから、無理な気がする・・
せめてprotectedにしててくれたらなぁ。 大したプログラムじゃないし、自分で作ってみたら?
- 540 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:22:32 ]
- >>538
unix系のshellなら $は意味がある文字だから \$ とエスケープしてみたらどうでしょう。
- 541 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:26:28 ]
- しまった。>>539は>>535へのレスね。
- 542 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:45:01 ]
- >>538
>>540以前にコマンド自体あってないね 書き込み時のtypoかもしれんが
- 543 名前:デフォルトの名無しさん [2008/06/24(火) 00:45:53 ]
- JSFでも使うぞ$
- 544 名前:デフォルトの名無しさん [2008/06/24(火) 03:04:20 ]
- クラスの設計を、
・コードで直接行う場合のメリット、デメリット ・UMLを利用する場合のメリット、デメリット を教えてください 。
- 545 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 08:59:35 ]
- 冗長、どちらか一つでいい。
・コードで直接行う場合のメリット ・UMLを利用する場合のメリット
- 546 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 09:14:24 ]
- > クラスの設計を、
> ・コードで直接行う 設計になってねえ
- 547 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 11:03:46 ]
- クラスの設計を、コードで直接行う場合のメリット、デメリット
を教えて下さい
- 548 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 11:04:26 ]
- クラスの設計を、コードで直接行う場合のメリット、デメリット
を教えて下さい
- 549 名前:デフォルトの名無しさん [2008/06/24(火) 13:03:13 ]
- こんにちは。
学校の課題で作った掲示板システムの拡張をしています。 設計について質問させてください。 DB1テーブル1Entityで、各Entityが自身のvalidateメソッドを持つ形の設計をしています。 今回、一部のテーブルに対し、validateのみが異なる複数のEntityが必要な状況になりました。 いくつか方法を考えたのですが、このような場合どの方法がよいでしょうか。 (1) 関連のない別クラスとしてEntityを定義する。 (2) 共通の親Entityクラスを定義し、validateメソッドをoverrideする。 (3) validateを別クラスに切り出し、strategyに持ち込む。 よろしくお願いします。
- 550 名前:デフォルトの名無しさん [2008/06/24(火) 13:26:49 ]
- コーディングと設計の区別もつかないPGが混じってんのか
- 551 名前:デフォルトの名無しさん [2008/06/24(火) 14:52:17 ]
- こんにちは。JAVA初心者です。
eclipseでソースを打っているのですが、 コメントを打つと、たまに日本語が□に変わって うまく表示されません。 なぜか、教えてください。
- 552 名前:デフォルトの名無しさん [2008/06/24(火) 15:25:52 ]
- すいません解決しました。
ありがとうございました
- 553 名前:デフォルトの名無しさん [2008/06/24(火) 16:01:27 ]
- javaの土初心者です。JavaでWindows PCの
I/O空間アクセス、物理メモリアクセス ってどのようにするんですか?
- 554 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 16:21:53 ]
- >>553
JNIとOSのディバイスドライバが必要だな。 そもそもWin32でそれをする方法を知ってるのか?
- 555 名前:デフォルトの名無しさん [2008/06/24(火) 17:13:06 ]
- >>554
デバイスドライバを作りたくないからJavaでやろうと考えたのですが... 今回はI/O空間アクセスが出来ればOKで、物理メモリアクセスはあればなんかの役に立つかな ぐらいなんですが Windowsならドライバで IO空間アクセス: READ_PORT_XXX、WRITE_PORT_XXX で行う 物理メモリアクセス: MmMapIoSpaceしてREAD_REGISTER_BUFFER_XXX、WRITE_REGISTER_BUFFER_XXX で行う で使うときにはDeviceIoControlで叩く ってC/C++のWinプログラム初心者でも知っている知識ですよ。 初心者Javaな人でもこれぐらいは知っていますよね。
- 556 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:22:57 ]
- ここはクマーとかいうAAを貼るところだろうか?
- 557 名前:デフォルトの名無しさん [2008/06/24(火) 17:27:05 ]
- アンダーフローやオーバーフローは構文エラーですか?論理エラーですか?
- 558 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:38:27 ]
- 違います
低脳エラー(うぽぽんエラー)です
- 559 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:40:41 ]
- >>555
すっげー 俺もこんくらいの知識ほしい
- 560 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:50:21 ]
- >>85-105
なんか爆笑した。>>85の言動にw >>109 そこにJavaの格言とJavaの鉄則が入ってるのが理解できない。 あの本はJava5以前の本だぞ。Java5が出てから役に立たなくなったテクニックやTipsが けっこうあるので今ではおすすめしがたいな。鉄則のほうはそこそこ役に立つが、 それだったらEffective Javaのほうが全然役に立つ。
- 561 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:51:04 ]
- そクマー
- 562 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:56:02 ]
- >>121
Java+謎、落とし穴を書いた前橋 和弥よりはましではないかと。 あれは酷かった。本に愚痴ばかりかいて、今となっては解決済みの問題が あたかも解決されていないかのような書き方が、初心者に誤解を与えかねない本だな。 アンチがあれを読んで昔飛びついていた記憶がある。
- 563 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:57:58 ]
- >>134
> ただM$の都合で、変な改定されるのが怖いんです。(J++とかw) そのくせ、こんなこと言ってるよな。VBにしておけよ電波。 > どうしてjavaは初心者にこうも厳しいんですか? > 例えばダブルクリックの起動ファイルひとつ作るのでも、ネット上の情報はうそっぱちか役に立たない情報ばっかり。 > VBと比べても必要な情報にたどりつくのに時間がかかりすぎ。 > これだったら、M$社製品(C++、C#、VB2005等)の方が手っ取り早かった(と思う、たぶん)。 > とくかく情報の出し惜しみはやめてほしいな。 > なんで、java弄るひとって性格の悪い人がおおいんだろ。 > java関係の本でもろくなのないし。
- 564 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:00:22 ]
- >>141
> LinuxではC#動かないでしょう? Monoで動く。 > .NETははっきりいって糞くらえですよ。(食事中のかたすんません) VB忠なのに。
- 565 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:01:37 ]
- >>146
> ふりだしに戻る・・・ > ⇒なんで、java弄るひとって性格の悪い人がおおいんだろ。 > > 自分なりの分析ですが > java弄る人って、殆どが玄人(それで飯食っているひと)なわけですよ。 > もしくは、いま勉強中で資格とって就職しようとしている人々。 > したがって、ライバルは少ないほうがいい、もしくは自分の優位性をつねに保っていたい。 > そんなエゴが見え隠れしている。 一昔前のC言語厨やUNIX屋じゃあるまいし。 このスレ見ればわかると思うが、素人がよく質問しに来ているが。
- 566 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:04:05 ]
- >>154
たいした警鐘に感じないなあ。 Javaの情報は10年前に比べれば腐るほどあるし ライブラリもたっぷりあるし書籍もネットも充実して情報には困らないんだよなあ
- 567 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:05:19 ]
- この使い方の意義が分からん漏れはヴァカですか?
StringBuffer sb; sb.append("Hello, ").append("world!!");
- 568 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:15:01 ]
- >>567
意味じゃなくて意義となればワンライナーと呼ばれる人々が喜ぶ
- 569 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 19:08:36 ]
- >>549
validateを交換可能にしたいんでしょ? まあ2のTemplateMethodパターンかなあ
- 570 名前:デフォルトの名無しさん [2008/06/24(火) 19:09:11 ]
- java.awt.FileDialog上のキー操作、マウス操作をフックしたいのですが、
実装方法を教えてください。 フックしたい目的は、右上の×ボタンとESCキーによるキャンセル抑止です。 processEventメソッドをオーバーライドしたり、 リスナを追加してもどうもフックされていないようです・・。
- 571 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 19:19:11 ]
- >>567
それだったらStringBufferをStringBuilderに変えて StringBuilder sb = new StringBuilder(); sb.append("Hello, world!!"); したkなる。 new忘れていたようなのでつけておいた。 "Hello, "と"world!!"が文字リテラルではなく変数や定数だったら 意義はある。
- 572 名前:デフォルトの名無しさん [2008/06/24(火) 19:45:18 ]
- 5万ぐらいの激安のノートパソコンで
勉強できる?
- 573 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:05:32 ]
- >>569
ありがとうございました。 その方向で設計してみます。
- 574 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:42:39 ]
- JMFを使ってキャプチャした画像→
JNIを通してOpenCVに送り顔認識→ 認識した顔の中心座標を返す といったプログラムを書こうとしていますが、そもそもこんなことは可能なのでしょうか。 別にJNIを使わなくても顔認識ができればいいのですが、 OpenCV程度の顔認識精度があるJAVA用ライブラリなどあれば教えて頂きたいです。
- 575 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:56:56 ]
- >>572
何が?
- 576 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:59:29 ]
- >>572
勉強するだけなら10年前のでもできるだろ 何を勉強するのかしらんけど
- 577 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:00:01 ]
- 4月からIT企業に入社したヒヨッコです。いろいろ勉強のために調べていたらどうしても理解できないソースを見つけたので質問に来ました。
インタフェースの中にある以下のようなソースなんですが public interface IntComparator{ public static final IntComparator NATURAL_COMPARATOR = new IntComparator(){ public int compare(int i1, int i2){ return i1 < i2 ? -1 : i1 > i2 ? 1 : 0 ; } }; } 出典:ttp://mitv2.net/algorithm/sort1.html#IntComparator 1.「new コンストラクタ{メソッド名(引数){メソッド定義}}」という書式はこの他にも見かけたのですが、 これはこれから生成するインスタンスに含まれるメソッドを定義する構文という理解で正しいのでしょうか?また、その場合このメソッド定義はどのインスタンスに対して有効なのでしょうか? (クラス定義と同じでこれ以降同じクラスから生成するインスタンス全てに有効?それともここで生成するインスタンスのみに有効?) 2.メソッドを定義する構文であるとすれば、抽象メソッドしか持たないはずのインタフェース内でメソッドを定義していることになります。 Eclipsにコピペしてみてもコンパイルエラーは発生しないようですが、本当にこのようなことが許容されるのでしょうか? 長文になってしまいましたが、よろしくお願いします。
- 578 名前:577 mailto:sage [2008/06/24(火) 21:01:02 ]
- インデントきえたーーー
読みにくくてスイマセン…出典元を見ていただいたほうがいいかも知れません…
- 579 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:04:21 ]
- >>578
専ブラならポップアップで見てみ
- 580 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:00:48 ]
- >>577
それは匿名内部クラス、あるいは単に匿名クラス、もしくは無名クラスなどという。 指定したクラスかインタフェイス(その場合はIntComparator)を継承・実装している名前のないクラスを定義してnewする。 定義したメソッドは、そこで生成するインスタンスだけのもの。
- 581 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:09:13 ]
- >>577
1回限りしか必要のないクラスの名前をわざわざ付けて名前空間を汚す代わりに 名無しのクラスからインスタンスを生成することができる。 書式的には、 new 親クラス(親クラスのコンストラクタの引数) { メソッド定義 } みたいな感じ。 名前がないので、新しいメソッドを定義してもクラスを明示できないから呼べない。 大抵、親クラスのメソッドのオーバライドしないと意味がない。 クラスじゃなくてインターフェースでもおk 似たようなものに、配列の生成と初期化を同時に行う方法がある。 new int[] { 1, 2, 3, } とか。 いちいち配列を入れる変数名を用意して名前空間を汚さずとも そのままメソッドの実引数などに使える。 ただ、見づらいと言う人は多々居る。不毛な論争の種にどうぞ
- 582 名前:577 mailto:sage [2008/06/24(火) 22:51:54 ]
- >>580
>>581 ありがとうございます。 読みながら想像してたのと大体合ってたようで一安心です。 クラスの中でインスタンスをいっぱい(50コとか)作るけど、そのうち1つだけメソッドの中身がちょっと違うときに使ったりするものなんですね。 もう少しこのソースがどんな動きをするのかを考えてみたいと思います。その過程で壁に当たったらまた質問に来るかもしれないので、そのときはよろしくお願いします。
- 583 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:28:01 ]
- クラスの設計を、コードで直接行う場合のメリット、デメリット
を教えて下さい
- 584 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:22:10 ]
- サイズを固定しないJTableを作りたいのですが、
可変長の二次元配列ってどうやって表現すればよいのでしょうか? 一次元でも実現可能なのでしょうが、コードが冗長になりそうで・・・
- 585 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:29:21 ]
- >>584
配列じゃなくてコレクション使ったMODELで
- 586 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:52:08 ]
- >>585
引数がVectorのDefaultTableModelを使うという事でしょうか?
- 587 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:53:39 ]
- javaで図形処理をさせる課題が出て難しく感じたので
これを機に参考書を買おうと思っています。 wiki乗っている「コアJava2 Vol.1 基礎編」が良さそうだと思ったのですが 図形処理関係では他にどういう参考書があるか知りたいので 教えてください。
|

|