★★Java質問・相談スレッド132★★
at TECH
1:名無しさん@そうだ選挙に行こう
09/08/30 20:02:41
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 URLリンク(pc11.2ch.net)
Webプログラミング URLリンク(pc11.2ch.net)
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
URLリンク(www.wikiroom.com)
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド131【歓迎】
スレリンク(tech板)
次スレは>>950あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
URLリンク(www.wikiroom.com)
2:名無しさん@そうだ選挙に行こう
09/08/30 20:03:24
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 8
スレリンク(tech板)l50
■ SWT は --
Java 高速GUI SWT 3
スレリンク(tech板)l50
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part19
スレリンク(tech板)l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 8
スレリンク(tech板)l50
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 68 ★★
スレリンク(tech板)
■ NetBeansに関する雑談は --
NetBeans Part5【Java/C++/Ruby/Python/PHP】
スレリンク(tech板)
■ Eclipseに関する雑談は --
Eclipse統合M28【Java/C++/Ruby/Python/Perl】
スレリンク(tech板)
3:名無しさん@そうだ選挙に行こう
09/08/30 20:04:28
**** 開発環境が必要の場合は ****
■ J2SE 1.4.0
URLリンク(sdc.sun.co.jp)
■ J2SE 5.0 (1.5.0)
URLリンク(java.sun.com)
■ Java SE 6
URLリンク(java.sun.com)
**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
URLリンク(www.java.com)
4:デフォルトの名無しさん
09/08/30 20:42:42
>>3
1.4系は削った方が良くない? 今無償で入手可能なバイナリってセキュリティ的にやばいやつだから。
5:デフォルトの名無しさん
09/08/31 02:12:40
でも1.4環境はまだまだ多いのも現実。
インターネット関係は論外だが、社内で綴じたネットワークで使う分には在処と。
6:デフォルトの名無しさん
09/08/31 09:05:07
int long float double BigDidimal BigIntegerのどれかをつかうかプログラムを実行するときに
決めるには。ラッパークラスを作る以外に方法ありますか?
7:デフォルトの名無しさん
09/08/31 10:13:39
日本語で頼む
8:デフォルトの名無しさん
09/08/31 10:33:53
>>6
無いんではないか。特にプリミティブ型はオブジェクトではないので
ポリモルフィズムが実現できない
したがって、OOP的な手法で実装の決定を後回しにできない
9:デフォルトの名無しさん
09/08/31 10:34:09
知識が足りない人には理解できないだけ。
10:デフォルトの名無しさん
09/08/31 10:39:49
r⌒⌒⌒ヽ
(( ( ) ))
(( 人人人 ノ
(( ・ω・ )ノ ))
(( ( つ 丶
〉とノ )))
(_ノ(_)
r⌒⌒⌒ヽ
(( ( ) ))
(( 人人人 ノ
((´・ω・)ノ ))
(( ( つ ヽつ
〉 i ))
(_ノ(_)
r⌒⌒⌒ヽ
(( ( ) ))
(( 人人人 ノ
(( ・ω・ )ノ ))
(( ( つ 丶
〉とノ ) ))
(_ノ(_)
r⌒⌒⌒ヽ
(( ( ) ))
(( 人人人 ノ
((・ω・`)ノ ))
⊂/ ⊂ )
i ヽ
(( (_)^丶_) ))
11:デフォルトの名無しさん
09/08/31 10:47:12
>>6
BigDidimalは無いわ
12:デフォルトの名無しさん
09/08/31 10:50:51
BigDecimalの間違い
13:デフォルトの名無しさん
09/08/31 13:52:14
>>6
ジェネリクス使え
14:デフォルトの名無しさん
09/08/31 14:01:55
>>13
ジェネリクスつかうと足し算とか出来ない。
15:デフォルトの名無しさん
09/08/31 15:02:04
夏休みの宿題おわったか?
16:デフォルトの名無しさん
09/08/31 15:21:22
>>6には四則演算が必要かどうか書いてないな
どっちなんだ?
17:デフォルトの名無しさん
09/08/31 15:23:17
Iterable<T>とT[]を同一視できるようなやり方って無いよなあ。
単純に同じforeach文でぶん回したいだけなんだけど。
Arrays.<T>asList(T...)でT[]をシコシコ変換するぐらいかな。
18:デフォルトの名無しさん
09/08/31 15:25:11
>>16
必要に決まってるし、ジェネリックスはオブジェクトを作ることもできない。
19:デフォルトの名無しさん
09/08/31 15:36:06
エスパーの登場です
20:デフォルトの名無しさん
09/08/31 15:44:28
ごめん。>>6の意味が全く分からない。
まず何をしようとしているのかが意味不明。
doubleとBigDecimalじゃあ根底の計算から違うって知ってるよね?
有効桁数とか丸め誤差とかどうなの?
21:デフォルトの名無しさん
09/08/31 15:50:01
なんか具体的な型に関わらない汎用的な計算処理を実装したいのかもしれない
使う側の都合に合わせて精度を選べるというのは場合によっては便利かもしれない
Numberクラスあたりにaddとかsubtractとかあればよかったんだろうけど、ないからな
無駄な話だが、型ごとに同じコードを書くしかないんじゃね
22:デフォルトの名無しさん
09/08/31 15:51:59
多分>>6はもっと別の解決法があるはず
23:デフォルトの名無しさん
09/08/31 15:52:53
そこまで汎用的にする必要性が感じられない
24:デフォルトの名無しさん
09/08/31 16:08:27
彼は天才だから、汎用的であるべきだと思ったんだろう
25:デフォルトの名無しさん
09/08/31 16:30:22
Rubyでもやっていた方が幸せになれるだろう
26:デフォルトの名無しさん
09/08/31 16:32:31
確かに、まさにRuby向けだよね
27:デフォルトの名無しさん
09/08/31 19:37:49
Cだとマクロで解決できるけどJavaにはマクロがないからな。
28:デフォルトの名無しさん
09/08/31 19:39:14
javaの最新版をインストールしたら(ver6 update15)
F1のlivetimingやタカミンのお絵かきチャットが真っ白になって見れなくなった、
みなさんは見れてます?
29:デフォルトの名無しさん
09/08/31 19:48:39
知るか
30:デフォルトの名無しさん
09/08/31 19:48:45
そんなもん見る必要ない
31:デフォルトの名無しさん
09/08/31 20:03:41
ワロタ
32:デフォルトの名無しさん
09/08/31 20:19:00
助けてよ
33:デフォルトの名無しさん
09/08/31 20:21:44
作者に聞け
34:デフォルトの名無しさん
09/08/31 21:14:41
あの人に聞け
35:デフォルトの名無しさん
09/08/31 21:45:47
麻生閣下ばんざい!?
36:デフォルトの名無しさん
09/08/31 22:14:25
>>28
IE とかアドインの管理かコンパネで Java Plug-in を切り替えたりできない?
俺のは新品なんで今は 1.6.0_15 しか入ってないからよく分かんない・・・
37:デフォルトの名無しさん
09/08/31 22:31:12
板違いだ
38:デフォルトの名無しさん
09/08/31 22:41:05
>>28
それ最新版じゃないし
39:デフォルトの名無しさん
09/09/01 02:52:32
テキストペインにおいて、
キャレットが点滅しないようにしたいです。
以下ではうまくいきません。(デフォルトどおり点滅してしまう)
(エラーは出ません)
よろしくお願いします。
//テキストペインを作成する
JTextPane tpane = new JTextPane();
//使用するキャレットを設定する
Caret c = tpane.getCaret();
c.setBlinkRate(0); ←キャレットの点滅間隔をゼロに設定
tpane.setCaret(c);
40:デフォルトの名無しさん
09/09/01 03:19:36
>>39
うちの環境(1.6.0_16)では
tpane.getCaret().setBlinkRate(0);
で普通にブリンクが止まったけど、>>39のJavaのバージョンは?
getCaretで得られるCaretはtpaneが保持しているカレットそのものへの参照なので、
わざわざsetCaretしなくても大丈夫。しても構わないけど。
41:デフォルトの名無しさん
09/09/01 03:59:48
ついでにJDK5でも試したけど問題なく点滅は止まった。
プラットフォームはwinXP。
>>39ではテキストペインの作成とカレットへの設定を連続して書いているけど、
実際のプログラムでもそうなってる?
設定する部分が実際には実行されていないというようなことはない?
42:デフォルトの名無しさん
09/09/01 14:02:33
>>40
>>41
レスありがとうございます。
ブラウザに問題が合ったようで、
単にスクリプトの修正が反映されていなかったようです。(完全更新したはずが)
失礼しました。
43:デフォルトの名無しさん
09/09/01 15:13:09
>>42
早まって自爆するなボケ
44:デフォルトの名無しさん
09/09/01 19:38:56
java.net.URL について質問があります(jdk1.5.0_15)。
このクラスのコンストラクタ URL(URL context, String spec) では相対パスを解決してくれるので
とても重宝しているのですが、specがGETパラメータのみの場合に期待した動作をしてくれません。
例えば、ページ
URLリンク(example.com)
内に
<A HREF="?p=1">
とある場合、ブラウザでは(IE,FFで確認)
URLリンク(example.com)
へのリンクを表すのですが、
[コード]
System.out.println(new URL(new URL("URLリンク(example.com)"), "?p=1"));
で試してみたところ
[結果]
URLリンク(example.com)
となりました。これは、java.net.URLの不具合なのでしょうか。
あるいはこれが正しい動作で、ブラウザの方が標準規格に反しているのでしょうか。
45:デフォルトの名無しさん
09/09/01 19:58:42
>>44
自分で処理する
46:デフォルトの名無しさん
09/09/01 20:41:59
まるでアンダーヘアみたいw
47:デフォルトの名無しさん
09/09/01 21:33:02
JTextAreaを使って入力フィールドを設けたのですが
Ctrl+C、Ctrl+X、Ctrl+V等デフォルトで動いてしまうアクセラレータを
任意の処理に書き換えたいのですがどうしたらいいのでしょうか?
48:デフォルトの名無しさん
09/09/01 21:35:19
デフォルトではスクロールすらしなかった気がするが、気のせいか。
49:デフォルトの名無しさん
09/09/01 21:36:43
スクロールはしないけどショートカットキーとしてCtrl+Cとかが使えるって話だろ?
試したら使えたけど。
50:デフォルトの名無しさん
09/09/01 21:38:33
>>44
ブラウザの方が間違ってると思う。
RFC 2396 の C.1 の例に URLリンク(a) に対して ?y は URLリンク(a) と解釈されるとあるし。
51:44
09/09/01 21:39:58
>>45,46
ありがとうございます、とりあえず
spec.startsWith("?")
で対策することにします。
52:デフォルトの名無しさん
09/09/01 21:40:50
>>47
JTextAreaのgetInputMap()のCTRL+CとかCTRL+XとかCTRL+Vのエントリに適当なダミーのオブジェクトを入れる
ちなみにMacではMETA+CとかMETA+XとかMETA+Vのはずなので注意
キーバインド全部消し去りたいなら新しい空のInputMapをnewしてsetInputMapした方が楽かもしれない
53:52
09/09/01 21:43:46
読み返してみたら、任意の処理に置き換えたいってことか・・・
じゃあActionMapの対応するエントリもセットする必要がある
まぁJavadocでも読みながらやってみればできると思う
54:44
09/09/01 21:45:14
>>50
RFCまで示してくれてありがとうございます。
やっぱりブラウザの方が、おせっかいしてくれてるだけだったのか〜。
でも、ページ作成屋さんは「ブラウザで動くから」ってことで既にこの書き方が
世の中に氾濫してしまってるようなので、システム屋はやはり泣く泣く >>51 みたいに
するしかないのでしょうね。。。
55:デフォルトの名無しさん
09/09/01 21:48:47
>>50
「URLリンク(a)に対して」の間違いじゃね?
56:デフォルトの名無しさん
09/09/01 22:00:14
>>47
JTextAreaのInputMapに登録されている書き換えたいキーストロークのバインディングを変更する。
例えばCtrl+Cならcopy-to-clipboardというアクション名にバインドされているので、これを必要な処理を表すものに変える。
必要な処理を表す既存のアクション名がない場合は新しく任意のアクション名を作成して、
InputMapにキーストロークとそのアクション名の組を登録した上で、
JTextAreaのActionMapにそれをキーとし必要な処理を実装したActionへのマップを追加する。
57:デフォルトの名無しさん
09/09/01 22:58:20
J2SE 1.6.0_14, Tomcat 6.0.20, MySQL 5.0.45 で Web アプリをちまちま作ってます。
データソースを使用してDBにアクセスすべく、META-INF/Context.xml に
URL/ユーザ名/パスワード等必要な設定を記述して、正常に動作はしているんですが
Eclipse が Context.xml に対して
「文書に対する文法制約 (DTD または XML スキーマ) が検出されませんでした。」
と警告を出していて、これをどうしても取り除きたいのですが、いろいろと調べても
Context.xml に必要な DTD やスキーマについての情報が見つかりません。
作成した Context.xml は以下のような内容です。
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name=・・・ type=・・・ url=・・・/>
</Context>
上記警告を取り除くには、どう記述したら良いでしょうか?
58:デフォルトの名無しさん
09/09/01 23:04:48
>>57
もともとXMLについてた公開識別子つけたら?
<!DOCTYPE PUBLIC ~~>
59:デフォルトの名無しさん
09/09/01 23:08:17
ページ作成屋ってなに?
どこの業界用語?
60:57
09/09/01 23:33:28
>>58
Context.xml の内容はネットで得た情報を元に新規に作成したもので
参考にした Web サイトには DTD や XML スキーマの記述はありませんでした。
Tomcat にも conf/Context.xml がありますが、これにも特にそのような記述はありません。
試しに「<!DOCTYPE PUBLIC>」だけ追加してみたら、警告はなくなりましたが
全然理解できていないので、きっと間違いなんでしょう。
61:デフォルトの名無しさん
09/09/01 23:44:58
>>60
そもそもDTDないっぽいね。
ってか警告出してるのEclipseか。
じゃあ、無視ってOK。
62:デフォルトの名無しさん
09/09/02 00:04:02
>>54
ウェブ製作もやっている身から言わせてもらうが、相対リンクが?から開始ってかなり行儀悪いぞ
63:デフォルトの名無しさん
09/09/02 00:27:19
で、「ページ作成屋さん」ってなに?
64:57
09/09/02 00:28:03
>>61
スルーすることにします。
御回答ありがとうございました。
65:デフォルトの名無しさん
09/09/02 00:52:36
それで・・・
「ページ作成屋さん」てのは一体なんですか?
「システム屋はやはり泣く泣く」ってなんのことですか?
卑怯な教えて君が一番嫌われますからちゃんと答えてもらえませんかね?
66:デフォルトの名無しさん
09/09/02 01:00:31
>>65
何でそんなに必死なんだ。
67:デフォルトの名無しさん
09/09/02 01:14:35
リアルでいじめられっこだから
68:デフォルトの名無しさん
09/09/02 01:23:48
>>65
「ページ作成屋さん」でググって出なかったから答える。
ウェブデザイナーのこと。
69:デフォルトの名無しさん
09/09/02 01:34:45
「ページ作成屋さん」ってのは、「お花屋さん」とどう違うんですか?
70:デフォルトの名無しさん
09/09/02 02:11:07
結構違う
71:デフォルトの名無しさん
09/09/02 02:25:21
お花屋さんをなめんなよ
72:デフォルトの名無しさん
09/09/02 02:26:46
>>68
具具って見たんですけど、もしかして「お弁当屋さん」と似たものですか。
73:デフォルトの名無しさん
09/09/02 02:56:13
JTextPaneについて教えてください。
・単一行(=改行は不可)
・入力文字数(列数)を制限
Jtextareaにあるような、メソッドはないようなので、
困っています。
よろしくお願いします。
74:デフォルトの名無しさん
09/09/02 03:05:48
>>73
追記です。
・自動改行(行がある程度文字が埋まると自動で改行する)
をなくす
キーボードからの改行は、キーボード入力のイベントリスナを、
改行を受け付けないようにすればいいと考えています。
よろしくお願いします。
75:デフォルトの名無しさん
09/09/02 04:03:56
Swingてテキストフィールドなかったっけ?
76:デフォルトの名無しさん
09/09/02 05:18:12
>>75
レスありがとうございます。
アトリビュート編集機能」が必要です。
そこで、Jtextpaneを選択しています。
77:デフォルトの名無しさん
09/09/02 07:11:07
ないなら自分で実装すればいいじゃん
78:デフォルトの名無しさん
09/09/02 07:30:03
無理やりだがDocumnetのchangeListenerで、改行がきたら消すとか
79:デフォルトの名無しさん
09/09/02 08:00:01
int型の変数で計算を行っていて
それを一度 LinkedList に入れて処理をした後に
またint型の変数に戻そうとしたら
Object を int にキャストできませんとエラーになりました。
Object型をint型に正常に変換するにはどうすればいいのでしょうか?
80:デフォルトの名無しさん
09/09/02 08:08:05
>>79
使っているJavaのバージョンとLinkedList変数の宣言をどうぞ。
81:デフォルトの名無しさん
09/09/02 08:25:18
>>80
バージョンはjre1.6.0_03
LinkedList list = new LinkedList();
list.addFirst(x);
int ans = (int)list.get(i);
こんな感じでコンパイルすると上述のエラーになりました。
82:79
09/09/02 08:37:31
ああ、すいません
LinkedList<Integer> list = new LinkedList<Integer>();
とするだけでできました。
ありがとうございました。
83:デフォルトの名無しさん
09/09/02 09:41:22
素人のようだから念のために言っておくが・・・ループの中でListにintをつめたり出したりやってないよな?
ボクシングとジェネリクスは理解しておかないとアホさらすぞ
84:79
09/09/02 09:45:22
listではaddFirstとgetしか使っていません。
削除とかはしていないです。
正直全然ジェネリクスをわかっていません。
ボクシングに至っては今初めて聞いたような状態です。
勉強しておきます・・・
アドバイスありがとうございます。
85:デフォルトの名無しさん
09/09/02 11:36:52
jspで携帯向けのサイトを作成しているのですが、キャリアに応じて
文字コードを変更したいです。
しかし、jspでは、pageディレクティブにて文字コードを静的に
設定してしまっており、動的に切り替えることができないように思います。
※jsp中にてsetContentを行っても、JspPrintWriterが作成されてしまった
あとなので文字化けを起こしてしまいます。
そもそも、jsp単体での動的なContentTypeの変更はムリなのでしょうか?
86:デフォルトの名無しさん
09/09/02 11:40:45
JSP単体とかありえないから
87:デフォルトの名無しさん
09/09/02 12:07:12
出来ないことはない、全部JAVAの命令でスクリプトレットに書ける
88:デフォルトの名無しさん
09/09/02 12:30:56
まともなサイトならありえないな
89:85
09/09/02 12:51:06
やはり無理みたいですね…
現在、filterをかまして自作PrintWriterを使わせるようにして、
colse or flush されるタイミングで任意のContentTypeを吐く
ようにしているのですが、あまりにも、あまりにもと思ったので…
参考になりました。ありがとうございました。
90:デフォルトの名無しさん
09/09/02 13:46:13
ひでえな
昼まっから遊んでるアマチュアばっかりかよ
91:デフォルトの名無しさん
09/09/02 18:07:03
と昼間から遊んでるアマチュアが申しておりました
92:デフォルトの名無しさん
09/09/02 20:32:59
Apache httpClient使うのと自分でjava.net.HttpURLConnectionを使って
ガリガリと書いたのではスピードどのくらい違いますかね?
93:デフォルトの名無しさん
09/09/02 21:28:00
>>92
実測するしか。直観では、ネットワークの方がはるかに遅いから対して変わらないように思うけど。
もっとプリミティブなレイヤーから書いた場合には、アクセスパターンに対する最適化やバッファリングの仕方などで大きな差が出るかも。
94:デフォルトの名無しさん
09/09/02 21:41:09
何か色々面倒なこと言ってるけど>>47のって関数オーバライドしちゃえばいいんじゃ・・・
95:デフォルトの名無しさん
09/09/02 22:06:46
>>93
>ネットワークの方がはるかに遅いから対して変わらないように思うけど
なるほど、たしかにそう言われてみれば
わかりました。ありがとうございます
96:デフォルトの名無しさん
09/09/02 22:36:13
配列の添え字にマイナスを使いたいのですが、どうすればいいですか?
どこかにサンプルコードはありませんですか?
delphiなどでは普通につかって、forループしてますけど。
97:デフォルトの名無しさん
09/09/02 22:41:37
>>96
delphi言語を使えばいい
98:デフォルトの名無しさん
09/09/02 22:47:24
>>96
使いたきゃ使えばいい。
ArrayIndexOutOfBoundsExceptionが出るだけだが。
99:デフォルトの名無しさん
09/09/02 22:50:28
Javaでは添え字にマイナスも使えないんですか!とかバカジャネーノ
100:デフォルトの名無しさん
09/09/02 22:52:51
まだJavaで継続(CP)やりたいんですが、とかのほうがよかったね。
101:デフォルトの名無しさん
09/09/02 23:03:39
delphiではマイナスの添え字ってどういう意味があるの?
スレ違いでスマンが
102:デフォルトの名無しさん
09/09/02 23:15:04
>>101
例えば風の計算するとき、境界条件の計算に、
計算領域の2〜3個外側の値(ダミーの値)を使う
ことがあるんだけど、そのときにマイナス添え字
の配列があると楽なんです。
103:デフォルトの名無しさん
09/09/02 23:39:59
え、配列上限+1を0に見立てたアクセスかと思ってた。違うのか。
104:101
09/09/02 23:56:30
>>102
書いてくれた説明はさっぱり解らないけど検索して調べたら解った
Javaの場合は添え時の部分でマイナスにならないように値を加算すればいいんじゃない
例えば
for(int i=-100;i<100;i++){
d[i+100] = i;
}
みたいな感じで
105:デフォルトの名無しさん
09/09/03 00:03:23
>>104
ぼくは配列のほうじゃなくて、カウンタの部分を補正しようか、
あるいはポインタを使うとスッキリとするんじゃないかとも思
ったけど。
なるほどです。それでやってみます。ありがとう。
106:デフォルトの名無しさん
09/09/03 00:45:01
負のインデックスを使うと自動的に
allocしてくれる配列かリストが欲しいって言ってたってこと?
代入不能な負のインデックスってだけなら
メソッドかませばいいだけの話だしなあ。
107:デフォルトの名無しさん
09/09/03 01:00:15
自分で好きにラッパを作ればいいじゃん
108:デフォルトの名無しさん
09/09/03 01:53:55
>>102
それ単にダミーが終わるindex + nでアクセスすればいいんじゃないの?
109:デフォルトの名無しさん
09/09/03 15:28:01
C言語はひととおり出来るんだけど
今からJAVAは無理?
というかむずかしい?
110:デフォルトの名無しさん
09/09/03 15:29:00
ぜんぜん
111:デフォルトの名無しさん
09/09/03 17:49:34
jadを許可しているソフトを逆コンパイルしたら、内部クラスを使いまくっていた
他の人に聞いたら、業務では内部クラスは使わないよって言っていた
そこんところ、本当はどうなの?
112:デフォルトの名無しさん
09/09/03 17:56:33
>>111
もちろん使いまくりはダメだが、適切に使う分には強力な武器になる。
業務もクソも関係ない。
113:デフォルトの名無しさん
09/09/03 17:57:26
業務ってもなぁ
携帯みたいな容量きつい環境ではあまり無闇に使うわけにはいかないけど
デスクトップやサーバならまったく問題ない
114:デフォルトの名無しさん
09/09/03 18:56:45
内部クラスはそれなりのメリットがあるんです
115:デフォルトの名無しさん
09/09/03 19:09:02
2つの配列を、ひとつの配列にするには
どうしたらいいですか。
a[ ] =+ b[]
こんなかんじでしょうか?
116:デフォルトの名無しさん
09/09/03 19:13:45
>>115
System.arraycopy
117:デフォルトの名無しさん
09/09/03 20:14:30
文字列の長さを得る方法など、あらゆるコマンドが載ったリファレンスってないのでしょうか?
ちょっと大きめの書店に行ってみましたが、見つかりませんでした。
良い本があれば教えてください!
118:デフォルトの名無しさん
09/09/03 20:15:59
javadocで十分だろが。釣りか?
119:デフォルトの名無しさん
09/09/03 20:17:26
紙信者って奴だ
120:デフォルトの名無しさん
09/09/03 20:18:49
Javadocじゃあ視認性悪いね。
121:デフォルトの名無しさん
09/09/03 20:21:12
紙媒体のリファレンス求めるのは諦めた方がいい
非効率過ぎる
微妙に畑が違うが、Win32APIのリファレンスなんて3000ページ以上あったぜ
122:117
09/09/03 20:25:37
Javadocというものを知らなかったので検索してみましたが、
自分で書いたコードの解説をHTML形式で作成できる機能でしょうか?
123:デフォルトの名無しさん
09/09/03 20:25:49
改訂のたびに廃棄してたらとんでもねーな。
124:デフォルトの名無しさん
09/09/03 20:28:31
>>117 はそもそもJavadocを知らなさそうだな
これだ
URLリンク(java.sun.com)
標準で入ってるあらゆるクラス・インタフェイス・メソッド・フィールドが載っている
125:デフォルトの名無しさん
09/09/03 20:28:57
>>122
とりあえず↓で事足りないかい?
URLリンク(java.sun.com)
126:デフォルトの名無しさん
09/09/03 20:29:49
貼る奴間違えた
127:デフォルトの名無しさん
09/09/03 20:35:30
>>124-125
十分事足ります!
>>124さんのリンクのほうが新しいみたいですね。
機能からの逆引きの仕方がわかりませんけど、ブックマークして後で部分的に目を通してみます。
(Firefoxでスクリプトの処理に時間がかかる、みたいなダイアログが出ますけど…)
ありがとうございました!!
128:デフォルトの名無しさん
09/09/03 20:37:54
API仕様書
129:デフォルトの名無しさん
09/09/03 20:50:56
Win32APIってやっぱりMSDNしかないの?あそこIEじゃないとMSの嫌がらせが多いから嫌なんだよな・・・
130:デフォルトの名無しさん
09/09/03 20:54:52
JSFのリファレンスっていうかチュートリアルっていうか、公式なやつない?
131:デフォルトの名無しさん
09/09/03 21:43:49
質問。
総称型配列を返すメソッドを持つクラスを楽に作れるような改良は、予定に
ありませんか?
class GenArray<T> {
public T[] RetArray() {...}
}
というか、T[] = new T[100]; もできんし。
132:デフォルトの名無しさん
09/09/03 22:00:11
List<T> の何が不満なんだ?
133:デフォルトの名無しさん
09/09/03 22:10:41
List<笑>
134:デフォルトの名無しさん
09/09/03 22:14:49
イレイジャなのでnew T[]は出来る予定はまずない
135:デフォルトの名無しさん
09/09/03 22:24:06
>>132
某クラウドのWEBサービスのプロキシで配列渡すんだけど、一回に渡せる
個数が制限されていて何回も分割して処理しなきゃならないんだ。
んで、指定した個数の部分配列をイテレータみたいにgetNext()できるクラス
を書いたんだけど、総称型つかえねーよとコンパイラに怒られた。
仕方なくList<T>返すようにしてtoArray(new String[0])して渡したんだけど、
これはちょっとなぁぁと思った。
136:デフォルトの名無しさん
09/09/03 22:33:16
>>135
「これはちょっとなぁぁ」と思っても仕方がない
Javaの場合、後方互換性を保つため、実行時には型情報はなくなる
なので、明示的な型を指定しない限り配列は作ることが不可能
おかげで1.4の頃のライブラリが使えるんだから諦めてくれ
137:デフォルトの名無しさん
09/09/03 23:57:08
>>135
リフレクションじゃいかんの?
138:137
09/09/04 00:15:02
一応補足しとくか。
T[] array = (T[]) java.lang.reflect.Array.newInstance(elem.getClass(), 100);
>>135の要件だと、
配列に詰める(適当な)要素のオブジェクトからgetClassしないとダメ。
ただしT[]作る時の要素はTのサブクラスだとダメ。
TのサブクラスでT[]作っても、T入れる時点でArrayStoreExceptionが出る。
明示的にクライアントAPIからClass<T>貰うのが
配列型の共変が無くて一番無難。
139:デフォルトの名無しさん
09/09/04 00:23:08
>>127
こっちも見とけ。
JDK 6 ドキュメント
URLリンク(java.sun.com)
公式のドキュメントは全部ここからたどれる。
140:131
09/09/04 01:07:11
やはり予定には無いですか。ありがとうございました。
おまけに 138 さんにインスパイアされて・・・Array・・・Arraysってあったよな。
public class Main {
public static void main(String[] args) {
String[] arr = new String[] {"0","1","2","3","4","5","6","7","8","9","10"};
GenArray<String> gen = new GenArray<String>(arr);
String[] strs;
while ((strs = gen.retArray(3)).length>0) {
System.out.println("---");
for (String str : strs) { System.out.println(str); }
}
}
static class GenArray<T> {
T[] array;
int pos = 0;
public GenArray(T[] arr) { array = arr; }
public T[] retArray(int count) {
int size = Math.min(array.length-pos, count);
T[] ret = java.util.Arrays.copyOfRange(array, pos, pos+size);
pos += size;
return ret;
}
}
}
あれれ・・・通った _orz
141:デフォルトの名無しさん
09/09/04 01:20:07
Arraysの中を覗いたら、まさに 138 さん方式でした。
T[] copy = ((Object)newType == (Object)Object[].class)
? (T[]) new Object[newLength]
: (T[]) Array.newInstance(newType.getComponentType(), newLength);
142:デフォルトの名無しさん
09/09/04 02:29:24
>>116
ありがとうございます。
64個配列作って、
一部分だけ、指定したい。
1, String image_gif[ ] = new String[64];
2, image_gif[ ] = {"panda.gif","midori.gif","hi.gif","nobasu.gif","ha.gif","",};
2行目の書き方がとても楽。
→けど、これではエラーになる。
→2つ配列を作って、くっつけよう。
そこで質問しました。
143:デフォルトの名無しさん
09/09/04 12:03:16
>>111
クラス名を HOGE010010 とか記号でつけて管理台帳で管理するような現場だと
*.java と *.class の数がそろわず管理できないから
というわけのわからん理由で内部クラスが禁止になったりする
144:デフォルトの名無しさん
09/09/04 12:05:59
ワラタw
そうなると、匿名クラスも禁止?
145:デフォルトの名無しさん
09/09/04 12:25:45
>>143
イミフw
146:デフォルトの名無しさん
09/09/04 12:37:25
>>143
そんなアホな現場があるなんて信じられないし信じたくない
そう思っていた時期が俺にもありました
147:デフォルトの名無しさん
09/09/04 13:00:08
まさに今の現場だw
内部クラスサブクラス禁止で1クラス3000行とか普通にあるww
148:デフォルトの名無しさん
09/09/04 13:05:52
管理台帳に修正内容は1行1行書かないと行けないんですね、わかります
149:デフォルトの名無しさん
09/09/04 15:58:37
>>147
アマチュアの製作現場ですね
よく分かります
150:デフォルトの名無しさん
09/09/04 18:20:00
アホか、銀行とかむしろ基幹系の方がそういうルール残っているんだよ
151:デフォルトの名無しさん
09/09/04 18:45:04
クラス設計がウンコなんだろ
152:デフォルトの名無しさん
09/09/04 18:53:21
COBOLを前提としたルールとかある。
経験の無いツールに移行する時は、どの前提が間違っているか分からないまま詳細設計とかに進むこともまま。
153:デフォルトの名無しさん
09/09/04 19:04:31
>>152
<アマチュアの製作現場ですね
154:デフォルトの名無しさん
09/09/04 19:07:28
>>153
そういうところほど、いいお金をもらってる…
155:デフォルトの名無しさん
09/09/04 20:45:40
質問です!
常駐してるjavaプログラムAに対して
新しくコマンドプロンプトを開き、そこからデータを送信することおは可能でしょうか?
パイプとか、いろいろ調べてみたんですがなかなかー・・・
156:デフォルトの名無しさん
09/09/04 20:51:34
つ socket
157:デフォルトの名無しさん
09/09/04 20:59:31
C→Java
Java→Java
みたいに言語間で通信できるのはわかったんですが
DOS窓から直に送るって方法がわからんのです(´・ω・`)
158:デフォルトの名無しさん
09/09/04 21:02:58
DOS窓からCなりJavaのプログラムを起動すればいいだろ、お前は何を言っているんだ?
159:デフォルトの名無しさん
09/09/04 21:03:34
>>156
データグラムだとたまに取りこぼしがあるとか言う話ですがどういうときに発生するんですか?
160:デフォルトの名無しさん
09/09/04 21:09:30
>>159
伝送路が混んでるときとか
161:デフォルトの名無しさん
09/09/04 21:13:07
>>158
大量のデータを裁かなくてはいけないので
その都度プロセスを起動するのは心もとなくて
同時に300くらいは軽く裁きたいのです
162:デフォルトの名無しさん
09/09/04 21:35:55
同時に300くらい軽く捌くjavaなりCのプログラムを1回起動すればいいだろ
お前は何を言っているんだ?
163:デフォルトの名無しさん
09/09/04 21:44:05
DOS窓に垂れ流されてるコマンドを
1行ずつ常駐してるJavaに送信したいんですが
たった一回の起動で可能なのです?
調べてみたんですが、今ひとつわからないのでヒントを(´・ω・)
164:デフォルトの名無しさん
09/09/04 22:00:51
>>163は仕様書をかけないタイプ
165:デフォルトの名無しさん
09/09/04 22:09:38
>>160
配信するときTTLの寿命で死んじゃうからパケットは消滅するんですか?
そうするとメッセージが渡ったかどうかチェックする必要があるのでTCPしかないですよね。
166:デフォルトの名無しさん
09/09/04 22:19:12
「DOS窓に垂れ流されてるコマンド」
まず、これが何のことだか
167:デフォルトの名無しさん
09/09/04 22:25:09
>>165
TCPが持つ他の機能は不要で、メッセージが必ず渡ることだけを保証するのなら、
データグラムの上にそういうプロトコル階層を作るか持ってきて乗っけるという手もある。
この話題はJavaとは無関係なのでネットワーク関係のスレへいけ。
168:デフォルトの名無しさん
09/09/04 22:27:12
>>165
消滅というか、送信先にたどり着かないこともあろう
送信した方もちゃんと届いたかどうかわからない
そういうのが要らない場面で使うのが前提
169:デフォルトの名無しさん
09/09/04 23:32:55
IPデータグラムにポート番号とチェックサムついただけなのがUDP
170:デフォルトの名無しさん
09/09/04 23:37:02
jreがダウンロードできない。
サンのサイト死んでない?
171:デフォルトの名無しさん
09/09/04 23:37:56
ごめん繋がった。なんだこりゃ
172:デフォルトの名無しさん
09/09/05 00:07:24
UDPだとデータ損失しちゃうだろ
173:デフォルトの名無しさん
09/09/05 00:19:49
それじゃメッセージ用途でsocketを使うというのはTCPを使うってことじゃないですか!
SOCKETやRCPをも含め結局メッセージはOSが必要でJAVAだけじゃ無理ってことでいいですか?
174:デフォルトの名無しさん
09/09/05 00:20:58
はぁ〜?
175:デフォルトの名無しさん
09/09/05 01:33:37
JavaでOSがなくなる!?
スレリンク(tech板)
176:デフォルトの名無しさん
09/09/05 01:51:40
>>174がみやむーの声で再生されたorz
ちょっとアスカに馬鹿にされてくる・・・。
177:デフォルトの名無しさん
09/09/05 01:52:10
>>173
意味不明過ぎる。
Javaが動くにはOSが必要だし、Javaのネットワーク機能はOSの機能を呼び出してるだけ。
あと、UDPで信頼性が欲しけりゃUDPの上に俺々プロトコルを構築すればいい。
178:デフォルトの名無しさん
09/09/05 02:18:25
TCPで信用ならないならSHA1のハッシュを配布するもよし
179:デフォルトの名無しさん
09/09/05 02:36:04
>>178
TCPで信用ならないってどういうときですか?
SHA-1とかパケットがちゃんと届いたかどうかの信用性に関係ないでしょ。
180:デフォルトの名無しさん
09/09/05 02:38:24
>>177
他アプリへのメッセージはJAVAでは原則サポートしてないでしょ。
RPCとかOS関係ないし、さっきはメッセージならsocket使えっていったよね?
181:デフォルトの名無しさん
09/09/05 02:39:46
既に最初の質問者と違ってる件
構って君なのでしばらく付き合ってやってください
182:デフォルトの名無しさん
09/09/05 02:59:49
自己紹介乙
183:デフォルトの名無しさん
09/09/05 04:16:37
>>180
その「他アプリへのメッセージ」って具体的に何よ。
Javaが標準でサポートしてる、ソケットやRMIやCORBAは「他アプリへのメッセージ」に入らないのか?
184:デフォルトの名無しさん
09/09/05 04:16:59
乙
185:デフォルトの名無しさん
09/09/05 04:19:20
>>183
はいりません
186:デフォルトの名無しさん
09/09/05 06:34:23
>>183
XML-RPCも入れてあげて下さい
187:デフォルトの名無しさん
09/09/05 07:05:13
>>180
Windowsメッセージと誤解しているとエスパー。
188:デフォルトの名無しさん
09/09/05 09:20:35
Aクラスにメソッドを追加したクラス名はどのような名前にしたらいいですか?
189:575
09/09/05 09:58:17
>>188
Å
190:デフォルトの名無しさん
09/09/05 10:02:20
クラス名がAじゃなくても何でもよくて名前の前や後ろに文字を付け加える方法でお願いします。
191:デフォルトの名無しさん
09/09/05 10:10:36
>>188
Readerにバッファリングを付けたから BufferedReader とか、追加機能にちなんだ
名前をつける以外には正解は無い。
正直な話、「メソッドを追加した」という情報だけの質問が、まじめな答えが戻って
くるような質問だと思っているのか?と小一時間略
192:デフォルトの名無しさん
09/09/05 10:12:28
じゃあ、Aクラスは数学的な機能しかないものに、機能追加でコピーペーストや文字の検索なんかの
機能をつける場合は何をつけますか?
193:デフォルトの名無しさん
09/09/05 10:22:34
>>192
馬鹿に付ける薬
194:デフォルトの名無しさん
09/09/05 10:39:30
>Aクラスは数学的な機能しかないものに、機能追加でコピーペーストや文字の検索
今思いついただけのいい加減なクラスだろうから、「000」「001」でOK
ユーティリティ以外でそんなクラスをつくるなら、関数に戻した方がいい
195:デフォルトの名無しさん
09/09/05 10:52:57
SomethingExtendedA
196:デフォルトの名無しさん
09/09/05 10:54:46
AImplX
197:デフォルトの名無しさん
09/09/05 11:01:14
なにかのメソッドを追加したA
198:デフォルトの名無しさん
09/09/05 11:05:16
何か便利な機能を詰め込んだクラスの名前を教えてください。
例えば配列を繋げたりするようなものなどが沢山入ってます。
>>195
有難うございます。
199:デフォルトの名無しさん
09/09/05 11:06:58
配列を繋げたりするようなものなどが沢山入っているA
200:デフォルトの名無しさん
09/09/05 11:08:48
便利な機能を詰め込んだA
201:デフォルトの名無しさん
09/09/05 11:08:55
日本語は使いたくないので英語でお願いします。
202:デフォルトの名無しさん
09/09/05 11:10:12
AWithUsefulUnkoMethods
203:デフォルトの名無しさん
09/09/05 11:12:31
AfeaturingEXILE
AWithSupportingSomeOperations
204:デフォルトの名無しさん
09/09/05 11:13:57
>>198
ManyBigBenClass
205:デフォルトの名無しさん
09/09/05 11:14:14
ありがとうございます!
206:デフォルトの名無しさん
09/09/05 11:14:56
>>204
Manyなのかは審議が必要
207:デフォルトの名無しさん
09/09/05 12:03:54
>>187
DOS窓とやり取りするって話じゃなかったっけ?
208:デフォルトの名無しさん
09/09/05 13:42:56
>>192
リスコフの置換原則に反するからそういう設計はしない。
209:デフォルトの名無しさん
09/09/05 13:47:39
>>208
反してませんよ?
クラスをコピペして別のクラスをつくってやってますから。
なぜかというと、再帰を使っているので、
210:デフォルトの名無しさん
09/09/05 14:12:40
>>209
DRYの、
211:デフォルトの名無しさん
09/09/05 17:03:58
ようやくEffective Java 第2版を昨日手に入れたぜ
他にいい感じのjava本ないか
212:デフォルトの名無しさん
09/09/05 18:45:59
>>208
君は何もわかってないバカなんだから
これ以上しゃべらない方がいいよ
>>211
軽快なJava
213:デフォルトの名無しさん
09/09/05 19:05:57
だが俺は鈍重
214:212
09/09/05 19:07:36
>>208
じゃなくて
>>209
な。
215:デフォルトの名無しさん
09/09/05 20:09:01
>>211
Java魂 だけどEffectiveの前に読むレベルの本
216:デフォルトの名無しさん
09/09/05 20:20:37
>>211
APIドキュメント読んだほうがましなぐらいの本
Javaチュートリアルのほうが無料で内容濃くてどこでも読める
217:デフォルトの名無しさん
09/09/05 20:25:28
>>216
Effective Javaホントに読んだことあるのか?
218:デフォルトの名無しさん
09/09/05 20:29:33
>>217
俺もその本はあんまり薦めんよ
219:デフォルトの名無しさん
09/09/05 20:31:33
チュートリアルとそのリンクたどるだけでそこらに出てる本の内容は軽く超えるでしょ
入門書なんて日本語でしか読めない人向けだし
220:デフォルトの名無しさん
09/09/05 21:15:57
Web上のチュートリアルがすばらしい具体例を一つお願い。
221:211
09/09/05 21:19:33
>>212,>>215-216
ありがとうございます
>>217
昨日かったばっかりだから、まだ読んでいないよ
学生なのでお金がなかなか貯らないから、次に買う本を今のうちに決めたいと思ったわけ
今回はEffetive javaを買ったの理由は、知人に読んどけみたいな事を言われたからです
apach jakarta common関係の本がおもしろそうだったので買おうと思ったのですが、森博嗣の本が欲しかったのでやめました
以前から「java 魂」、「Javaネットワークプログラミングの真髄」あたりが気になっています
222:デフォルトの名無しさん
09/09/05 21:30:55
> チュートリアルとそのリンクたどるだけでそこらに出てる本の内容は軽く超えるでしょ
効率良く情報を仕入れるための仕組みが「本」なわけで。
> 入門書なんて日本語でしか読めない人向けだし
意味不明。
223:デフォルトの名無しさん
09/09/05 21:41:04
>>222
おまえは日本語すら読めないカスw
224:デフォルトの名無しさん
09/09/05 21:46:43
日本語も読めない人でしたね
225:デフォルトの名無しさん
09/09/05 21:54:24
>>222
英語も日本語も読めないだけでしょ
226:デフォルトの名無しさん
09/09/05 22:02:51
そんなやつにはもう「ひまわり」しかないよ。
227:デフォルトの名無しさん
09/09/05 22:24:31
Head First Java or Effective Java からcore java行ってオライリーのSwing本だな。
228:デフォルトの名無しさん
09/09/05 22:38:04
日本人の書いた本はイマイチばかりだよ
Effectiveも日経SJCPのも全部日本人じゃない
229:デフォルトの名無しさん
09/09/05 23:21:26
>>227>>228
APIdocとチュートリアルだけで10年目ですね私
一回も本読んだこと無いです
はっきり言って不要でした
230:デフォルトの名無しさん
09/09/05 23:23:02
本に頼ってると技術的にも遅れを取るしね
書き写しは出来ないこの業界ですから
231:デフォルトの名無しさん
09/09/05 23:42:05
>>229
はいはい、凄いでちゅね
232:デフォルトの名無しさん
09/09/05 23:43:06
>>229-230
真髄まで知りたいならそれでいいんじゃないの。
といってもどうせこの板に来る鼻糞君たちは、「SQL叩いて今流行りのジャヴァだぜ!」「ジャバってないとバカだよね〜」が大半だと思いますけど・・・
233:デフォルトの名無しさん
09/09/05 23:44:32
鼻糞乙
234:デフォルトの名無しさん
09/09/05 23:48:26
>>229
それでどういうアプリ(ツール)作ったんですか?
まさか10年もやってるのに未だにアプレットでアニメーションとかなわけないですよね。
235:デフォルトの名無しさん
09/09/05 23:58:37
俺も5年ぐらいだけど、本読んでないな
資格試験のために読んだだけw
236:デフォルトの名無しさん
09/09/06 00:06:02
言語自体は別にいいんだけど
イディオムとかサードパーティ製のライブラリ使いたいときに
いちいちネットブラウジングするのが面倒になる
237:デフォルトの名無しさん
09/09/06 00:40:38
>>234
なわけないよねw
いろいろ作ったよ
238:デフォルトの名無しさん
09/09/06 00:49:03
布団に潜り込んで寝っ転がって読むのが好き
239:デフォルトの名無しさん
09/09/06 00:55:54
>>237
無理しなくていいよw
240:デフォルトの名無しさん
09/09/06 01:08:42
Java流のやり方とか、ありがちな問題への対処方法、
悪いコードを書かないためとか、教養とかそういう意味では
Effective Javaを読むのは必要。
シリアライズ、マルチスレッド、Enum、Generics、Annotation
などの機能について正しい認識を持つことが大事だしね。
やっつけ仕事するだけなら読む必要は全く無い。
英語のチュートリアルもいいけど、Java使ってる大半の現場で
英語まともに読める奴に出会ったことないんだが。
まあ、本を批判するのもいいけど、
それならきちんとURLの一つもかけないのかな。
これはすばらしい記事だったとか。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4817日前に更新/160 KB
担当:undef