[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 12/06 08:18 / Filesize : 160 KB / Number-of Response : 769
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★★Java質問・相談スレッド132★★



1 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 20:02:41 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド131【歓迎】
ttp://pc12.2ch.net/test/read.cgi/tech/1250369910/
次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/

2 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 20:03:24 ]
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 8
ttp://pc11.2ch.net/test/read.cgi/tech/1227234261/l50
■ SWT は --
Java 高速GUI SWT 3
ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part19
pc11.2ch.net/test/read.cgi/tech/1233822965/l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 8
ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/l50

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 68 ★★
pc12.2ch.net/test/read.cgi/tech/1248012902/

■ NetBeansに関する雑談は --
NetBeans Part5【Java/C++/Ruby/Python/PHP】
ttp://pc12.2ch.net/test/read.cgi/tech/1247926906/
■ Eclipseに関する雑談は --
Eclipse統合M28【Java/C++/Ruby/Python/Perl】
ttp://pc12.2ch.net/test/read.cgi/tech/1247051216/


3 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 20:04:28 ]

**** 開発環境が必要の場合は ****
■ J2SE 1.4.0
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/index.html
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja

4 名前:デフォルトの名無しさん mailto:sage [2009/08/30(日) 20:42:42 ]
>>3
1.4系は削った方が良くない? 今無償で入手可能なバイナリってセキュリティ的にやばいやつだから。

5 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 02:12:40 ]
でも1.4環境はまだまだ多いのも現実。
インターネット関係は論外だが、社内で綴じたネットワークで使う分には在処と。

6 名前:デフォルトの名無しさん [2009/08/31(月) 09:05:07 ]
int long float double BigDidimal BigIntegerのどれかをつかうかプログラムを実行するときに
決めるには。ラッパークラスを作る以外に方法ありますか?

7 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 10:13:39 ]
日本語で頼む

8 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 10:33:53 ]
>>6
無いんではないか。特にプリミティブ型はオブジェクトではないので
ポリモルフィズムが実現できない
したがって、OOP的な手法で実装の決定を後回しにできない

9 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 10:34:09 ]
知識が足りない人には理解できないだけ。

10 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 10:39:49 ]
  r⌒⌒⌒ヽ
  (( (  ) ))
  (( 人人人 ノ
  (( ・ω・ )ノ ))
(( ( つ 丶
   〉とノ )))
   (_ノ(_)

  r⌒⌒⌒ヽ
  (( (  ) ))
  (( 人人人 ノ
  ((´・ω・)ノ ))
(( ( つ ヽつ
   〉  i ))
   (_ノ(_)

  r⌒⌒⌒ヽ
  (( (  ) ))
  (( 人人人 ノ
  (( ・ω・ )ノ ))
(( ( つ 丶
   〉とノ ) ))
   (_ノ(_)

  r⌒⌒⌒ヽ
  (( (  ) ))
  (( 人人人 ノ
  ((・ω・`)ノ ))
  ⊂/ ⊂ )
   i  ヽ
 (( (_)^丶_) ))



11 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 10:47:12 ]
>>6
BigDidimalは無いわ

12 名前:デフォルトの名無しさん [2009/08/31(月) 10:50:51 ]
BigDecimalの間違い

13 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 13:52:14 ]
>>6
ジェネリクス使え


14 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 14:01:55 ]
>>13
ジェネリクスつかうと足し算とか出来ない。

15 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:02:04 ]
夏休みの宿題おわったか?

16 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:21:22 ]
>>6には四則演算が必要かどうか書いてないな
どっちなんだ?


17 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:23:17 ]
Iterable<T>とT[]を同一視できるようなやり方って無いよなあ。
単純に同じforeach文でぶん回したいだけなんだけど。
Arrays.<T>asList(T...)でT[]をシコシコ変換するぐらいかな。

18 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:25:11 ]
>>16
必要に決まってるし、ジェネリックスはオブジェクトを作ることもできない。

19 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:36:06 ]
エスパーの登場です


20 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:44:28 ]
ごめん。>>6の意味が全く分からない。
まず何をしようとしているのかが意味不明。
doubleとBigDecimalじゃあ根底の計算から違うって知ってるよね?
有効桁数とか丸め誤差とかどうなの?



21 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:50:01 ]
なんか具体的な型に関わらない汎用的な計算処理を実装したいのかもしれない
使う側の都合に合わせて精度を選べるというのは場合によっては便利かもしれない
Numberクラスあたりにaddとかsubtractとかあればよかったんだろうけど、ないからな
無駄な話だが、型ごとに同じコードを書くしかないんじゃね

22 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:51:59 ]
多分>>6はもっと別の解決法があるはず

23 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:52:53 ]
そこまで汎用的にする必要性が感じられない

24 名前:デフォルトの名無しさん [2009/08/31(月) 16:08:27 ]
彼は天才だから、汎用的であるべきだと思ったんだろう

25 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 16:30:22 ]
Rubyでもやっていた方が幸せになれるだろう

26 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 16:32:31 ]
確かに、まさにRuby向けだよね

27 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 19:37:49 ]
Cだとマクロで解決できるけどJavaにはマクロがないからな。

28 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 19:39:14 ]
javaの最新版をインストールしたら(ver6 update15)
F1のlivetimingやタカミンのお絵かきチャットが真っ白になって見れなくなった、
みなさんは見れてます?

29 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 19:48:39 ]
知るか


30 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 19:48:45 ]
そんなもん見る必要ない



31 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 20:03:41 ]
ワロタ

32 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 20:19:00 ]
助けてよ

33 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 20:21:44 ]
作者に聞け


34 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 21:14:41 ]
あの人に聞け

35 名前:デフォルトの名無しさん [2009/08/31(月) 21:45:47 ]
麻生閣下ばんざい!?

36 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 22:14:25 ]
>>28
IE とかアドインの管理かコンパネで Java Plug-in を切り替えたりできない?
俺のは新品なんで今は 1.6.0_15 しか入ってないからよく分かんない・・・

37 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 22:31:12 ]
板違いだ

38 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 22:41:05 ]
>>28
それ最新版じゃないし

39 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 02:52:32 ]
テキストペインにおいて、
キャレットが点滅しないようにしたいです。

以下ではうまくいきません。(デフォルトどおり点滅してしまう)
(エラーは出ません)

よろしくお願いします。


//テキストペインを作成する

JTextPane tpane = new JTextPane();

//使用するキャレットを設定する

Caret c = tpane.getCaret();
c.setBlinkRate(0);  ←キャレットの点滅間隔をゼロに設定
tpane.setCaret(c);

40 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 03:19:36 ]
>>39
うちの環境(1.6.0_16)では
tpane.getCaret().setBlinkRate(0);
で普通にブリンクが止まったけど、>>39のJavaのバージョンは?
getCaretで得られるCaretはtpaneが保持しているカレットそのものへの参照なので、
わざわざsetCaretしなくても大丈夫。しても構わないけど。



41 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 03:59:48 ]
ついでにJDK5でも試したけど問題なく点滅は止まった。
プラットフォームはwinXP。
>>39ではテキストペインの作成とカレットへの設定を連続して書いているけど、
実際のプログラムでもそうなってる?
設定する部分が実際には実行されていないというようなことはない?

42 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 14:02:33 ]
>>40
>>41

レスありがとうございます。

ブラウザに問題が合ったようで、
単にスクリプトの修正が反映されていなかったようです。(完全更新したはずが)
失礼しました。

43 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 15:13:09 ]
>>42
早まって自爆するなボケ

44 名前:デフォルトの名無しさん [2009/09/01(火) 19:38:56 ]
java.net.URL について質問があります(jdk1.5.0_15)。
このクラスのコンストラクタ URL(URL context, String spec) では相対パスを解決してくれるので
とても重宝しているのですが、specがGETパラメータのみの場合に期待した動作をしてくれません。

例えば、ページ
example.com/index.jsp
内に
<A HREF="?p=1">
とある場合、ブラウザでは(IE,FFで確認)
example.com/index.jsp?p=1
へのリンクを表すのですが、

[コード]
System.out.println(new URL(new URL("example.com/index.jsp"), "?p=1"));

で試してみたところ

[結果]
example.com/?p=1

となりました。これは、java.net.URLの不具合なのでしょうか。
あるいはこれが正しい動作で、ブラウザの方が標準規格に反しているのでしょうか。

45 名前:デフォルトの名無しさん [2009/09/01(火) 19:58:42 ]
>>44
自分で処理する

46 名前:デフォルトの名無しさん [2009/09/01(火) 20:41:59 ]
まるでアンダーヘアみたいw

47 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 21:33:02 ]
JTextAreaを使って入力フィールドを設けたのですが
Ctrl+C、Ctrl+X、Ctrl+V等デフォルトで動いてしまうアクセラレータを
任意の処理に書き換えたいのですがどうしたらいいのでしょうか?

48 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 21:35:19 ]
デフォルトではスクロールすらしなかった気がするが、気のせいか。

49 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 21:36:43 ]
スクロールはしないけどショートカットキーとしてCtrl+Cとかが使えるって話だろ?
試したら使えたけど。

50 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 21:38:33 ]
>>44
ブラウザの方が間違ってると思う。
RFC 2396 の C.1 の例に ttp://a/b/c/d に対して ?y は ttp://a/b/c/?y と解釈されるとあるし。



51 名前:44 mailto:sage [2009/09/01(火) 21:39:58 ]
>>45,46
ありがとうございます、とりあえず
spec.startsWith("?")
で対策することにします。

52 名前:デフォルトの名無しさん mailto:sage [2009/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 mailto:sage [2009/09/01(火) 21:43:46 ]
読み返してみたら、任意の処理に置き換えたいってことか・・・
じゃあActionMapの対応するエントリもセットする必要がある
まぁJavadocでも読みながらやってみればできると思う

54 名前:44 mailto:sage [2009/09/01(火) 21:45:14 ]
>>50
RFCまで示してくれてありがとうございます。
やっぱりブラウザの方が、おせっかいしてくれてるだけだったのか〜。
でも、ページ作成屋さんは「ブラウザで動くから」ってことで既にこの書き方が
世の中に氾濫してしまってるようなので、システム屋はやはり泣く泣く >>51 みたいに
するしかないのでしょうね。。。

55 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 21:48:47 ]
>>50
「ttp://a/b/c/に対して」の間違いじゃね?

56 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 22:00:14 ]
>>47
JTextAreaのInputMapに登録されている書き換えたいキーストロークのバインディングを変更する。
例えばCtrl+Cならcopy-to-clipboardというアクション名にバインドされているので、これを必要な処理を表すものに変える。
必要な処理を表す既存のアクション名がない場合は新しく任意のアクション名を作成して、
InputMapにキーストロークとそのアクション名の組を登録した上で、
JTextAreaのActionMapにそれをキーとし必要な処理を実装したActionへのマップを追加する。

57 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:04:48 ]
>>57
もともとXMLについてた公開識別子つけたら?
<!DOCTYPE PUBLIC ~~>

59 名前:デフォルトの名無しさん [2009/09/01(火) 23:08:17 ]
ページ作成屋ってなに?
どこの業界用語?

60 名前:57 mailto:sage [2009/09/01(火) 23:33:28 ]
>>58
Context.xml の内容はネットで得た情報を元に新規に作成したもので
参考にした Web サイトには DTD や XML スキーマの記述はありませんでした。
Tomcat にも conf/Context.xml がありますが、これにも特にそのような記述はありません。

試しに「<!DOCTYPE PUBLIC>」だけ追加してみたら、警告はなくなりましたが
全然理解できていないので、きっと間違いなんでしょう。



61 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:44:58 ]
>>60
そもそもDTDないっぽいね。
ってか警告出してるのEclipseか。
じゃあ、無視ってOK。

62 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:04:02 ]
>>54
ウェブ製作もやっている身から言わせてもらうが、相対リンクが?から開始ってかなり行儀悪いぞ

63 名前:デフォルトの名無しさん [2009/09/02(水) 00:27:19 ]
で、「ページ作成屋さん」ってなに?


64 名前:57 mailto:sage [2009/09/02(水) 00:28:03 ]
>>61
スルーすることにします。
御回答ありがとうございました。

65 名前:デフォルトの名無しさん [2009/09/02(水) 00:52:36 ]
それで・・・
「ページ作成屋さん」てのは一体なんですか?
「システム屋はやはり泣く泣く」ってなんのことですか?

卑怯な教えて君が一番嫌われますからちゃんと答えてもらえませんかね?

66 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 01:00:31 ]
>>65
何でそんなに必死なんだ。

67 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 01:14:35 ]
リアルでいじめられっこだから

68 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 01:23:48 ]
>>65
「ページ作成屋さん」でググって出なかったから答える。
ウェブデザイナーのこと。

69 名前:デフォルトの名無しさん [2009/09/02(水) 01:34:45 ]
「ページ作成屋さん」ってのは、「お花屋さん」とどう違うんですか?

70 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 02:11:07 ]
結構違う



71 名前:デフォルトの名無しさん [2009/09/02(水) 02:25:21 ]
お花屋さんをなめんなよ

72 名前:デフォルトの名無しさん [2009/09/02(水) 02:26:46 ]
>>68
具具って見たんですけど、もしかして「お弁当屋さん」と似たものですか。

73 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 02:56:13 ]
JTextPaneについて教えてください。

・単一行(=改行は不可)
・入力文字数(列数)を制限


Jtextareaにあるような、メソッドはないようなので、
困っています。

よろしくお願いします。



74 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 03:05:48 ]
>>73

追記です。

・自動改行(行がある程度文字が埋まると自動で改行する)
をなくす


キーボードからの改行は、キーボード入力のイベントリスナを、
改行を受け付けないようにすればいいと考えています。

よろしくお願いします。


75 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 04:03:56 ]
Swingてテキストフィールドなかったっけ?

76 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 05:18:12 ]
>>75

レスありがとうございます。

アトリビュート編集機能」が必要です。
そこで、Jtextpaneを選択しています。

77 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 07:11:07 ]
ないなら自分で実装すればいいじゃん

78 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 07:30:03 ]
無理やりだがDocumnetのchangeListenerで、改行がきたら消すとか

79 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 08:00:01 ]
int型の変数で計算を行っていて
それを一度 LinkedList に入れて処理をした後に
またint型の変数に戻そうとしたら
Object を int にキャストできませんとエラーになりました。
Object型をint型に正常に変換するにはどうすればいいのでしょうか?

80 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 08:08:05 ]
>>79
使っているJavaのバージョンとLinkedList変数の宣言をどうぞ。




81 名前:デフォルトの名無しさん mailto:sage [2009/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 mailto:sage [2009/09/02(水) 08:37:31 ]
ああ、すいません
LinkedList<Integer> list = new LinkedList<Integer>();
とするだけでできました。
ありがとうございました。

83 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 09:41:22 ]
素人のようだから念のために言っておくが・・・ループの中でListにintをつめたり出したりやってないよな?
ボクシングとジェネリクスは理解しておかないとアホさらすぞ

84 名前:79 mailto:sage [2009/09/02(水) 09:45:22 ]
listではaddFirstとgetしか使っていません。
削除とかはしていないです。

正直全然ジェネリクスをわかっていません。
ボクシングに至っては今初めて聞いたような状態です。
勉強しておきます・・・
アドバイスありがとうございます。

85 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 11:36:52 ]
jspで携帯向けのサイトを作成しているのですが、キャリアに応じて
文字コードを変更したいです。
しかし、jspでは、pageディレクティブにて文字コードを静的に
設定してしまっており、動的に切り替えることができないように思います。
※jsp中にてsetContentを行っても、JspPrintWriterが作成されてしまった
 あとなので文字化けを起こしてしまいます。
そもそも、jsp単体での動的なContentTypeの変更はムリなのでしょうか?

86 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 11:40:45 ]
JSP単体とかありえないから

87 名前:デフォルトの名無しさん [2009/09/02(水) 12:07:12 ]
出来ないことはない、全部JAVAの命令でスクリプトレットに書ける

88 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 12:30:56 ]
まともなサイトならありえないな

89 名前:85 mailto:sage [2009/09/02(水) 12:51:06 ]
やはり無理みたいですね…
現在、filterをかまして自作PrintWriterを使わせるようにして、
colse or flush されるタイミングで任意のContentTypeを吐く
ようにしているのですが、あまりにも、あまりにもと思ったので…
参考になりました。ありがとうございました。

90 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:46:13 ]
ひでえな
昼まっから遊んでるアマチュアばっかりかよ



91 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 18:07:03 ]
と昼間から遊んでるアマチュアが申しておりました

92 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 20:32:59 ]
Apache httpClient使うのと自分でjava.net.HttpURLConnectionを使って
ガリガリと書いたのではスピードどのくらい違いますかね?

93 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 21:28:00 ]
>>92
実測するしか。直観では、ネットワークの方がはるかに遅いから対して変わらないように思うけど。
もっとプリミティブなレイヤーから書いた場合には、アクセスパターンに対する最適化やバッファリングの仕方などで大きな差が出るかも。

94 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 21:41:09 ]
何か色々面倒なこと言ってるけど>>47のって関数オーバライドしちゃえばいいんじゃ・・・

95 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:06:46 ]
>>93
>ネットワークの方がはるかに遅いから対して変わらないように思うけど
なるほど、たしかにそう言われてみれば
わかりました。ありがとうございます

96 名前:デフォルトの名無しさん [2009/09/02(水) 22:36:13 ]
配列の添え字にマイナスを使いたいのですが、どうすればいいですか?
どこかにサンプルコードはありませんですか?
delphiなどでは普通につかって、forループしてますけど。

97 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:41:37 ]
>>96
delphi言語を使えばいい

98 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:47:24 ]
>>96
使いたきゃ使えばいい。
ArrayIndexOutOfBoundsExceptionが出るだけだが。

99 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:50:28 ]
Javaでは添え字にマイナスも使えないんですか!とかバカジャネーノ

100 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:52:51 ]
まだJavaで継続(CP)やりたいんですが、とかのほうがよかったね。



101 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 23:03:39 ]
delphiではマイナスの添え字ってどういう意味があるの?
スレ違いでスマンが

102 名前:デフォルトの名無しさん [2009/09/02(水) 23:15:04 ]
>>101
例えば風の計算するとき、境界条件の計算に、
計算領域の2〜3個外側の値(ダミーの値)を使う
ことがあるんだけど、そのときにマイナス添え字
の配列があると楽なんです。

103 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 23:39:59 ]
え、配列上限+1を0に見立てたアクセスかと思ってた。違うのか。

104 名前:101 mailto:sage [2009/09/02(水) 23:56:30 ]
>>102
書いてくれた説明はさっぱり解らないけど検索して調べたら解った
Javaの場合は添え時の部分でマイナスにならないように値を加算すればいいんじゃない
例えば
for(int i=-100;i<100;i++){
  d[i+100] = i;
}
みたいな感じで

105 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 00:03:23 ]
>>104
ぼくは配列のほうじゃなくて、カウンタの部分を補正しようか、
あるいはポインタを使うとスッキリとするんじゃないかとも思
ったけど。
なるほどです。それでやってみます。ありがとう。



106 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 00:45:01 ]
負のインデックスを使うと自動的に
allocしてくれる配列かリストが欲しいって言ってたってこと?
代入不能な負のインデックスってだけなら
メソッドかませばいいだけの話だしなあ。

107 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 01:00:15 ]
自分で好きにラッパを作ればいいじゃん

108 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 01:53:55 ]
>>102
それ単にダミーが終わるindex + nでアクセスすればいいんじゃないの?

109 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:28:01 ]
C言語はひととおり出来るんだけど
今からJAVAは無理?

というかむずかしい?

110 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:29:00 ]
ぜんぜん



111 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:49:34 ]
jadを許可しているソフトを逆コンパイルしたら、内部クラスを使いまくっていた
他の人に聞いたら、業務では内部クラスは使わないよって言っていた
そこんところ、本当はどうなの?

112 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:56:33 ]
>>111
もちろん使いまくりはダメだが、適切に使う分には強力な武器になる。
業務もクソも関係ない。


113 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:57:26 ]
業務ってもなぁ
携帯みたいな容量きつい環境ではあまり無闇に使うわけにはいかないけど
デスクトップやサーバならまったく問題ない

114 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 18:56:45 ]
内部クラスはそれなりのメリットがあるんです

115 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:09:02 ]
2つの配列を、ひとつの配列にするには
どうしたらいいですか。

a[ ] =+ b[]

こんなかんじでしょうか?

116 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:13:45 ]
>>115
System.arraycopy

117 名前:デフォルトの名無しさん [2009/09/03(木) 20:14:30 ]
文字列の長さを得る方法など、あらゆるコマンドが載ったリファレンスってないのでしょうか?
ちょっと大きめの書店に行ってみましたが、見つかりませんでした。
良い本があれば教えてください!

118 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:15:59 ]
javadocで十分だろが。釣りか?


119 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:17:26 ]
紙信者って奴だ

120 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:18:49 ]
Javadocじゃあ視認性悪いね。



121 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:21:12 ]
紙媒体のリファレンス求めるのは諦めた方がいい
非効率過ぎる

微妙に畑が違うが、Win32APIのリファレンスなんて3000ページ以上あったぜ

122 名前:117 [2009/09/03(木) 20:25:37 ]
Javadocというものを知らなかったので検索してみましたが、
自分で書いたコードの解説をHTML形式で作成できる機能でしょうか?

123 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:25:49 ]
改訂のたびに廃棄してたらとんでもねーな。

124 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:28:31 ]
>>117 はそもそもJavadocを知らなさそうだな
これだ
java.sun.com/javase/ja/6/docs/ja/api/index.html
標準で入ってるあらゆるクラス・インタフェイス・メソッド・フィールドが載っている

125 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:28:57 ]
>>122
とりあえず↓で事足りないかい?
java.sun.com/j2se/1.5.0/ja/docs/ja/api/

126 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:29:49 ]
貼る奴間違えた

127 名前:デフォルトの名無しさん [2009/09/03(木) 20:35:30 ]
>>124-125
十分事足ります!
>>124さんのリンクのほうが新しいみたいですね。

機能からの逆引きの仕方がわかりませんけど、ブックマークして後で部分的に目を通してみます。
(Firefoxでスクリプトの処理に時間がかかる、みたいなダイアログが出ますけど…)

ありがとうございました!!

128 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:37:54 ]
API仕様書

129 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:50:56 ]
Win32APIってやっぱりMSDNしかないの?あそこIEじゃないとMSの嫌がらせが多いから嫌なんだよな・・・

130 名前:デフォルトの名無しさん [2009/09/03(木) 20:54:52 ]
JSFのリファレンスっていうかチュートリアルっていうか、公式なやつない?



131 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 21:43:49 ]
質問。
総称型配列を返すメソッドを持つクラスを楽に作れるような改良は、予定に
ありませんか?
class GenArray<T> {
public T[] RetArray() {...}
}
というか、T[] = new T[100]; もできんし。

132 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:00:11 ]
List<T> の何が不満なんだ?



133 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:10:41 ]
List<笑>

134 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:14:49 ]
イレイジャなのでnew T[]は出来る予定はまずない

135 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:24:06 ]
>>132
某クラウドのWEBサービスのプロキシで配列渡すんだけど、一回に渡せる
個数が制限されていて何回も分割して処理しなきゃならないんだ。
んで、指定した個数の部分配列をイテレータみたいにgetNext()できるクラス
を書いたんだけど、総称型つかえねーよとコンパイラに怒られた。
仕方なくList<T>返すようにしてtoArray(new String[0])して渡したんだけど、
これはちょっとなぁぁと思った。

136 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:33:16 ]
>>135
「これはちょっとなぁぁ」と思っても仕方がない
Javaの場合、後方互換性を保つため、実行時には型情報はなくなる
なので、明示的な型を指定しない限り配列は作ることが不可能
おかげで1.4の頃のライブラリが使えるんだから諦めてくれ

137 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 23:57:08 ]
>>135
リフレクションじゃいかんの?

138 名前:137 mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 00:23:08 ]
>>127
こっちも見とけ。
JDK 6 ドキュメント
java.sun.com/javase/ja/6/docs/ja/index.html
公式のドキュメントは全部ここからたどれる。

140 名前:131 mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 12:03:16 ]
>>111
クラス名を HOGE010010 とか記号でつけて管理台帳で管理するような現場だと
*.java と *.class の数がそろわず管理できないから
というわけのわからん理由で内部クラスが禁止になったりする

144 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 12:05:59 ]
ワラタw
そうなると、匿名クラスも禁止?

145 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 12:25:45 ]
>>143
イミフw

146 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 12:37:25 ]
>>143
そんなアホな現場があるなんて信じられないし信じたくない


そう思っていた時期が俺にもありました

147 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:00:08 ]
まさに今の現場だw
内部クラスサブクラス禁止で1クラス3000行とか普通にあるww

148 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:05:52 ]
管理台帳に修正内容は1行1行書かないと行けないんですね、わかります

149 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 15:58:37 ]
>>147
アマチュアの製作現場ですね
よく分かります

150 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:20:00 ]
アホか、銀行とかむしろ基幹系の方がそういうルール残っているんだよ



151 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:45:04 ]
クラス設計がウンコなんだろ

152 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:53:21 ]
COBOLを前提としたルールとかある。
経験の無いツールに移行する時は、どの前提が間違っているか分からないまま詳細設計とかに進むこともまま。


153 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 19:04:31 ]
>>152
<アマチュアの製作現場ですね

154 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 19:07:28 ]
>>153
そういうところほど、いいお金をもらってる…

155 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 20:45:40 ]
質問です!

常駐してるjavaプログラムAに対して
新しくコマンドプロンプトを開き、そこからデータを送信することおは可能でしょうか?
パイプとか、いろいろ調べてみたんですがなかなかー・・・

156 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 20:51:34 ]
つ socket

157 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 20:59:31 ]
C→Java
Java→Java
みたいに言語間で通信できるのはわかったんですが
DOS窓から直に送るって方法がわからんのです(´・ω・`)

158 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:02:58 ]
DOS窓からCなりJavaのプログラムを起動すればいいだろ、お前は何を言っているんだ?

159 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:03:34 ]
>>156
データグラムだとたまに取りこぼしがあるとか言う話ですがどういうときに発生するんですか?

160 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:09:30 ]
>>159
伝送路が混んでるときとか



161 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:13:07 ]
>>158
大量のデータを裁かなくてはいけないので
その都度プロセスを起動するのは心もとなくて

同時に300くらいは軽く裁きたいのです

162 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:35:55 ]
同時に300くらい軽く捌くjavaなりCのプログラムを1回起動すればいいだろ
お前は何を言っているんだ?

163 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:44:05 ]
DOS窓に垂れ流されてるコマンドを
1行ずつ常駐してるJavaに送信したいんですが
たった一回の起動で可能なのです?

調べてみたんですが、今ひとつわからないのでヒントを(´・ω・)

164 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:00:51 ]
>>163は仕様書をかけないタイプ

165 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:09:38 ]
>>160
配信するときTTLの寿命で死んじゃうからパケットは消滅するんですか?
そうするとメッセージが渡ったかどうかチェックする必要があるのでTCPしかないですよね。

166 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:19:12 ]
「DOS窓に垂れ流されてるコマンド」
まず、これが何のことだか

167 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:25:09 ]
>>165
TCPが持つ他の機能は不要で、メッセージが必ず渡ることだけを保証するのなら、
データグラムの上にそういうプロトコル階層を作るか持ってきて乗っけるという手もある。
この話題はJavaとは無関係なのでネットワーク関係のスレへいけ。

168 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:27:12 ]
>>165
消滅というか、送信先にたどり着かないこともあろう
送信した方もちゃんと届いたかどうかわからない
そういうのが要らない場面で使うのが前提

169 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:32:55 ]
IPデータグラムにポート番号とチェックサムついただけなのがUDP

170 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:37:02 ]
jreがダウンロードできない。
サンのサイト死んでない?



171 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:37:56 ]
ごめん繋がった。なんだこりゃ

172 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 00:07:24 ]
UDPだとデータ損失しちゃうだろ

173 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 00:19:49 ]
それじゃメッセージ用途でsocketを使うというのはTCPを使うってことじゃないですか!
SOCKETやRCPをも含め結局メッセージはOSが必要でJAVAだけじゃ無理ってことでいいですか?

174 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 00:20:58 ]
はぁ〜?

175 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:33:37 ]
JavaでOSがなくなる!?
pc12.2ch.net/test/read.cgi/tech/1193757528/

176 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:51:40 ]
>>174がみやむーの声で再生されたorz
ちょっとアスカに馬鹿にされてくる・・・。

177 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:52:10 ]
>>173
意味不明過ぎる。
Javaが動くにはOSが必要だし、Javaのネットワーク機能はOSの機能を呼び出してるだけ。
あと、UDPで信頼性が欲しけりゃUDPの上に俺々プロトコルを構築すればいい。

178 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:18:25 ]
TCPで信用ならないならSHA1のハッシュを配布するもよし

179 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:36:04 ]
>>178
TCPで信用ならないってどういうときですか?
SHA-1とかパケットがちゃんと届いたかどうかの信用性に関係ないでしょ。

180 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:38:24 ]
>>177
他アプリへのメッセージはJAVAでは原則サポートしてないでしょ。
RPCとかOS関係ないし、さっきはメッセージならsocket使えっていったよね?



181 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:39:46 ]
既に最初の質問者と違ってる件
構って君なのでしばらく付き合ってやってください

182 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 02:59:49 ]
自己紹介乙

183 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 04:16:37 ]
>>180
その「他アプリへのメッセージ」って具体的に何よ。
Javaが標準でサポートしてる、ソケットやRMIやCORBAは「他アプリへのメッセージ」に入らないのか?

184 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 04:16:59 ]


185 名前:デフォルトの名無しさん mailto:age [2009/09/05(土) 04:19:20 ]
>>183
はいりません

186 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 06:34:23 ]
>>183
XML-RPCも入れてあげて下さい

187 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 07:05:13 ]
>>180
Windowsメッセージと誤解しているとエスパー。

188 名前:デフォルトの名無しさん [2009/09/05(土) 09:20:35 ]
Aクラスにメソッドを追加したクラス名はどのような名前にしたらいいですか?

189 名前:575 mailto:sage [2009/09/05(土) 09:58:17 ]
>>188


190 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:02:20 ]

クラス名がAじゃなくても何でもよくて名前の前や後ろに文字を付け加える方法でお願いします。



191 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:10:36 ]
>>188
Readerにバッファリングを付けたから BufferedReader とか、追加機能にちなんだ
名前をつける以外には正解は無い。

正直な話、「メソッドを追加した」という情報だけの質問が、まじめな答えが戻って
くるような質問だと思っているのか?と小一時間略

192 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:12:28 ]
じゃあ、Aクラスは数学的な機能しかないものに、機能追加でコピーペーストや文字の検索なんかの
機能をつける場合は何をつけますか?

193 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:22:34 ]
>>192
馬鹿に付ける薬

194 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:39:30 ]
>Aクラスは数学的な機能しかないものに、機能追加でコピーペーストや文字の検索
今思いついただけのいい加減なクラスだろうから、「000」「001」でOK
ユーティリティ以外でそんなクラスをつくるなら、関数に戻した方がいい

195 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 10:52:57 ]
SomethingExtendedA

196 名前:デフォルトの名無しさん [2009/09/05(土) 10:54:46 ]
AImplX

197 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:01:14 ]
なにかのメソッドを追加したA


198 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:05:16 ]
何か便利な機能を詰め込んだクラスの名前を教えてください。
例えば配列を繋げたりするようなものなどが沢山入ってます。

>>195
有難うございます。


199 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:06:58 ]
配列を繋げたりするようなものなどが沢山入っているA

200 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:08:48 ]
便利な機能を詰め込んだA



201 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:08:55 ]
日本語は使いたくないので英語でお願いします。

202 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:10:12 ]
AWithUsefulUnkoMethods

203 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:12:31 ]
AfeaturingEXILE

AWithSupportingSomeOperations

204 名前:デフォルトの名無しさん [2009/09/05(土) 11:13:57 ]
>>198
ManyBigBenClass

205 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:14:14 ]
ありがとうございます!

206 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 11:14:56 ]
>>204
Manyなのかは審議が必要

207 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 12:03:54 ]
>>187
DOS窓とやり取りするって話じゃなかったっけ?

208 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 13:42:56 ]
>>192
リスコフの置換原則に反するからそういう設計はしない。

209 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 13:47:39 ]
>>208
反してませんよ?
クラスをコピペして別のクラスをつくってやってますから。
なぜかというと、再帰を使っているので、

210 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 14:12:40 ]
>>209
DRYの、



211 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 17:03:58 ]
ようやくEffective Java 第2版を昨日手に入れたぜ
他にいい感じのjava本ないか

212 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 18:45:59 ]
>>208
君は何もわかってないバカなんだから
これ以上しゃべらない方がいいよ


>>211
軽快なJava


213 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 19:05:57 ]
だが俺は鈍重

214 名前:212 mailto:sage [2009/09/05(土) 19:07:36 ]
>>208
じゃなくて
>>209
な。


215 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 20:09:01 ]
>>211
Java魂 だけどEffectiveの前に読むレベルの本

216 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 20:20:37 ]
>>211
APIドキュメント読んだほうがましなぐらいの本
Javaチュートリアルのほうが無料で内容濃くてどこでも読める

217 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 20:25:28 ]
>>216
Effective Javaホントに読んだことあるのか?


218 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 20:29:33 ]
>>217
俺もその本はあんまり薦めんよ

219 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 20:31:33 ]
チュートリアルとそのリンクたどるだけでそこらに出てる本の内容は軽く超えるでしょ
入門書なんて日本語でしか読めない人向けだし

220 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 21:15:57 ]
Web上のチュートリアルがすばらしい具体例を一つお願い。



221 名前:211 mailto:sage [2009/09/05(土) 21:19:33 ]
>>212,>>215-216
ありがとうございます

>>217
昨日かったばっかりだから、まだ読んでいないよ
学生なのでお金がなかなか貯らないから、次に買う本を今のうちに決めたいと思ったわけ

今回はEffetive javaを買ったの理由は、知人に読んどけみたいな事を言われたからです
apach jakarta common関係の本がおもしろそうだったので買おうと思ったのですが、森博嗣の本が欲しかったのでやめました
以前から「java 魂」、「Javaネットワークプログラミングの真髄」あたりが気になっています

222 名前:デフォルトの名無しさん [2009/09/05(土) 21:30:55 ]
> チュートリアルとそのリンクたどるだけでそこらに出てる本の内容は軽く超えるでしょ

効率良く情報を仕入れるための仕組みが「本」なわけで。


> 入門書なんて日本語でしか読めない人向けだし

意味不明。



223 名前:デフォルトの名無しさん [2009/09/05(土) 21:41:04 ]
>>222
おまえは日本語すら読めないカスw

224 名前:デフォルトの名無しさん [2009/09/05(土) 21:46:43 ]
日本語も読めない人でしたね

225 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 21:54:24 ]
>>222
英語も日本語も読めないだけでしょ

226 名前:デフォルトの名無しさん [2009/09/05(土) 22:02:51 ]
そんなやつにはもう「ひまわり」しかないよ。

227 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:24:31 ]
Head First Java or Effective Java からcore java行ってオライリーのSwing本だな。

228 名前:デフォルトの名無しさん [2009/09/05(土) 22:38:04 ]
日本人の書いた本はイマイチばかりだよ
Effectiveも日経SJCPのも全部日本人じゃない

229 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 23:21:26 ]
>>227>>228
APIdocとチュートリアルだけで10年目ですね私
一回も本読んだこと無いです
はっきり言って不要でした

230 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 23:23:02 ]
本に頼ってると技術的にも遅れを取るしね
書き写しは出来ないこの業界ですから



231 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 23:42:05 ]
>>229
はいはい、凄いでちゅね

232 名前:デフォルトの名無しさん [2009/09/05(土) 23:43:06 ]
>>229-230
真髄まで知りたいならそれでいいんじゃないの。
といってもどうせこの板に来る鼻糞君たちは、「SQL叩いて今流行りのジャヴァだぜ!」「ジャバってないとバカだよね〜」が大半だと思いますけど・・・

233 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 23:44:32 ]
鼻糞乙

234 名前:デフォルトの名無しさん [2009/09/05(土) 23:48:26 ]
>>229
それでどういうアプリ(ツール)作ったんですか?
まさか10年もやってるのに未だにアプレットでアニメーションとかなわけないですよね。

235 名前:デフォルトの名無しさん [2009/09/05(土) 23:58:37 ]
俺も5年ぐらいだけど、本読んでないな

資格試験のために読んだだけw

236 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:06:02 ]
言語自体は別にいいんだけど
イディオムとかサードパーティ製のライブラリ使いたいときに
いちいちネットブラウジングするのが面倒になる

237 名前:デフォルトの名無しさん [2009/09/06(日) 00:40:38 ]
>>234
なわけないよねw
いろいろ作ったよ


238 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:49:03 ]
布団に潜り込んで寝っ転がって読むのが好き

239 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:55:54 ]
>>237
無理しなくていいよw

240 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 01:08:42 ]
Java流のやり方とか、ありがちな問題への対処方法、
悪いコードを書かないためとか、教養とかそういう意味では
Effective Javaを読むのは必要。
シリアライズ、マルチスレッド、Enum、Generics、Annotation
などの機能について正しい認識を持つことが大事だしね。
やっつけ仕事するだけなら読む必要は全く無い。

英語のチュートリアルもいいけど、Java使ってる大半の現場で
英語まともに読める奴に出会ったことないんだが。

まあ、本を批判するのもいいけど、
それならきちんとURLの一つもかけないのかな。
これはすばらしい記事だったとか。



241 名前:デフォルトの名無しさん [2009/09/06(日) 01:16:55 ]
I think that an article of ibm confuses some beginner programmers in java.
Probably some programmers agree with me.

242 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 03:40:37 ]
String image_gif [ ] = new String[64];
String image_gif_temp [ ] = {"panda.gif","midori.gif","hi.gif","nobasu.gif","ha.gif"};

System.arraycopy(image_gif_temp [ ], 0, image_gif [ ], 0, 5);

-----------------------------------
MyFirstApplet.java:141:.class' がありません。
System.arraycopy(image_gif_temp[],0,image_gif[],0,4);
MyFirstApplet.java:141: ')' がありません。
エラー 2 個

アプレットなのが原因でしょうか。
よろしくお願いします。

243 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:08:48 ]
141行目をコメントアウトしてもっかいやってみるとどうなる?
どっか括弧閉じ忘れてるんだと思う。

Javaは基本的に変数名らくだ型だよ。
image_gif_tempならimageGifTemp

244 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:13:51 ]
>>242
どこにそんな馬鹿な引数の渡し方をしている入門書があったんだ?
ちゃんと金を払って買ったJavaの入門書で一から文法を勉強し直せ。

245 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:14:48 ]
>>243
レスありがとうございます。

>>141行目をコメントアウトしてもっかいやってみるとどうなる?
コンパイル終了 (^−^;)

らくだ型」?
ちょいとぐぐって調べてみます。

246 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:19:00 ]
>>242
コードからみて>>142と同じ人なんだろうけど自分勝手に文法を妄想してはいかんよ
引数の中の変数に[]なんてなぜ付けようと思ったの

247 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:20:31 ]
>>245
変数の命名規則を調べるよりももっと大事なことを調べるべきだろうが

248 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:27:26 ]
image_gifという変数はString[]型
String image_gif[]というように宣言もできるけれど
これはあまり推奨されない書き方で
String[] image_gifと宣言した方がいいと思うよ
メソッドに渡す変数もString[]型を渡すのなら変数名だけを書くことになる

249 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:27:31 ]
おそらく書いた本人さえどう動くのか理解できないと推測される酷いコードがあっても、
「プログラムなんて動けばいんだろ!」と言ってくる奴を黙らす方法を知らない。

250 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:34:22 ]
>>239
精一杯の見栄張り乙



251 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:36:19 ]
というか実際動かしもしないで聞くか普通?

252 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:38:06 ]
> おそらく書いた本人さえどう動くのか理解できないと推測される酷いコードがあっても、
そういうコードは動いていてもたいてい正しく動いていないなw

253 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 04:43:41 ]
レスありがとうございます。

>>246
はい、142 です。
String image_gif [ ]  = 型  変数名
ですから、変数名は image_gif[ ]
となってしまいました。

>>248
とても納得できました。
以後String [ ] image_gif  にします。

以下でコンパイルできました。(意図のとおりできているかわかりませんが・・・)

String image_gif [ ] = new String[64];
String image_gif_temp [ ] = {"panda.gif","midori.gif","hi.gif","nobasu.gif","ha.gif"};

System.arraycopy(image_gif_temp,0,image_gif,0,4);←修正


254 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 09:42:00 ]
>>253
意図がわからんが、その場合ha.gifはコピーされない。

255 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 10:52:12 ]
問題が発生すると、全力で突破しようと思うから
その分野について結構詳しくなるね
これが修羅場ってやつか?

256 名前:デフォルトの名無しさん [2009/09/06(日) 11:57:56 ]
あれ俺の修羅場と違う・・・

257 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 12:40:20 ]
>>254

はい。

String [] image_gif = new String[64];
String [] image_gif_temp = {"panda.gif","midori.gif","hi.gif","nobasu.gif","ha.gif"};

System.arraycopy(image_gif_temp,0,image_gif,0,5);

for(int i=0; i<64; i++){

icon[i] = new ImageIcon(image_gif[i]);
jbtn[i] = new JButton(icon[i]);


これをやりたい。
image_gif は 一部だけ指定する。 」
のに、
あらためて条件式で書き分けるのが面倒だな。」
と思ったんです。

imageicon は 一部しかインスタンス化?できずエラーになりましたけど、
思ったより手間がかかるなぁと感じてます。

imageiconが 引数が null なら、引数なしの場合で処理してくれれば
OKなんでしょうけど。

258 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 12:58:16 ]
>>257
もうちょっとデータ構造を見直せば
思ったより手間がかからなくなりそうだな

259 名前:デフォルトの名無しさん [2009/09/06(日) 13:21:14 ]
>>255
そうそう、本は読まないがトライアンドエラーで無理やり突破
google先生に教えて貰った資料の力が一番でかいけどな

260 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:26:34 ]
>>259
でも資料が古かったりすると現在では推奨されていないやり方をやってしまったりするから、そこには注意な。




261 名前:デフォルトの名無しさん [2009/09/06(日) 17:32:26 ]
参考書を一冊読み終わった初心者です。
次に読む本を探していて、立ち読みで次の2つに絞ったんですけど、良本でしょうか?

 a. Java完全マスターブック
 b. 15歳からはじめるJavaオンラインゲームプログラミング教室

bのほうはEclipseという環境を使用する前提で解説されているようですが、
パソコンが古くてNetbeansが重くて使い物にならなかったので、
Eclipseも動かなそうです。

Eclipseを使わないと動作しない、あるいは理解しにくいのでしょうか。

読んだことがある方のご意見をお待ちしています。

262 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 17:55:59 ]
学習の目的が解らない

263 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:14:16 ]
ノートユーザーでないなら、5万円以下でも買えるメモリ2GBのCore2マシンに
買い替えをお勧めしよう。Windows7UPG対象品の奴。
ノートでも8万出せば買える。

264 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:22:00 ]
戻り値がStringのメソッドについて質問
処理内容はパラーメータで渡されたStringを、正規表現で5つ取り出して結合するだけです

return str.group(1) + str.group(2) + str.group(3) + str.group(4);

StringBuilder sb = new StringBuilder();
sb.append(str.group(1)); x5
return sb.toString();

ではどちらが早いですか?

265 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:28:36 ]
>>264
同じ

266 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:45:24 ]
>>261
EclipseとかNetBeansを使えば、本質的でない部分(コンパイルのやりかたとか)
を人任せにできる。
初心者が気軽に触ってみるためには不可欠に近い。

267 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:56:37 ]
>>263 >>266
アドバイスありがとうございます。
そうですか…。今新しいパソコンを買える状況ではないので…(涙)


読んだ方のレビューもどうぞお願いします。

268 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:23:11 ]
パソコンを買い換えなくとも、メモリを2GBくらいまで増設すればだいぶ軽くなる
高々数千円だし、本を買うよりも優先するべき

269 名前:264 mailto:sage [2009/09/06(日) 19:26:55 ]
>>265
トンクス

270 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:34:08 ]
>>268
現在256MBで、最大384MBなんです。
128MB増やすだけで使えるようになるんでしょうか。
NetBeansはサンプルを開くだけでしばらく時間がかかりました。



271 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:36:05 ]
DDR2入れれるPCじゃなさそうだからこまる

272 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:39:03 ]
>>261
どちらも読んだことはないが、Java完全マスターブックは
古いのでやめた方がいい。

273 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:40:59 ]
むかし親が所有していた2001年製のSOTECのノートがそのくらいの性能だったな
PC100-SODIMMだった気がしますよwww

274 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:42:15 ]
そりゃ、流石にIDEは諦めろ、WindowsXPすら微妙なレベル
我慢してテキストエディタでやるべき
あとSwingとかGUI系は諦めたほうが良いと思う

恐らくは7−8年くらい前のノートPCだろ?
128MBの専用増設メモリ探すだけで大変だわ
1万程度でいいから中古PC買ってメモリ増設、中古のモニタ買っても2万程度。
よくPCを買い換える友達いるなら適当に古いマシンもらうべき

275 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:50:28 ]
cel 2.6G mem 256Mでeclipse動かしてたけど苦労した。
いまはオクタコアが2個あっておいしいです。

276 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:54:49 ]
時代を感じるね

277 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 19:55:11 ]
オタクコア に見えた

278 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:01:22 ]
>>272
5年前の本だと、今では使えないような技術だったりするんでしょうか。
既に読み終えた参考書は幸い昨年の本でした。

>>274
対応したメモリは見つかりましたが、128MB増は効果が低いと思って買ってません。
最初からXPが入ってて、なんとか動いてます。

Javaの勉強ではCPadっていうソフトを使って勉強してますが、これは軽いので
ちゃんと動きます。
Swingも簡単なものしか試してませんが、動きますよ。

279 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:10:33 ]
>>264ではないが

static private String addString(){
  return "abcde" + "fghij" + "klmno" + "pqrst" + "uvwxy";
}



static StringBuilder sb = new StringBuilder();
static private String appendString(){
  sb.delete(0,25);
  sb.append("abcde");
  sb.append("fghij");
  sb.append("klmno");
  sb.append("pqrst");
  sb.append("uvwxy");
  return sb.toString();
}

をたくさん呼び出して時間を計ったら、上の方がだいぶ早かったんだけど
何か間違ってる?

280 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:11:39 ]
Java SE5の頃よね。5年前って。



281 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:13:34 ]
>>279
>return "abcde" + "fghij" + "klmno" + "pqrst" + "uvwxy";

この部分最適化されるからだろ

282 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:16:12 ]
>>279
たくさんって何回だ?
数百回程度じゃ大差ないよ

>>278
動かすだけなら動く、ストレス無く動かせて開発できる話とは別の話

283 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:30:09 ]
>>279
文字定数の+演算子による結合はコンパイル時に
結合されると言語仕様に規定されている。
"abc" + "def" == "abcdef" // 必ずtrue

たまにこういうのまでStringBuilderに書き直せ、
とか言う奴いるんだけど、なんなのあれ…

284 名前:279 mailto:sage [2009/09/06(日) 20:31:28 ]
>>282
100万回回して、System.nanoTime() で計って二桁ぐらい違うけど
二桁 [ns] ぐらいなら誤差の範囲か すまん

285 名前:281 mailto:sage [2009/09/06(日) 20:32:37 ]
言語仕様では「結合してもよい」だったと思うけど。
たいした違いはないが。

286 名前:279 mailto:sage [2009/09/06(日) 20:36:56 ]
>>281,283
ぬぉ それだったみたい
文字列を変数にしたら append の方が三割ほど早くなった

287 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:38:03 ]
jadで逆コンパイルすればおk

288 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:39:46 ]
>>285
それじゃあ大した違いになるし、結合される、ってことでOKだったと思う。
文字列定数は同じ内容なら同一のインスタンスを指すことになってる。
だから文字列定数のみ使っているという限りでは==で比較してもよい。

まあこれでも見てくれ。
java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.5
>Strings computed by constant expressions (§15.28) are
>computed at compile time and then treated as if they were literals.


289 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:47:20 ]
メジャーバージョンの小さい昔の eclipse などの統合環境ならメモリ少なくても動く

290 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:50:23 ]
eclipse.iniのJVMのメモリ量でも気づかずに
作業してる奴がいるぐらいなんだから
最近のでも大丈夫じゃね?



291 名前:261 mailto:sage [2009/09/06(日) 20:52:29 ]
みなさん、いろいろなアドバイスをどうもありがとう。

とりあえず「15歳から〜」の本を買って読むことにします。

>>289さんの小さい昔のやつを試しに入れてもダメだったら、
読書だけで頭でっかちになって
新パソコン購入後に実際に動作させてみます。

292 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 20:55:47 ]
CPadで入力して動かすことはできるよね。
初心者はEclipseみたいなIDEを使ったほうがいいって言うけど、
初心者だからこそ全部手動でやったほうが身につくと思う。

293 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:02:36 ]
最初はコマンドプロンプトで作業するのは有益だと思うよ。
結局、どうやって何が動いてるか分からないと意味ないからね。

でもそれは最初だけで後はEclipseでいい。
特に文法エラーなんかで数時間悩む意味はない。
即時エラー教えてくれるのは便利。

294 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:04:23 ]
初心者レベルなら、身についても仕方ないんじゃない?

295 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:09:30 ]
誰でも最初は初心者なのに、ちょっと上達すると初心を忘れて偉そうな気持ちになって上から物を言っちゃうんだよね

296 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:10:51 ]
プログラミングの基礎を覚えたいならエディタ+コンパイラでも十分
プログラムでなんか作ってみたいならばIDE使った方がいい
コンパイルエラーはさっさと教えてもらい修正する方がモチベーションが持続する

297 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:11:57 ]
>>290
それは起動だけなら充分だろうが、その後の作業がもっさりじゃね?
俺としては、みりんなしのバージョンがオヌヌメ

298 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:19:22 ]
>>283
> なんなのあれ…
ただの馬鹿と思っておk。

299 名前:デフォルトの名無しさん [2009/09/06(日) 21:40:33 ]
携帯から失礼します
GUIにスプレッドを使いたいのですが、フリーか評価版で何かありませんか

300 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:42:34 ]
>>280
いまJava SE5の本で勉強すると問題ある?



301 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:49:08 ]
>>270
それだとテキストエディタ+DOS窓+手動コンパイルでいいんでない?
実際IDEはGUI作るときは必要になるけど、java.io, java.net使う程度とか小物ツール(自作Base64とか)を多く作るならエディタだけで十分だったりする。
機能を分けていってクラスが10個ぐらいになるとIDEが欲しくなってくるけどね。
小物ツールなら例えばアプレットでアニメーションなんかクラスは3,4個(多くて合計1000行)でしょ。

302 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:51:30 ]
>>300
言語仕様でいえば問題なし。4は問題外だが。

303 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:52:45 ]
そんな中Java1.3が開発言語の現在の勤務先。

304 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:59:54 ]
>>300
6 は劇的な変更は無いね。高速化パッチの親玉。

Java SE 6 の互換性
java.sun.com/javase/ja/6/webnotes/compatibility.html

大きな変更としてはせいぜいコレクションが拡張されただけ。
Collections Framework の拡張機能
java.sun.com/javase/ja/6/docs/ja/technotes/guides/collections/changes6.html
>140 のArrays#copyOfRange()も1.6で追加された新機能の一つ。

305 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:59:58 ]
Java1.4のリファレンスをもらったんだけど問題あるかな。

java.lang
java.io
java.util
java.net
java.nio
java.math

だけの簡易リファレンスなんだけど。

306 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:00:22 ]
>>302
d

307 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:02:30 ]
>>304もありがと、チュッ♥

308 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:07:45 ]
>>305
1.4 -> 1.5 で総称型が追加されたため、はっきり言って「古い」という問題が。
特にjava.utilのコレクション周りに関して壊滅状態じゃないか?

309 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:29:04 ]
public class Hoge extends JPanel {

public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new Hoge());
frame.pack();
frame.setVisible(true);
}

private JScrollBar scrollBar = new JScrollBar(Adjustable.VERTICAL);

public Hoge() {
setBackground(Color.white);
setPreferredSize(new Dimension(300, 300));

add(scrollBar,BorderLayout.EAST);
}
}
なんで、スクロールバーが右側にならないんですか

310 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:39:12 ]
根本的にJScrollBarの使い方がおかしい



311 名前:デフォルトの名無しさん [2009/09/06(日) 22:53:47 ]
リテラルが増えて旧式って言うなら、次の1.7が出ちゃうと1.5, 1.6なんかも旧式ってなっちゃうよ。
1.7の言語(文法)リテラルは結構増えてrubyのようにカオスってるから。

312 名前:デフォルトの名無しさん [2009/09/06(日) 22:56:31 ]
>>303
ブラック派遣乙

313 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:15:01 ]
リテラルって何のこといってんのかと思ったら予約語のことか。


314 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:18:20 ]
>>275
スレとは関係ないが8コアCPU2発って何使ってるん?

315 名前:デフォルトの名無しさん [2009/09/06(日) 23:24:22 ]
ていうか、次のリリースではクロージャはいらなかったけど、かわりに文法(言語)リテラルを多数サポートして
map["key1"]="val1"とか、map={key: "val1", k:"v"....,}とかjsみたくなる。
だからスクリプトみたいな現代風なコードになるから5,6は少なくともコード上では旧式(冗長)になるんじゃないかな。

316 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:34:45 ]
流石に7がリリースされても未だに1.4を引きずっている業界で導入されるのは先だろうなぁ

317 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:35:04 ]
>>305
いらない。
java.sun.com/javase/ja/6/download.html
から落とせるドキュメントに必要なものは一通り入ってる。

318 名前:デフォルトの名無しさん [2009/09/06(日) 23:36:25 ]
SAStruts
でフレーム分割を扱う方法を教えてください
HTTPステータス 400 - Direct access for JSP is not permitted.
と表示されてしまします

319 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:43:27 ]
メーリングリストで質問しろ

320 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:59:51 ]
Javaってマルチスレッドだから、同期化に気をつかわなければなりません。
同期化が問題なくできているかは、コードレビューで確認するしかないのでしょうか?

単体テストか結合テストで何らかのツールを用いて確認することは無理ですか?




321 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:04:26 ]
Javaはマルチスレッドではなく、マルチスレッドに設計すればマルチスレッドで動くだけ

322 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:05:59 ]
>>321
アホじゃあるまいし。それくらい理解しています。


323 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:12:43 ]
なさげ
でも一応エージェントつかえばデッドロックは検査できるっぽい

324 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:37:49 ]
>Javaってマルチスレッドだから、同期化に気をつかわなければなりません。
これはアホの文章だな

それはさておき、マルチスレッドのテスト技法はぶっちゃけない。
コードレビューというよりは設計の段階から安全に作る以外の方法はない
詳しくはJava変更処理プログラミングって本を嫁

325 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:59:41 ]
ロック用に専用のオブジェクト作ればよくね?

326 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:06:34 ]
Threadを生のまま使わないのが早道

327 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:07:22 ]
タイミングに起因するテストはまず無理

328 名前:デフォルトの名無しさん [2009/09/07(月) 01:07:52 ]
JAVAのIDEで名前が思い出せないものがあります
思い出させてください
糞士痛のApworkusoの続バージョンのような雰囲気のIDEでした

329 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:10:58 ]
>>309
ヒント。Hoge のレイアウトは?

330 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:15:14 ]
328じゃないけどJava の古いIDEで思い出したのがTeikado・・・ググっても14件。
スペルまちがってる?



331 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:16:20 ]
最近の人なので知りません

332 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:18:27 ]
質問する気があるなら正しい名前書けよ
想像するにApworksとかそういう名前だと思うが

333 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:25:24 ]
>>332
うんいい感じ
そしてその数年後の記憶も書いてください

334 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:33:09 ]
Teikadoではなかったと思います
大文字アルファベット3文字だった気がしますが自信がないです

335 名前:318 [2009/09/07(月) 01:56:36 ]
仕方ないのでTilesとc:importを組み合わせてみようと思います

336 名前:318 mailto:sage [2009/09/07(月) 02:18:49 ]
やっぱダメだ
相対リンクがおかしくなるみたい
フレームでなんとかしないと
www.ibm.com/developerworks/jp/java/library/j-jsp06173/

337 名前:デフォルトの名無しさん [2009/09/07(月) 02:33:21 ]
結局iframeにした
チラウラすまそ

338 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 02:35:36 ]
>>330
teikade のこと?

339 名前:デフォルトの名無しさん [2009/09/07(月) 07:17:33 ]
InterStageだろ

340 名前:デフォルトの名無しさん [2009/09/07(月) 10:25:03 ]
keyからvalueを得るの反対の事をするにはどうしたらいいですか?



341 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:32:25 ]
valueをkeyにしておく

342 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:34:04 ]
そうするとkeyからvalueが得られません。

343 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:35:15 ]
両方作れやw

344 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:42:13 ]
keyからvalueを得るインスタンス名がaとしたら
valueからkeyを得るインスタンス名を何にしたらいいのですか?
一つにまとめられればこの問題を解決できると考えたのです。

345 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:44:05 ]
aなんていう意味を持たない名前を付けるのはやめれ

346 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:44:59 ]
aというのは例えばです。
この場合わかりやすくpoolとでもしておきましょうか。

347 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:54:41 ]
同じvalueの場合は複数のkeyが取れるようにすんの?

348 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:57:46 ]
全単射です。

349 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:02:57 ]
reversePool

350 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:05:38 ]
ありがとうございました。



351 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:12:37 ]
1:1対応ならvalueのインスタンス変数にkeyもたせれば解決だろ、アホ?

352 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:20:12 ]
valueがStringとかなら_

353 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:21:59 ]
アホ杉
class ValueWrapper {
Key key;
String value;
}
Map<Key, ValueWrapper> map;
終了


354 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:25:45 ]
>>353
ValueWrapperからkeyとvalueは取れるが、
valueからkey取れなくね?

355 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:27:23 ]
keys()からvalueで取得するの追加すりゃいいだけだろ

356 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:31:14 ]
頭いいけど、自分で考えたわけじゃないだろ。

357 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 14:07:01 ]
改行は\r\nか\nのどちらを使えばよろしいですか?

358 名前:デフォルトの名無しさん [2009/09/07(月) 14:14:30 ]
>>357
システム使うのが一番安全

359 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 16:41:49 ]
>>356
おまえは頭悪すぎ
たぶん向いてないから止めれ

360 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 16:53:01 ]
みんな最初は業務からjava始めたの?

最近業務で弄ってるんだけど教えてくれる人がいない
というか、新人教育みたいなのもないから、どうしようもなくて・・。
何から勉強していいものやらね・・。

覚えたいのは山々なんだけど、うまくいかなくてイライラするんだよなー。
なんかいい方法ないかな?
たぶん入門書嫁っていわれるだろうけどw



361 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 16:55:22 ]
>>360
俺はHelloworldからはじめて、とりあえず書いてJavaDocだけでいけたよ
本買ってもあんまり意味はない
無論、他の言語の基礎がないなら基礎から覚える必要はあるけど

362 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 17:00:11 ]
本を嫁、
後は勉強会とかセミナーに参加
自力でやれないことはないが効率悪すぎる

363 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 17:01:34 ]
>>362
それは君が他力本願だからだよ。
独学の方が効率がよい。
君の限界値もたかが知れているね。

364 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 17:04:09 ]
特に初学者の独学では何が重要で何を優先すべきかの判断ができない

365 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 17:08:49 ]
>>364
現場を知らない君が語ることじゃないね。

366 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 17:19:44 ]
上から目線w

367 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 17:43:18 ]
そりゃ事実上だもの

368 名前:デフォルトの名無しさん [2009/09/07(月) 18:07:17 ]
俺がJavaプログラマとして未経験で入社したころ、上司に

「アセンブラや機械の構造を知っていたほうが、後々上達するんだ!」

っていわれて、無理やりやらされたけど、その後出てくる言語(PHPやC#、VB.NET)
やってるとなんにもアセンブラなど役に立たん。

369 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:12:19 ]
少なくともJavaにアセンブラの知識が生きることは無さそうだな…
生きる所というより生かす所がない

370 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:12:55 ]
>>368
ないなw
先輩にコボラーとかいそうw



371 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:20:51 ]
アセンブリを勉強したらメモリの仕組みがわかるから、
他の言語を学ぶ際に多少理解の助けになるってことでしょ。

あと、高速な動作を要する場合に、インラインアセンブラとかで役立つことはあるね。

372 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:21:59 ]
Java関係ねえじゃん

373 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:22:33 ]
Javaにインラインアセンブラなんてあったの?
10年やってきて初めて聞いたわ。

374 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:23:16 ]
いやそういうのいいから

375 名前:371 mailto:sage [2009/09/07(月) 18:25:15 ]
Javaに関しては>>369に同意ね

376 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:25:22 ]
Cだろ
JNIでも使わせる気かよw

377 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:26:21 ]
言語の性格もアセンブラって手続き型だろう?

378 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:32:25 ]
てかプロは写し書きしてたらいかんだろw

379 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:55:03 ]
独学はやめとけ

380 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 19:03:47 ]
>>379
無職の君ならそうだろうけど、
彼は業務から覚えることが可能だからね。
所詮教わった知識なぞ現場じゃ役に立たないよ。
世間を知りなさい。



381 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 19:38:59 ]
どうでもいいが独学で配属されるPGって面倒だよな
無駄にプライドあったり、俺ルールで書こうとしがち

382 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 19:42:42 ]
質問・相談スレではなく雑談スレになってるね

383 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 19:42:44 ]
>>381
それは独学関係ないよ。
君の薄汚い心のこじつけだよ。
コーディング規約守れないのは独学だろうと人間として歪んでいるだけさ。
君の塵の欠片にもすぎない固定観念なんて、なんて愚かだろうと思うでしょ。
それだけのことを君は言っているのだよ。独学だからコーディング規約守らないなんてどこに根拠あるの?
君の皆無に等しいサンプルで簡単に決めつけないほうが身のためだよ。

384 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 20:01:48 ]
>>469>>471は優秀な翻訳者。

385 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 20:03:01 ]
誤爆りましたスマソ

386 名前:デフォルトの名無しさん [2009/09/07(月) 20:06:42 ]
エクリプスはリファクタリングが凄い

387 名前:デフォルトの名無しさん [2009/09/07(月) 20:19:42 ]
たしかアセンブラ(bytecodeだけど)あったような・・・次のリリースからだったかな・・・

388 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 20:30:04 ]
色々沸いているのがいるな

389 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 20:33:35 ]
エクリプスと読むことを今知った俺


390 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 20:38:29 ]
>>348-356
いまさらレスだけど、双射ならApache Commonsの
BidiMap(bidirectional Map)使えば済む話。
commons.apache.org/collections/api-3.1/org/apache/commons/collections/BidiMap.html

>>360
俺は中学から始めた。もちろん本だけ見て。

>>368
アセンブラやってJVMの仕様を勉強すれば完璧じゃないだろうか。

>>381
勉強もしないでVB風にif(condA){if(condB)}とか
他言語で身についたカスコード書かれるよりは数千万倍マシ。



391 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 20:50:41 ]
jusched.exeっていうのが頻繁に何かしようとして
ファイアウォールが反応します。
これってアップデート関係のファイルですよね?
月1回の設定にしてるはずなんですけど・・・。

392 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 20:51:01 ]
ワームだね

393 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 21:08:31 ]
MicroSoftUpdateに64bitのIEでアクセスすると
勝手に32bitのIEの方が起動するんだけど
Javaであんなことできるん?Javaじゃ無理だよね。

394 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:26:40 ]
>if(condA){if(condB)}とか
例えになんだがこれ書いた人はどういう意図で書いてるん?

395 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:41:26 ]
しらねーよ
condA部分でなんらかの処理してるんじゃね?

396 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:43:18 ]
if(condB)の前にあった文を削ったとか

397 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:47:44 ]
>>395
ああ、旧VBは条件文を全部評価しちゃうのな。

condAでコネクションを開いて結果を取得、condBはコネクションを前提って場合に、
condA&&condBってしちゃうと、condAがfalseでもcondBを処理しちゃうんだっけ。

398 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:53:11 ]
condでいろんな処理すんなよ、面倒だから

399 名前:390 mailto:sage [2009/09/08(火) 01:35:52 ]
>>394,397,398
別に大掛かりな副作用は無くてもOK。こういうコードとか典型的。
if(a != null){
 if(a.length > 0){
 }
}
ちなみにifのネストはEclipseのCtrl+1で一発で修正できるよ。
大概、VB前歴の人は論理演算を整理して書けないことが多い。

あとCの人とかだと変数宣言メソッドの先頭に持ってくるとか、
final理解できないとか、変数に無駄な初期値与えちゃうとかやるね
(そのせいで変数を代入していないパスに気づけないとか)。

スレ違いなのでそろそろおしまいにしよう。

400 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 05:48:02 ]
それって副作用のある式を条件式に含めるのが悪いんじゃ・・・



401 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 06:21:21 ]
>>400
副作用が無くても同じだし、副作用があってもjavaでは困ること無いでしょ。

402 名前:360 mailto:sage [2009/09/08(火) 09:10:36 ]
まだ上司がいるって環境のがいいですよね・・・。
私も業務で使うからってことで、新たに始めましたけども。
全部ネットからであったり、創るNetbeans見たりで
動くプログラムは多少なり創れる様にはなったんだけどさ。
やっぱり早く動かそうとか、ちゃんとしたクラス分けとか
そういうとこが分からないんだよね。
オブジェクト指向っていうか、そのあたりが理解できてないのか・・・・

どっかの誰かが言ってたみたいに、どこに重点を置いて、
どの場所にどういう風にコーディングすればいいかわかんないんだよねー。

確かに動くには動くんだけどね・・・

はあ宇津田志納

403 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 09:43:30 ]
なんでもかんでもオブジェクト指向のせいにスンナ
オブジェクト指向なんか意識しなくても、効率よく組んでいれば自然にオブジェクト指向っぽく書ける

404 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 10:05:38 ]
アセンブラ信者か
Javaには珍しいな

405 名前:360 mailto:sage [2009/09/08(火) 10:08:17 ]
>>403
オブジェクト指向のせいにしてるつもりはないんだけね。
でも、そこも含めて理解しないと今後伸びないかと思って。
っていう話です。
要は未経験でいきなり創れって言われて
創ってみたら基礎は入ってないけど動くのだけはなんとか
サンプルを見つつかつかつできるよ。
っていう程度。

もっと判るようになればなぁ。って思う。

406 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 10:23:30 ]
解ってるなら愚痴ってないで勉強しろ

407 名前:360 mailto:sage [2009/09/08(火) 10:24:11 ]
406>>
ちょこちょこ見ながら業務中。
というか開発中。

がんばるさ。ありがとうー

408 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 14:22:53 ]
どの言語の基礎もない奴は迷惑極まりないだけ
言いわけは「動くから問題ない」と表面上だけの薄っぺらいことを言う

409 名前:360 mailto:sage [2009/09/08(火) 16:31:52 ]
>>408
だからどうすればいいかと聞いてたんだけど
問題ないと思ってないから質問したんだが。
俺が間違ってたか?

410 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:37:25 ]
>>409
お前には言っていない
自覚があるお前は伸びる
将来有望だろうな



411 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:38:08 ]
>>409
とりあえず、できる人のデスクの上に載っている本のタイトルをメモしてきて
本屋で立ち読みしてみれば?
リファレンス的なものは必要じゃないの?

412 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 17:03:34 ]
>>409
だから独学せずに本を読めと
ある程度の基礎が解ったらソース嫁

413 名前:360 mailto:sage [2009/09/08(火) 17:12:58 ]
>>410
勘違いすまん。
頑張っていきたいのは確かなんだ。
会社を休職して専門にいこうかも迷ったけど
基礎はできても業務では生かせないだろうから
それなら独学で っていう心理にたどり着いた

>>411
できる人がいればできる話・・・orz

>>412
本も読んでみないといけないな。
やっぱりちょっと難波のジュンクでもいって見てくる。
とりあえず今日このスレで情報収集した本とか参考にしてみるよ。



高卒でIT界に入りたくてはいったから苦労するのは目に見えてたけど
ここが第一の正念場だよな。

414 名前:360 mailto:sage [2009/09/08(火) 17:13:39 ]
連投すまん。

正直ここまで励まされるとは思ってなかった
ありがとう

415 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 17:15:08 ]
勉強会に出ることを勧めるわ
技術は勿論だが、なるべく早く人脈を作るべき

416 名前:デフォルトの名無しさん [2009/09/08(火) 17:17:43 ]
上達の近道は他人のソースを見ること

なんて格言があったような気がするが、今捏造したかもしれん
JAVAの標準ライブラリとかapatchのソースとか見てると面白いよ

417 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 17:18:51 ]
>>413
俺も高卒でITだよw
今はフリーでやってるけど。

418 名前:360 mailto:sage [2009/09/08(火) 17:36:30 ]
>>415
それも考えてるけど基本理解しないとSunとかは敷居が高すぎるしね・・・。
ITスクールもどこにいっていいものやらって感じかな。

>>416
ほうほう。いろいろ見てみるよ。d

>>417
俺は社長にスカウトされて入った感じ。
メイン業務はPGの仕事ではないけど
そっちを新規でやるからってことでやってる感じ。
でも、同じ様な境遇って案外いるよね。
親近感沸いた。

419 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:23:41 ]
>>404
アセンブラ信者はJavaVMを理解してるのだろうか?

420 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:24:40 ]
>>413
まあ、高卒なら周りの期待も即戦力ってことはないから、これからでいいだろ。



421 名前:デフォルトの名無しさん [2009/09/08(火) 18:26:21 ]
>>419
そもそも信者じゃないだろ
レス嫁ドカス
上司に言われたってだけってあるだろ

422 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:58:31 ]
JEditorPaneのコード(JDK)を見ていたら、
JEditorPane.this と hyperlinklistener.classってのをコードの中でみつけた
何なのこれ?

423 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 19:01:08 ]
>>422
とんでもない素人だな

424 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 19:08:39 ]
前者はクラスを明示したthis, インナークラスなどで使われる
後者はgetClass() のようなもの

425 名前:422 mailto:sage [2009/09/08(火) 19:23:48 ]
>>424
レスありがとうございます
>後者はgetClass() のようなもの
これって、リフレクションとかで使っているような記憶があるのは気のせいですか
確かな記憶ではないです

426 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:48:24 ]
アセンブラで全部作るとか
効率悪い素人の典型だろ


427 名前:デフォルトの名無しさん [2009/09/08(火) 20:58:32 ]
携帯からですみません。

JSF2ってリリースされてました?


428 名前:デフォルトの名無しさん [2009/09/08(火) 21:33:38 ]
Treeset setItems = new TreeSet();
List<Customer> item = customer.getCustomers(num);
setItems.addAlls(items);

List<Custome>で取得した itemに重複した値があるから
Treesetで重複を取り除こうと思ったのにclasscastexceptionが
でてしまった。
はぁ・・・こんなところでつまずいてしまっている。。。



429 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:07:51 ]
>>428
そうですか。
よかったですね。

430 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:11:19 ]
何が良かったってんだよ
適当ぶっこいてると潰すぞごるぁ



431 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:19:30 ]
containsでチェックしながら1つづつ詰めればいいだろ・・・

432 名前:428 [2009/09/08(火) 22:22:31 ]
うーん、自己解決だ。
compareToか。

433 名前:428 [2009/09/08(火) 22:26:24 ]
>>431
containsですか、ありがとうございます。


434 名前:デフォルトの名無しさん [2009/09/08(火) 22:54:55 ]
何だこいつww
これが噂の「雑魚」?w

435 名前:デフォルトの名無しさん [2009/09/08(火) 22:56:09 ]
>>428
<Custome>
って何?

436 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 23:00:21 ]
重複排除したいだけで本当にTreeSetが必要かと小一時間…。

Tree系はComparableを実装した要素でないといけない。
やりたいこと的には、おそらくequalsもオーバーライドしないとだめ。

437 名前:デフォルトの名無しさん [2009/09/08(火) 23:40:50 ]
TreeSetにジェネリックスが付いてないことについて、小一時間問い詰めたい

438 名前:デフォルトの名無しさん [2009/09/09(水) 14:35:10 ]
JavaでCD-Rに記録するプログラム(ごく簡単なやつでいいですーフロッピーにコピーするみたいな感じのやつ)
を作りたいんですが、できますか?


439 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 15:20:03 ]
CD-Rに書き出すプログラムを起動することならできるよ。

440 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 18:06:22 ]
Java の仮想マシンには CD-R ドライブは搭載されておりません。ご了承ください。



441 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:17:39 ]
Windows版のJavaで使われているDirectXのヴァージョンはいくつなの?

442 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:41:33 ]
Javaの標準パッケージに3Dアクセラレータ関係ってあったっけ
OpenGLじゃね

443 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:47:47 ]
ないよ
Java3Dで選択できる

444 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:52:26 ]
Java2Dで使われるDirect3Dパイプラインのことじゃね
しかしバージョンは知らん

445 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:27:22 ]
JavaプログラムAprogをコマンドプロンプトで
java Aprog 1
java Aprog 2
java Aprog 3
.
.
.

とbatファイルで重複起動させたかったんですが
一つのプログラムが終了するまで次のプログラムを起動してくれません。
javawで起動しても駄目だったのですが、何か方法はありますか?

CPU使用率等の負荷の計測をしたいのですが・・・

446 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:38:11 ]
そりゃJavaの話じゃなくてコマンドプロンプトの話だろ

447 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:54:45 ]
なんですかね?
batじゃなくて手動でやるとできるんですよね
コマンドプロンプトの問題なのか・・・

448 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:59:19 ]
start java ~~
ってやれよ。

449 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:07:48 ]
極一般的なServletプログラムをtomcatに乗せて動かしてます。
リクエストがきて、処理が終了して、レスポンスが返るわけですが

HTTPの応答コード200になった時、
HttpServletResponseにcookieにJSESSIONID=[セッションID]がHTTPのレスポンスにのります。
セッションの管理に使われていることは存じておりますが、
このJSESSIONID=[セッションID]をHttpServletResponseからどうにか消したいです。
何か手段はありませんでしょうか?
(環境は変えない前提なのでどうにかプログラム内で対応の前提
クライアント側はcookieをサポートしたクライアントの前提)

450 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:14:38 ]
追記
Cookie cookie = new Cookie("JSESSIONID", "");
cookie.setMaxAge(0);
response.addCookie(cookie);

では消せませんでした。



451 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:23:41 ]
レスポンスそのものには触ることができるならラップしてしまえばいいだろう

452 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:45:28 ]
addじゃなく上書きすれば良いだけだろ
頭悪すぎ

453 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:48:18 ]
perlを久しぶりにちょろっと書いてみたけど、
javaの方がファイル関係の処理に時間がかかるのは気のせい?

454 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:53:14 ]
作り手が悪い

455 名前:デフォルトの名無しさん [2009/09/09(水) 21:54:26 ]
SwingのWindow分割について教えてください。
Winsowを4分割したいと考えているのですが、これを実装しようとするとどのような方法があるでしょうか?
3Dモデラのメタセコイアのような、境界をドラッグすることで動的に各領域のサイズが変えられる、田の字型の画面を実現したいと考えています。

まず考えたのが、JSplitPaneでいったん左右に分けて、それぞれの領域をさらにJSplitPaneで縦に分割する方法ですが、
枠が左右で独立してしまい、縦に分割している境界をドラッグしても左右が一緒に動いてくれません。
イベントを拾って追従させることで高さをあわせる…というのも考えたのですが、
これだと実装があまり綺麗ではないですし、結局は分割を2回繰り返しているだけなので、
田の字の中心をドラッグしても(単なる左右間の分割線ですので)境界は横にしか動かせません。

何か、もっとスマートな実現方法はありますでしょうか?

456 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:57:56 ]
コードがないと一般論しか言えないけど、
他言語と比べての大きなオーバーヘッドはないはず。

457 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:00:17 ]
JInternalFrame使えば?

458 名前:453 mailto:sage [2009/09/09(水) 22:00:33 ]
>>454
やぱり、オブジェクトを作りまくっているクラスと比較しちゃだめだよな
perlは単純に正規表現だけのプログラムだったし
やっぱり、オブジェクトの生成ってコストかかってんだね

459 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:00:58 ]
JavaでC言語は作れますか?

460 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:03:07 ]
コンパイラを実装するって意味ならできるよ。



461 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:03:16 ]
C言語は作れないが、C言語のコンパイラかインタプリタなら作れる

462 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:05:28 ]
>>458
オブジェクトの生成コストなんてナノ秒のオーダーだが、いったいどんな事をしたら遅さを体感できるのか教えてくれ

463 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:07:11 ]
>>448
何それ!

464 名前:455 mailto:sage [2009/09/09(水) 22:09:14 ]
>>457
その場合は、たとえば領域が

AB
CD

というように分割されているとして、それぞれをJInternalFrameで表現する感じでしょうか?
その場合だと、「境界をドラッグして大きさを変える」という処理を行う際に
「Aの右端のドラッグを検知した場合、その情報を使ってBのサイズを動的に変更」
「Aの右下のドラッグを検知した場合、その情報を使ってBCDのサイズを動的に変更」
という処理は自分で書く必要がありそうな気がします。
田の字型を維持してくれるようなAPIが無いものかと思ったのですが、やはりその辺は自前で処理する必要があるでしょうか。

465 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:10:51 ]
コマンドプロンプトだしてstart /?って打とうな。

466 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:13:25 ]
start?


467 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:13:54 ]
>>451
ラップするというのがいまいちわかりませんが、全力でググってきます

>>452
同名でaddすれば上書きすると思ってました。
頭悪くてごめんなさい
明示的に上書きする方法があればご教授いただけると幸いです。

468 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:27:13 ]
>>465
まじ有難う
お陰で明日電車止めずに会社行けそうだわ

469 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:35:16 ]
どういった理由でJSESSIONIDが邪魔なのか後学のためにお教え願いたい。

470 名前:デフォルトの名無しさん [2009/09/09(水) 22:35:42 ]
何故Fileクラスに簡単にファイルをコピーするためのメソッドがないのでしょうか?
検索するとFileChannelクラスがどうとかこうとか出てきました。
renameみたいな感覚でcopyとか出来ないんでしょうか?



471 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:38:50 ]
右クリック→コピー

472 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:40:37 ]
何でないのって言われたってさあ

なんでこの世に幽霊がいないの?って聞かれてるみたいで非常に馬鹿馬鹿しいんだが

473 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:41:40 ]
>>462
オブジェクトを生成しているから、全体の処理で1秒くらいかかっている(javaのコード)
でも、それを別にしてもコンソール上でperlを動かしたらめちゃくちゃ速かった気がする
コンソールに表示される文字列に騙されたのかな?

474 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:43:48 ]
技術者なら体感じゃなくて具体的な数値をまとめろよ

475 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:44:38 ]
>>470
Jakarta CommonsのFileUtils

476 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:44:53 ]
>クラス File
>ファイルおよびディレクトリのパス名の抽象表現です。

とあるように、Fileクラスが示すのはディスク上のファイルそのものではない。
だからコピーみたいな機能はない。

477 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:44:56 ]
>>470
bugs.sun.com/bugdatabase/view_bug.do?bug_id=4032604
こんな理由で存在しない。

FileChannel src = new FileInputStream(file1).getChannel();
new FileOutputStream(fileDestination).getChannel().transferFrom(src, 0, src.size());
上のコード書くかCommons IO使おう。

478 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:04:05 ]
>>473
時間計ってないのかよwww

479 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 00:27:41 ]
クラスパスとビルドパスって何が違うのん?

480 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 00:44:03 ]
クラスパス=起動時
ビルドパス=コンパイル時



481 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 09:23:07 ]
ところで、IMEの切り替えできるの?
このオブジェクトを表示されたら半角→全角
とか。

Swingの文字列操作はできないっていうのを見つけたんだけど
いかんせんLastUpdateが2002年なもんで。
satoshi.kinokuni.org/tech/SwingTipsString.html

何か知ってる方いる?

482 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 10:41:33 ]
出来るよ

483 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 11:07:23 ]
>>482
ウホッ まじか

ほんとだ・・・ggったら普通にPukiwikiにあった
なんでさっき出なかったのかと思ったけど単に俺が寝ぼけてただけか。

484 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 11:08:30 ]
>>482
あとd

485 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 16:41:28 ]
>>478
まるっきり同じ処理で、しかも時間を計っていたらわざわざ書き込まないよ

486 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 21:35:13 ]
>>485
なんだ、ただのバカか

487 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 21:54:53 ]
485が書いたコードの品質が想像できて萎える

488 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 22:26:29 ]
doxygenってjavadocより良いの?

489 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 22:41:55 ]
専門学校の卒業研究のテーマで悩んでます
javaを使用したいと考えているのですがなかなかやりたい事などが思い浮かばないです
何かアイディアなどを教えてください。

490 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 22:47:15 ]
無難にAI付きオセロでも作ってろ



491 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 22:52:48 ]
就職したらJ2EEの基盤技術がわかってると重宝される。あとDBとか。

卒研のテーマとして面白さを出したいなら、ありがちではあるが
ゲームとネットワークのうまい融合を探ってみれば。

集合知AIとかOpenCVあたりはトピックとしての注目度は高いかも。
(面接で売りにできるよ)

492 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 22:55:00 ]
あ、OpenCVはPureJavaで完結しないけどJNI経由でたたくことは一応可能。

ubaa.net/shared/processing/opencv/

493 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 22:55:15 ]
アイデアマップとかアイデアエディタとかそれ系のうさんくさいやつ

494 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:24:46 ]
javaでOpenCVかー。集合知AIに一票。

java関係ないがwwwに強い人間が見るならXHTML2.0とHTML5.0の相違点となぜXHTML2.0WGが解散するのかっていうテーマはいいね。
この二つはWWWに与える影響が大きいのでこのテーマを正確に把握し自分なりの考えを示せるなら
WWWの将来ビジョンを見据えられる人材として評価されるかも知れん。
ただこれは卒論で収まる話じゃないね。

495 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:30:48 ]
集合知は本当にアイディア勝負になりそーだな

496 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:37:38 ]
wwwwwwwwww

497 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:44:00 ]
予想通りというか、Javaというよりはアルゴリズムの勝負になってないか

498 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:47:51 ]
だってJavaじゃないとできないことって別に…ね

499 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:49:36 ]
プログラムの価値なんて言語そのものに左右されるわけじゃないし。

やっぱ中身(アルゴリズム)勝負になるのはしゃーないのでは。


500 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 02:35:24 ]
java限定で>>492答えてるやつがいないんだからそんなもんよw



501 名前:デフォルトの名無しさん [2009/09/11(金) 03:33:37 ]
>>494
w3cが既にグーグルにのっとられてるっとことだろw
もともとw3cなんか何の権威もないじゃん。

502 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 12:03:07 ]


503 名前:デフォルトの名無しさん [2009/09/11(金) 12:27:37 ]
ValueOfのOfは何を指しているんですか?
それとgetValueとは違いはあったりするんですか?
関数クラスがあったとして、ある変数の値を得る
メソッドの名前はなににしたらいいですか?

504 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 12:36:02 ]
1個目
valueOfに渡した引数

2個目
インスタンスのフィールド

3個目
getXXX
XXXはフィールド名
CamelCase使用

505 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:08:30 ]
3個目は
変数がxだとしたら
valueOfXの略のvalueOfじゃないんですか?
なぜgetXXXなんですか?
フィールドなんてないんですけど。

506 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:18:25 ]
valueOfは引数を対象にするんだ
String.valueOf(7)ってあったら、メソッドの対象は7だろ
この場合は「7のString型を返せ」だ

>関数クラスがあったとして、ある変数の値を得る

じゃあこの変数って何だ
言葉は正確に頼むぜ

507 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:19:15 ]
xを与えるとyという値をえるメソッドの名前ですよ。

508 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:26:14 ]
それは『引数』と言うのよ
今後気をつけろよ

で、本題だが、関数の機能を名前にすればいい
Math.cosとか

509 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:28:38 ]
関数な機能はクラス名なんで
それは出来ない仕様です。

510 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:31:15 ]
クラスは関数じゃないのに機能名つけてどうすんだアホ


クラス名はPascal形式なら関数名はCamel形式で併用できるはずだが



511 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:35:26 ]
じゃあ、例えばcosのみの関数が入っているクラス名はなににしたらいいんですか?

512 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:43:40 ]
cosのみが入っててもMathで問題ないでしょう?
逆に何が問題だと言うのか。

プロジェクト内だけで使うのならTestProjectMathMethodsとでもするとか。
少しは考えろっての。

513 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:46:42 ]
Mathだと初期化できませんよ。
2Xみたいな関数なら初期化するときに2を入れないといけないじゃないですか。

514 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:48:14 ]
横から一言言わせて貰うと、メンバが1個しかないなら分離する必要性がないと思う。

515 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:49:28 ]
本題からずれてきたな
クラスの設計については聞いてねーぞ

516 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:50:18 ]
適切な設計をしていないから、適切な名前を与えられない

517 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:50:44 ]
>>513
そんなの初期化するまでもねーだろ

public double 2X(double v){ return v*2; }

518 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:51:39 ]
問題がわかってないみたいなので詳しく書くと。
ax+ax^2+みたいなクラスをつくります
Class Polynomial{



519 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:52:31 ]
いい機会だからそれ以外の部分も書け。クラス図とか。

520 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:52:42 ]
aを初期化します
int a;
Polynomial(a){
this.a=a;




521 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:54:08 ]
int xxxxx(int x){
return a*x+a*x^2....;

}
のxxxxxの名前が分かりません。

522 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 13:55:50 ]
Operate(演算)とか

523 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:04:46 ]
untie、work through、resolve
solve、solve for

恐ろしく無駄なやり取りだったね。
>>518-521が初めから書いてあれば速攻答えが出たんだろうけど。

524 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:04:59 ]
apply

525 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:05:58 ]
>問題がわかってないみたいなので

問題はひた隠しだったろアフォ

526 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:08:39 ]
すみませんが、解くとか演算とかは違うと思うんですよ。
10個のなかから1個をランダムに選ぶみたいな計算しなくても答えが出る関数もあるわけだし。
だからvalueOfかgetValueじゃないかなと思っているんですよ。

527 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:08:44 ]
だいたいPolynomial(多項式)のどこが機能名だ。
付き合って損した。

528 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:09:55 ]
>>526
その二つは用途が決まってるからどちらも不正解だ。

529 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:10:38 ]
また何かわけのわからぬことを言い出しました

530 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:12:15 ]
たぶんValueという単語に特別な意味を感じているのだろうw



531 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:12:31 ]
関数の値を得るだからgetValueかvalueOfじゃないのはどうしてですか?

532 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:14:14 ]
getValueは関数の値じゃなくてインスタンスの値用です。
これに限らずgetXXXは基本的にアクセサです。
んで、valueOfはインスタンス生成用です。
どちらも関数用途ではありません。

533 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:17:13 ]
get系はすでに存在する値をただ単に取得するだけという感じが強い
valueOfは一般にインスタンスメソッドじゃない
Valueという単語を入れたいならcomputeValueとかにすれば

534 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:17:31 ]
もうxnituitekeisansuruとでも書いとけよ

535 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:18:50 ]
じゃあValueという単語を入れたいのです><

と初めから書いてくれればいいのに。
面倒くさい奴だ。

536 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:20:09 ]
そんなことより変数の命名規則がわかんねえ・・・

537 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:20:19 ]
計算しない場合もあるのでcomputeは使えません。

538 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:21:27 ]
じゃあただ単にvalueでいいんじゃね

539 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:22:14 ]
面倒だからparseIntに1票。

540 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:22:19 ]
じゃあvalueにします。ありがとうございます。



541 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:23:34 ]
Polynomial p = new Polynomial(2);
int answer = p.value(3);

となるのか。意味分からんな。

542 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:25:48 ]
もういい止めろ終了解決したのこれで終わりこれ以上引きずらないうるさい黙れ

543 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:40:34 ]
これは爆釣ですねと言わざるを得ない

544 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:42:20 ]
後の三平である

545 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:20:24 ]
釣りではなく燃料です
勘違いしないでください
あたまおかしいですよ

546 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:22:02 ]
臭いのがいるな

547 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:48:25 ]
private static List<String> list = new ArrayList<String>();
ってあるけど、なんでstaticにしているのですか?
メリットを教えていただきたい

548 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:49:40 ]
しらねーよw

549 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:57:24 ]
どこにあるんだよw

550 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 20:00:50 ]
声出してワラタw



551 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 20:07:16 ]
複数のインスタンスから参照される共通のオブジェクトを保持するため

552 名前:547 mailto:sage [2009/09/11(金) 20:18:25 ]
>>548-549
JDKのソース

>>551
>共通のオブジェクトを保持するため
なるほど、こういうことですか
>複数のインスタンスから参照される
なんで、複数のインスタンスから参照されるのかは
頭が足りないのでいまいちわかりませんでしたorz

553 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 20:42:42 ]
public class Hoge {
private Hoge() {}
public static void hoge1() {}
public static void hoge2() {}
public static void hoge3() {}
}
もし、メソッドがstaticしかないクラスを作った場合、
デフォルトのコンストラクタを作らせないためにprivate Hoge() {}
みたいなのを作っておくのは普通ですかね?
それとも、staticなメソッドしかないクラスは作るべきじゃないのか

554 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:00:03 ]
>普通ですかね?
どっちでも良い。
一部ではインスタンス化をしないことを明示するために書くべきと頑固に主張する人もいる。
個人的には書いたほうがいいとは思うけど、コメント書けと思う
// dont create instance
private Hoge(){}

>staticなメソッドしかないクラスは作るべきじゃないのか
作らないのはベターとは言われる
とはいえ、拡張性のないようなメソッドはあるわけで、作る事自体には問題なし

555 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:03:49 ]
標準ライブラリのMathクラスが一つの例になる

556 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:01:22 ]
>>554-555
ありがとうございます

Effective javaを読んでいて思ったんだけど、
thisとstaticっていろいろな使い方があっておもしろいね

557 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:01:51 ]
クラスメソッドしか持たないUtilityクラスを作るのは普通
少なくともWeb系であれば

558 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 00:01:00 ]
頭の悪そうな質問で恐縮だが、脱初心者ってどういうレベルのことを言うの?

559 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 00:05:12 ]
Javaをやりつつ童貞卒業したら

560 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 08:37:36 ]
初心者はバズワードです



561 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:23:54 ]
DIコンテナに乗っかってると、
Utilityクラスもstaticメソッドじゃなくして、
インタフェース作りたくならない?

562 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:10:19 ]
それユーティリティじゃない。
ちゃんとオブジェクトに固有の振る舞い持ってる。

563 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:50:51 ]
教えてください。Java初心者の為、意味がわかりません。
Java言語で「変数A = new String(変数B)」と書いたらDevPartnerに
「Stringコピーコンストラクタを使用しています」と言われた
何?

564 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:56:55 ]
>>563
じゃ・・・ば・・・?

565 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 16:13:54 ]
DevPartner?

566 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 16:34:28 ]
>>565
ttp://www.microfocus.co.jp/products/TestingASQ/devpartner_fm/devpartnerjavaedition/
ソース分析ソフト

567 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 16:59:59 ]
市販品じゃねーか
こんなもんがある環境ならレクチャーしてくれる人の1人や2人くらい周囲にいそうなものだが

568 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:15:32 ]
使いこなせもしないのにこんな製品買うのか・・・いいねぇ、金があって

569 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:20:17 ]
貧乏人くやしいのうwwwwwwwwwwwくやしいのうwwwwwwwwwwwww

570 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:27:43 ]
くやしいです



571 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:32:15 ]
そもそも>>563は何を質問しているんだ?
コピーコンストラクタの意味なのか、コピーコンストラクタで警告される理由なのか、
エラーを解決する方法なのか、それとももっと別のことなのか

572 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:48:16 ]
>>571
Stringはイミュータブルなので、本質的にはコピーコンストラクタ呼び出しを必要とする理由がありません。

変数bはaと同じ内部状態を持つ別のオブジェクトとして作成されますが、
bオブジェクトの内部状態を変更することはできません(イミュータブルなため)。

オブジェクトaとオブジェクトbは、そのオブジェクトのライフサイクルの全ての期間において、
全く同じ値を持つ別のインスタンスとして存在し続けることになってしまいます。

以下のコードが理解の助けになるでしょう。

String a = "string";
String b = new String(a);
String c = a;
System.out.println(a == b);
System.out.println(a == c);

結果
false;
true;

573 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:51:28 ]
>>567
>>568
私が持っているのではないので・・・誰も教えてくれる人が周りにいないのですよ。

>>571
レスさんくすです。
すいません、ほんとに初歩的なところからで申し訳ないのですが、
コピーコンストラクタの意味もあまりわかっていないのです・・・。
エラーというわけではなくて、アプリとして動いているけどこの
ソフトで分析すると警告(?)が出るらしい。
ということでとりあえず「コピーコンストラクタで警告される理由」が知りたいところです。

String 変数A = "";
String 変数B = "あたい";
変数A = new String(変数B);

いろいろ調べてみたのですが、もしかしてnewしているのが悪いって事かな?
参考にしたWeb > ttp://www.javaroad.jp/java_character2.htm

574 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:56:48 ]
>>572
レスさんくすです!
おお!どうやら私の調査結果と近い答えが!
一言に要約すると「文字列変数間の文字列コピーにnewを使うな」ってことでOK?
変数A=変数B;
って書けばよかったのかな。

575 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:57:14 ]
Javaを解る人間雇えよ・・・

576 名前:572 mailto:sage [2009/09/12(土) 18:04:19 ]
アンカ間違えてた。スマソ

そうです。newで同じ値を持つ別のオブジェクトをわざわざ作るのは、
bオブジェクトの内部状態を変えても、
その影響がaオブジェクトに響かないようにするためのはずです。

しかし、Stringは値の変更ができないため、
そもそも値が同じ別のオブジェクトを作り出すメリットがありません。

bの値を変えた場合は、新しいオブジェクトとして作成される(プログラマが意識しているかは別として)ため、
同じ値である間は、同じオブジェクトを参照していて問題がありません。

577 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:15:39 ]
自分用にフォント選択ダイアログ作ってたんだけど
親ウィンドウのフォント情報って取得どうすればいいんでしょうか?
フォント情報ごと渡すしかありませんか・・・?
親ウィンドウのgetFontしてもNULLでした

578 名前:563 mailto:sage [2009/09/12(土) 18:18:37 ]
>>576
Java詳しいみなさんありがとうでした!
ふぅ・・・オブジェクト指向?とやらは概念が難しいですね。

ちょっとびっくりしたのは、(あと今後の自分の為のメモ書きとしても)
私がString変数だと勘違いしているStringはClassというオブジェクトであり、
通常Javaはゲッターセッターで内部と値をやり取りしているが、
Stringにはセッターが無い(?)ので、代入をすると毎回コンストラクタが発動(?)して
名前は同じだけど別のオブジェクトとして変数の箱が存在しているという事かな。

じゃぁさ、私みたいにDISKBasic〜VB6時代のPGしかわからん人が考えているような
ループ処理などのカウンタなどにString変数を使うとなんか変な気がしてきた。
これやるとメモリにオブジェクトが大量にできあがってしまうのか!?な?

うぅもうちょっと勉強してみよう。

あと、ソフトに関して書いていた人へ
DevPartnerというソフトは、使ってみるとすごいよ。
コーディングチェックだけじゃなくてメモリ解放し忘れとか
いろいろコンパイルエラーじゃないけど今回のような問題箇所を
ばしばしと見つけてくれるので。で、さっき書いたURLに行けば
体験版DLできるから試してみたら良いと思う。

579 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:25:04 ]
カウンターにString変数・・・?
Stringってオブジェクトじゃなかったっけ・・・変数だっけ?

580 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:32:25 ]
>>563
悪いがEclipseとか無償で入手できるツールで大抵のことは可能なんだわ
有償が悪いとは言わないが、誰も使ったことのないツールよりも相談すれば誰かが回答できるツールのが良い



581 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:36:34 ]
>>578
普通のループカウンタにオブジェクトを使うメリットはみあたらない。
というか、Stringオブジェクトをどうやったらカウンタに使えるのか
わかりません(^^;;
いままでそういう発想をしたことすらなかった

582 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:52:16 ]
>>578

なんていうの
小学生が大学教授に数学の講義でもしようっての?
アドバイスくれてやろうなんてお前には100年早い

583 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:06:50 ]
for(String sCounter = ""; !sCounter.equals("11111"); sCounter += "1"){
 処理
}

584 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:07:43 ]
うっわ。そんなウンコみたいな処理よく考え付くね。

585 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:30:26 ]
そいつの脳じゃこんなんだろ
for(String sCounter = ""; sCounter != "11111"; sCounter = new String(sCounter + "1")){
 処理
}

586 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:30:47 ]
文法的に可能ってだけで、実用上あり得る記述なのか

587 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:34:25 ]
ねーよw

588 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:34:58 ]
遊び心を忘れないって素晴らしいことですよ

よ?

589 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:37:39 ]
ねえよなw
586は最後に?を入れ忘れた

590 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:11:21 ]
>>583
現実に存在したら、全力でハリセンチョップをぶちかましたくなるよーなコードだ……。



591 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:18:31 ]
for(String sCounter="A"; sCounter.charAt(0) != 'Z';

むりか・・・C++ならいけそうだが・・・

592 名前:578 mailto:sage [2009/09/12(土) 21:34:03 ]
>ループ処理などのカウンタ
あぁすいません、みんなを混乱させてしまった。
ループ処理でブレイクキーに
の書き間違いです。

いろいろ書かれちゃったけど、
とりあえず自分の悩みは解決したよ、
みなさんありがとね!

593 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:36:38 ]
>>591
Stringはimmutableだと何度も(ry

594 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:56:11 ]
どうじてもやりたいっていうなら
MutableStringクラス使うんだろうな

595 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:58:58 ]
>>592
ブレイクキーってフラグみたいなもんか?
enum 使おうぜ。

596 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 22:10:43 ]
>>593
>>591をよく読めばいいのに

597 名前:デフォルトの名無しさん [2009/09/12(土) 23:44:45 ]
てかそのDev何とかはワレズとかじゃないの?
オープンのプロジェクトが実用レベルになってるご時世で、それもJavaといったらオープンの中心だろ?
それなのに、いまどき割れ物とかクラックものとかはやってるのかね…
納品するのにどうしても写真屋形式じゃないと駄目、MSワード形式じゃだめってなら使う価値もあるとおもうんだが。

598 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 23:46:13 ]
会社の支給品だろ。

599 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 23:57:03 ]
それより>>577がエスパーすぎる

600 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 00:18:05 ]
>>591
cも満足に出来ないのにそんなこと書かなくてもいいんじゃね
見てて恥ずかしい



601 名前:デフォルトの名無しさん [2009/09/13(日) 00:21:16 ]
それなら会社のやつに聞けよ
MSのでもワードエクセル程度しか興味ないのに、そんなマイナー商品のことなんか知らんわw

602 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 00:22:43 ]
無知が語るなよ。

603 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 01:32:18 ]
>>591のやりたいことって
for(char counter = 'A' ; counter != 'Z' ; counter++){
cout << counter << endl;
}
for(string counter = "A"; counter[0]!='Z'; counter[0]++){
cout << "string"<< counter << endl;
}
じゃないの?これなら普通に動くし、C++ならーとかって意味もわかるが・・・
>>600は何にかみついてるのかわからん

604 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 10:54:05 ]
クロームってJavaも速いって噂ですよね?
ネットブック(cpu 1.4Ghz程度)でもサクサクですか?

605 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 11:00:32 ]

for(char counter = 'A' ; counter != 'Z' ; counter++){

('A' )…

606 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 11:08:15 ]
>>605
何か不満か?Zの分もループしたいか?

607 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 11:09:41 ]
for(int counter = 'A' ; counter <= 'Z' ; counter++){

('A';;;)…

608 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 11:13:11 ]
ああそういう意味か

609 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 11:24:41 ]
何回やりたいのかによるんじゃね
のっとが好きな人と大なり小なりが好きな人といるよね

後、三項演算子嫌う人

610 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 11:57:45 ]
流れを切るようで申し訳ないですがVelocity の質問ってここでいいですか?

Tomcat上で、画面出力ではないテンプレートエンジンとして
Velocityを使いたいのですが、いくつかの点がよくわかりません。

1. 別々の設定(例えばクラスパスからの読み込みとファイルパスからの読み込み)等で
同じTomcat上で動かす可能性があるので、
Velocity クラスではなく VelocityEngineクラスを使う必要があると思いますが
これは合っているでしょうか?

2. VelocityEngineを使うとして、結構頻繁に呼び出す部分で
いちいち初期化するコストが心配なので、
VelocityEngine のインスタンスは設定ごとに Singleton で保持しようかと思うのですが
それでスレッドセーフに使うことが出来ますか?

ご存知の方いたらお願いします。



611 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 12:27:43 ]
とりあえず、やってみればいいのに・・・
やる前に質問してしまう意味がわからない

612 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 12:39:10 ]
Velocityスレなかったっけ?

613 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 12:49:15 ]
>>577
JFrameを継承して作ったメインのウィンドウからThisを渡してDialogのインスタンスを実行
このメインのウィンドウのフォントを取得したいの?

614 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 13:08:58 ]
>>611
自分で試して問題なく動いたからといって、
その実装に問題がないとは限らないので。

特にスレッド間での処理を見るのは、
同時処理自体に失敗している(微妙にずれている)から正常に動いているのか
複数のスレッドから呼ばれても大丈夫なようになっているから正常に動いているのか
判断出来ないなと。

615 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 13:11:22 ]
>>614
いや、まず試す→解析する→それでもわからなきゃ質問
じゃねーのか・・・
質問→やるっておかしいだろう

616 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:04:34 ]
byte a = (byte)0x20;
System.out.println(a);

これを実行すると32となります。
この32は何を表しているのでしょうか?

バイナリの20は半角空白のはずなのですが、なぜか32とでます。
半角空白を出す方法を教えてください。

617 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:06:42 ]
>>616
これだと、単に16進の20を十進出力してるだけだからでしょう

618 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:08:09 ]
>>616
byte a = (byte)' ';
とすれば、できるんじゃない?
やったことないからわからんけど

619 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:09:38 ]
>>616
文字として扱いたいならchar型を使うんだ

620 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:19:56 ]
printlnのどのオーバーロードを使うかで挙動が変わる
文字を出力したいなら、println(char)を使え



621 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:21:10 ]
System.out.println((char) a);

622 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:23:27 ]
charでキャストしたらいけました。ありがとうございまいした。

623 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 16:33:27 ]
>>609
!=好きはC++使い。おそらく++counterと書くだろう。

624 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 19:29:35 ]
>>615
ライブラリのソース解析までしてから質問するスレだったんですね。
勘違いしていました、すみませんでした。
自分で頑張ってみます。

625 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 19:56:16 ]
>>624
いろんな人がいるからね
人によっては細かくおしえてくれるし。
基本、まずは自分でやってみるのが、質問する側の姿勢としては
大切だね

626 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:33:35 ]
プログラミングに触った事のない俺が趣味程度でjavaを始めてみようと思ってるんだけど
参考書みたいなのは明解Java 入門編 (単行本) これで大丈夫かな?
ど素人にオススメの本ってある?

627 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:36:37 ]
やさしいJavaでも読んでろ

628 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:39:12 ]
口調が厳しいのは2ch住人の仕様です

629 名前:デフォルトの名無しさん [2009/09/13(日) 21:58:49 ]
Blobクラスを使い、データベースからバイナリデータ(エクセルファイル)を
出力するとファイルが壊れてしまいます。
どこが悪いのかわかりません。
お詳しい方が居たら、ご教授いただけませんでしょうか?

環境:WindowsVista
データベース:Derby


630 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:01:09 ]
>>610
Velocityは詳しくないが検索したらこれを見つけた。
mail-archives.apache.org/mod_mbox/velocity-user/200601.mbox/%3C001f01c61ab2$f8ff9c80$6500a8c0@Apollo%3E



631 名前:629 [2009/09/13(日) 22:02:18 ]
ソース:

Connection con = DriverManager.getConnection(url, user, pass);

String query = "select * from test";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);

while(rs.next()){
Blob blob = rs.getBlob(3);
InputStream is = blob.getBinaryStream();

FileOutputStream fos = new FileOutputStream("Copy"+rs.getString(2));
BufferedOutputStream bos = new BufferedOutputStream(fos);

int bytes;
byte b[] = new byte[512];
while((bytes = is.read(b)) != -1){
bos.write(b, 0, bytes);
}

}

632 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:14:56 ]
最後closeしてないの?

633 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:14:56 ]
大量の文字を高速にswing上のコンポーネントに、描写する方法はないですか?
できれば、任意にハイパーリンクのようなものを配置したいです

634 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:16:47 ]
普通に描画しても遅い気はしないが?

635 名前:633 mailto:sage [2009/09/13(日) 23:23:29 ]
>>634
だいたい、10万文字くらい表示しようと考えています
なので、部分的に表示しないと重くなります
どうやれば部分的に文字を表示する機能を実装するか、教えていただきたいです

636 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:33:33 ]
想像と桁が違ったわ

637 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:34:56 ]
現在の表示位置と表示エリアの高さとFontMetricsがあれば計算できるでしょ

638 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 00:07:56 ]
10万文字描画したとしても、画面に表示できないと思うんだが

639 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 00:11:21 ]
文字サイズ0.5くらいなんだろ

640 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 00:17:05 ]
>>631
出力されるファイルとオリジナルのファイルで差分とるとなにが違ってる?
ソースは問題なさそうに見えるけど、途中でException吐いて死んでない?



641 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 03:55:10 ]
>>635
もしかしてスクロールさせたいの?

642 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 04:16:29 ]
スクロールさせたいです

643 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 04:29:54 ]
前スレのswingでスレデータを表示したいとか言ってた奴の臭いがする

644 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 05:50:34 ]
>>635
> だいたい、10万文字くらい表示しようと考えています 
> なので、部分的に表示しないと重くなります
本当に重くなるの?

645 名前:629 [2009/09/14(月) 08:21:46 ]
レス遅くなりすみません。
>632
2chだと改行が多すぎると出るので、
必要最低限の部分を書き込みました。

>640
ファイルの差分を調べてみます。
とりあえず、Exceptionは出てません。
(NetBeans6.7で実行しました。)

ありがとうございました。
何か分かりましたら、ご報告いたします。


646 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 08:46:05 ]
EJBの良いところを教えてください。
開発がめんどくさくなるだけのように思えるんです。

647 名前:デフォルトの名無しさん [2009/09/14(月) 08:50:53 ]
>>646
素人はJBOSSでもいじって勉強してろ

648 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 08:56:33 ]
勉強する意味のあるものならいいですがね
あんなのいいところがまったくなさそうなんですが

649 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:01:44 ]
>>647
age素人乙

650 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:03:17 ]
>>649
無能はそれしか言えないようだな



651 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:13:49 ]
>>648
J2EE理解できない君じゃとやかく言う資格はないでしょう。

652 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:26:56 ]
>>651
2chのルールも守れないageおまえが何を言うw

653 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:28:53 ]
アプリケーション開発が目的ではなくEJBを使うことが目的な
プロジェクトが多すぎる

654 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:34:08 ]
>>652
勘違い乙。

655 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 10:23:02 ]
import unnamed.* すると、無名パッケージの全てのクラスを使うことができるのでしょうか?

よろしくお願いします。

656 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 10:32:01 ]
できません

657 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 10:50:40 ]
>>656さん
素早い回答ありがとうございます。

では、import unnamed.* が実装されている目的やメリット等は何なのでしょうか?

よろしくお願いします。

658 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:07:06 ]
わかりません

659 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:17:10 ]
目的、メリットが分からないと手も出せないカスじゃこの先も伸びないだろうな
素人未満の塵といったところか

660 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:21:21 ]
そういうな



661 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:22:31 ]
なんだ民主党員か

662 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:24:40 ]
まぁ大抵の人は動かしてみてから聞くんだろうね。
理論から入る頭でっかちには向いてないよ。
文系が使えないのはそこにあるんだろうね。
理系は実験(ここで言うプログラミング)を通してから考察だし。

663 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:28:45 ]
なんだ理系詐欺もいたか

664 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:29:25 ]
俺は別に必要ないものがあっても気にしないタイプだからなあ

665 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:30:56 ]
とりま技術バカにならないためにも今日も勉強してますかの

666 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:31:54 ]
H2B技術者とJava技術者はどちらが上ですか?

667 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:37:14 ]
自分が分かってない奴と露呈するのが恥ずかしくて、質問する相手を中傷することで自分を保とうとする屑っているよな
答えられない知識不足のくせに自尊心だけ高くて、その上周りに不満や暴言を吐く有害なゴミ
>>658除く

668 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:40:16 ]
◆一番分かっていない公害物質
>>667

669 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:12:05 ]
>>667
ていうか、まだなんで生きてんの?

670 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:15:03 ]
死にたくないからです



671 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:49:10 ]
小学生かお前ら

672 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:52:09 ]
>>652
ageただけで吠える無能
さすがに技術じゃ勝てないか
重箱の隅つつくようじゃ底が知れてるね

673 名前:デフォルトの名無しさん [2009/09/14(月) 13:14:36 ]
何を言ってんだこのゴミはw

674 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:25:48 ]
>>673
2chのルールも守れないageおまえが何を言うw

675 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:29:54 ]
>>674
声に出して読み返してみ?

676 名前:デフォルトの名無しさん [2009/09/14(月) 13:31:06 ]
652 名前:デフォルトの名無しさん[sage] 投稿日:2009/09/14(月) 09:26:56
>>651
2chのルールも守れないageおまえが何を言うw

674 名前:デフォルトの名無しさん[sage] 投稿日:2009/09/14(月) 13:25:48
>>673
2chのルールも守れないageおまえが何を言うw

677 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:34:10 ]
というか、import unnamed.* なんて書けるの?

678 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:35:15 ]
>>672
ええ、技術?
ていうか、死にたくないからっすよね?

679 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:35:29 ]
>>677
やってみたらnetbeansに怒られた

680 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:37:04 ]
netbeans使ってる奴は池沼



681 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:35:42 ]
レイアウトやりやすいんだぞ!

Eclipseに乗り換えようと何度思ったことか

682 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:37:55 ]
YOU乗り換えちゃいなよ

683 名前:デフォルトの名無しさん [2009/09/14(月) 14:46:15 ]
おまえんちはまるで便所だなw

684 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:59:06 ]
それにしてもEJBって必要ないな

685 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 15:52:19 ]
はー
やっとEJBマスターしたけどやっぱめんどくさいだけだな

686 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 15:53:11 ]
>>685
何を持ってマスターなの?

687 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 16:11:47 ]
HelloEJBが表示できた。

688 名前:デフォルトの名無しさん [2009/09/14(月) 18:42:21 ]
逝ってよし

689 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:03:30 ]
スルー力が大事。
この業界こだわっちゃう人が多いし。(いい意味で)

んでEJBは微妙。学習コストが高くて生産性も高くはない。
でも3.0はかなり良くなってるから本気出したほうがいい。


690 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:05:38 ]
2ちゃんねるブラウザを作ろうと、毎日頑張って調べてきたけど
どうしてもV2Cみたいに高速にスレッドを表示できね
ぜんぜん、わかんね



691 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:07:40 ]
何に時間かかってる?


692 名前:デフォルトの名無しさん [2009/09/14(月) 19:10:22 ]
Javaから.Netを使うにはどうすればいいの?

693 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:12:21 ]
>>691
わかんね

694 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:13:20 ]
>>692
JNIでいいんじゃね?

695 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:14:07 ]
>>693
俺にもわかんね。

696 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:18:34 ]
pc12.2ch.net/test/read.cgi/tech/1250369910/872
こんなことやってて速くなるわけねーだろ

697 名前:690 mailto:sage [2009/09/14(月) 20:03:40 ]
>>696
JEditorPaneでやることはスピード以前にいろいろと問題が発生しそうだと気がついたので、
かなり前にあきらめた

>>691
HDDからの読み込み→インスタンス化までは1秒くらいになった
でも、swingコンポーネントに文字を高速表示する方法がわかんね

V2C作者に質問したら、JPanel + DrawString()で描写をしていると教えてもらった
だが、Graphics2Dの管理と高速化の両立は厳しい

698 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 20:05:20 ]
おそらく、ちょっと移動するたびに表示エリア内を全部書き直してるだろ

699 名前:690 mailto:sage [2009/09/14(月) 20:30:34 ]
>>698
その通りだよ。だから、部分的に表示して画面を考えているんだけど
なかなか、簡単にできないからずーっと困っている

Graphics2D.drawString()だと自動で文字列改行をしてくれないし、
スクロールバーもどうやったら適切なサイズ(長さ)にできるのかとか
調べても調べてもヒントになるページが引っかからない

700 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:13:15 ]
単純な計算の積み重ねのような気がするが
横着しようとして詰まってるだけじゃないの



701 名前:デフォルトの名無しさん [2009/09/14(月) 21:15:41 ]
Javaどころかプログラムさえも初心者なものです。

先日、jdk1.6.0_16をインストールしました。
早速、pathとCLASSPATHの設定をしたのですがどうもうまくいきません。
インストールの確認の為にコマンドプロンプトにて、javacやjavac -versionを打ち込んでみるのですが
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と
表示が出るのです。
私のPCにはjdk1.6.0_16の他にC:\ProgramFiles\java\jre6がインストールされていて

path   →%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\ 
CLASSPATH →.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip
QT JAVA  →C:\Program Files\Java\jre6\lib\ext\QTJava.zip

となっています。OSはVISTAです。どなたか解る方、ご教授願います。

702 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:17:12 ]
>>701
>>1

703 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:18:25 ]
>>701
とりあえずwikiでも読んで一通り試してみて
www.wikihouse.com/java/?path,classpath

704 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:18:33 ]
>>701
>>1すら見えない脳みそではJavaは無理です。あきらめなさい。

705 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:24:39 ]
そんな、ひどい…

706 名前:701 [2009/09/14(月) 21:26:11 ]
すいません、あせって>>1をよく見てませんでした。もう一回出直します


707 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:28:13 ]
>>705
2ちゃんねるで質問すると答えが厳しいから、気にすんな
linuxだと環境変数を設定しなくてもよかったりする
よくわかんなかったら、Eclipseでもインストールしろ
インストールを説明するサイトとかで、環境変数の事について調べられる

708 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:29:31 ]
EJBのCMPってどうやってDBとつながってるの?

709 名前:701 [2009/09/14(月) 21:29:42 ]
>>703さん、有難うございますm(__)m

710 名前:701 [2009/09/14(月) 21:30:36 ]
>>705さんも有難うございます。頑張ります



711 名前:デフォルトの名無しさん [2009/09/14(月) 21:36:06 ]
Pathの設定してないじゃん。。


それはそうと、何でJavaのパスやクラスパスくらい自動設定する
ソフトがないんだろうな。。

ただ単に環境変数にPathとクラスパスつけてやればいいだけじゃん。
俺が造ってもいいけど、XPしかもってないし、Vistaがどのフォルダにインスコされて
なんか権限とかぜんぜんしらねから、Visco対応のは作れない。

XPだけでもいいなら、作ってやってもいいが、7もでるしなあ。

なんで、ほかのプログラマはそんくらいの物作って、うpしてやらないんだろうな・・

712 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:37:20 ]
>>707
linuxでもpathを通す必要があるのは変わらない。

713 名前:デフォルトの名無しさん [2009/09/14(月) 21:39:20 ]
>>701
ふんと、2chは不親切だからいやだよな。君が書いた↓
path   →%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\ 
にJavaをインスコしたディレクトリ\binフォルダが追加記述されてないとだめだよ。

Javaをインスコしたディレクトリの中のbinディレクトリを覗いてごらん。
javac.exeがあるはずだよ。コマンドプロンプトも
>javac' は、内部コマンドまたは外部コマンド〜
といってるよね。javac.exeが見つからないっていってるんだよ。
pathをちゃんと設定すれば直るよ。まあ、がんばりいな。

714 名前:701 [2009/09/14(月) 21:44:23 ]
>>713さん

path   →%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.6.0_16\bin
CLASSPATH 現状のまま
QT JAVA 現状のまま
で宜しいのでしょうか?何度もすいません

715 名前:690 mailto:sage [2009/09/14(月) 21:51:25 ]
>>700
>単純な計算の積み重ねのような気がするが
そんなのも、わからないなんて...

ttp://codezine.jp/article/detail/2598?p=2
ttp://blog.4sure.jp/yokoshima/2009/07/02/graphics2d%E3%81%AB%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E6%8F%8F%E7%94%BB/
この2つのページを参考にした
public void paintComponent()をオーバライドしてすべての文字を表示するので
オブジェクトの生成と無駄なループに時間を取られる事はわかっている。
だが、やっぱりstr.length()とかで文字数を数えて地道に計算したほうがいいのか

716 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:58:42 ]
すげぇ
さすが>>1すら見ないだけのことはある
Javaの環境変数設定ができない・・Orz
pc11.2ch.net/test/read.cgi/prog/1252928150/

717 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:02:56 ]
そりゃ、エディタの描画部分なんて自作しようというのは余程の暇人かドMだからな。
java.awt.font.* とかはちゃんと見た?

718 名前:デフォルトの名無しさん [2009/09/14(月) 22:03:40 ]
もうやめちまえ。
おまえじゃ時間の無駄

719 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:06:07 ]
問題のコードとテストドライバがあれば誰かチューニングしてくれんじゃねーの

720 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:12:14 ]
>>708
CMPの名前のとおり、コンテナに管理させたデータソースをコンテナ経由で使ってる



721 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:24:42 ]
>>717
>余程の暇人かドMだからな
コンピュータをやる時はなるべくいろいろな事を、勉強出きるようにしている
それに、思う存分出きるのは今年までだから最後くらいはと思ってね

java.awt.font.*は必要に応じて読んでる

722 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:26:21 ]
とりあえずSwingスレに帰れ

723 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:40:46 ]
>>630
わざわざありがとうございます。
VelocityEngineはスレッドセーフだけど
contextはスレッドセーフじゃないから都度インスタンス作るように
って書かれてるみたいですね、
安心できました、助かりました。

724 名前:デフォルトの名無しさん [2009/09/15(火) 00:28:01 ]
>>701
QTが入っていると、Pathの設定とかうまくいかないみたいだよ↓。
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1416359149
対処方法は自分でぐぐって・・俺はもう寝るから。。QT Javaで検索すればひっかるとおも。

QT使わないとだめなの?Swingとかじゃだめ?
基本的にPathの設定とクラスパスの設定は>>714でいいよ。


725 名前:デフォルトの名無しさん [2009/09/15(火) 00:31:10 ]
>PATHの一番先頭に、
>C:\Program Files\Java\jdk1.4.2_17\bin;
>を追加しましたか?(最後でも良いですが、QTなどが入っていると不具合があったりします


726 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 11:04:45 ]
hibernateって重いな

727 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 11:10:58 ]
iBatisのがお勧めだぞ。
新規でhibernate採用してるとこまだある?

728 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:46:08 ]
関連の強いデータ,ってかPOJOとRDBテーブルって
分離して書きたいけど,分離して読み解きたくないジレンマ

729 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:23:27 ]
HQL便利だな

730 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:06:41 ]
ここ2年くらいJavaから離れていたんですが、最近のO/Rマッパーの主流はiBatisですか?
S2Daoとかhibernateは何回か使ったことありますが、最近のオススメを教えてください



731 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:14:49 ]
一番いいのはO/Rマッピングしないことだよね

732 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:23:45 ]
しないって全部生で書くのか?

733 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:34:17 ]
生はある意味気持ちいいけど生まれたものは責任取らなくっちゃね

734 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:40:20 ]
はしたない

735 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:46:17 ]
なんでO/Rマッピングする派が多いの?


736 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:25:56 ]
詰め直す手間を省きたいから?
UML図からのコード生成から、そういったフレームワークに乗せられるから?

737 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:41:06 ]
ドメインモデル礼賛派が多数を占めてるからじゃね?ケッ

738 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:43:50 ]
マジレスするとS2JDBCが最強
ドメインモデルがけなされるのは業務ファットなプロジェクトで使ってないからだと思う。
そーなってくるとドメインモデルの問題というより設計の問題といえる。

739 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:20:27 ]
public static void main(String[] args) {
new Main().t1();
}

static String str = "str";

public Main() {
str = "hoge";
}
public void t1() {
System.out.println(str);

staticなフィールドに代入すると、どこまで値を保持してくれているんですか?

740 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:28:44 ]
無論死ぬまで



741 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:37:15 ]
>>740
ありがとうございます

742 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:41:15 ]
ワロタ

743 名前:デフォルトの名無しさん [2009/09/15(火) 20:58:11 ]
なんでantなのか?
makefile,batではだめだったのか?
xmlの文字量ならJavaをantのように使えたほうがよかったのに

744 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:11:25 ]
俺もそう思う

745 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:30:07 ]
>>743
ExcelVBAとかからゴリゴリ
Ant生成するときはXMLの方が楽です…。

746 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:36:26 ]
戻り値がStringのメソッドについて質問
処理内容はパラーメータで渡されたStringを、正規表現で5つ取り出して結合するだけです

return str.group(1) + str.group(2) + str.group(3) + str.group(4);

StringBuilder sb = new StringBuilder();
sb.append(str.group(1)); x5
return sb.toString();

ではどちらが早いですか?

747 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:42:30 ]
>>746
変わんないんじゃない?
Stringの+演算って、内部では結局StringBuilderのappendがやってる
内部char変数の足し算で実装されるときいたことがある
ただ、
>return str.group(1) + str.group(2) + str.group(3) + str.group(4);
の部分が
return sb.toString();
と同等のコードにコンパイルされるかは知らないっす

748 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:45:53 ]
>>746
このスレか前のスレに同じような質問があった気がする

749 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:46:04 ]
>>746
d.hatena.ne.jp/suer/20090427/1240758191
なんだが・・・あるぇー、文字列連結ってコンパイル時にStringBufferだか
StringBuilderに置き換えられてなかったっけ?

750 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:48:36 ]
>>749
そうだよな
でも、このhatena記事みると、あれー?って感じだなw



751 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:51:14 ]
コンパイラの最適化オプション-Oとかで結構変わったりするかもな
最新のは最適化オプションがデフォルトで入るときいたこともあるが

752 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:53:55 ]
そりゃループの中で毎回 str += s; してるからだろ
str += s; は str = new StringBuilder(str).append(s).toString(); みたいなことになるから無駄だらけ

753 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:58:13 ]
>>752
つまりはnewしてるのがオーバーヘッドの要因ってこと?
じゃあ、>>746のような+をつなげたような書き方なら
str.append(str.group(1)).append(str.group(2)).....
な感じになって、あんまり変わらない?

754 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:15:56 ]
>>753
途中で定数文字列の足し算が複数回続くとか無い限り、
変わらないと思っていい。

ただ、言語仕様上は別に+演算子は二つのStringオブジェクトの
内容をくっつけたStringオブジェクトを新規作成する、
とだけで別にStringBuilderを絶対に使う、とは書いてないんだよねえ。
java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.18.1.2

755 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:20:32 ]
何回「+」でつなげるかってーのは(あまり)重要じゃない。
Stringのインスタンスが何回生まれるかってことが大事。

756 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:26:07 ]
jadで確認してみた。
String tmp = "";
for (int i=0; i<100; i++) { tmp = tmp + i; }
すると、ループ内で毎回StringBuilderをtmpで作って、i入れて、toStringした
結果を、tmpに入れてる。
0 ldc <String ""> [16]
2 astore_1 [tmp]
3 iconst_0
4 istore_2 [i]
5 goto 30
8 new java.lang.StringBuilder [18]
11 dup
12 aload_1 [tmp]
13 invokestatic java.lang.String.valueOf(java.lang.Object) : java.lang.String [20]
16 invokespecial java.lang.StringBuilder(java.lang.String) [26]
19 iload_2 [i]
20 invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [29]
23 invokevirtual java.lang.StringBuilder.toString() : java.lang.String [33]
26 astore_1 [tmp]
27 iinc 2 1 [i]
30 iload_2 [i]
31 bipush 100
33 if_icmplt 8
最適化しないのね。

757 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:30:39 ]
>>756
すばらしい
逆コンパイルすることで、わかりやすく解析できるな
やっぱnewの連発(インスタンス生成)が問題なんだな

758 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:34:25 ]
このへんはコンパイラ依存

759 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:35:38 ]
C++で作ったコンパイラはやっぱり安心できる

760 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:52:08 ]
8 new java.lang.StringBuilder [18]

これ自体は10ナノ秒/一回程度のコストだから
文字列連結処理全体から見た場合の影響度はきわめて小さい


23 invokevirtual java.lang.StringBuilder.toString() : java.lang.String [33]

問題なのはこれが繰り返されること



761 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:57:30 ]
>>760
なるほど、いっかいいっかい、Stringオブジェクトへ変換
(新規Stringオブジェクトを生成してる)がまずいのか

762 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 23:44:21 ]
まずかどうかは状況次第
10回程度連結しようが普通のアプリじゃオーバヘッドにはならんよ

763 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 23:48:01 ]
StringとStringBuilderの間で文字データを何度もやりとりしてるのが大きいんじゃないかなぁ
StringからStringBuilderへ文字データをコピー、StringBuilderからStringへ文字データをコピー・・・
文字列が長くなるほどつらい

764 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:03:56 ]
java.nio.*が利用出来ない環境で、その実行環境でサポートされている
エンコーディング(ISO-2022-JPやEUC-JPなど)の一覧を取得する方法は
ありませんか?
具体的にはjava.nio.charset.Charset#availableCharsets()相当の情報を
取得する方法が知りたいです。


765 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 01:33:02 ]
sunのjavacはコンパイル時の最適化はあんまりしない。
JITとかにまかせる方。

766 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 02:15:59 ]
jadの入手先が見つかりません。

767 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 02:32:48 ]
googleの一番上に出てくるけど?

768 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 02:37:52 ]
ありがとう、見つかりました。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<160KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef