★★Java質問・相談スレッド132★★
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@そうだ選挙に行こう
2009/08/30(日) 20:02:41JavaScript, 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/
0002名無しさん@そうだ選挙に行こう
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
http://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 ★★
http://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/
0003名無しさん@そうだ選挙に行こう
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
0004デフォルトの名無しさん
2009/08/30(日) 20:42:421.4系は削った方が良くない? 今無償で入手可能なバイナリってセキュリティ的にやばいやつだから。
0005デフォルトの名無しさん
2009/08/31(月) 02:12:40インターネット関係は論外だが、社内で綴じたネットワークで使う分には在処と。
0006デフォルトの名無しさん
2009/08/31(月) 09:05:07決めるには。ラッパークラスを作る以外に方法ありますか?
0007デフォルトの名無しさん
2009/08/31(月) 10:13:390008デフォルトの名無しさん
2009/08/31(月) 10:33:53無いんではないか。特にプリミティブ型はオブジェクトではないので
ポリモルフィズムが実現できない
したがって、OOP的な手法で実装の決定を後回しにできない
0009デフォルトの名無しさん
2009/08/31(月) 10:34:090010デフォルトの名無しさん
2009/08/31(月) 10:39:49(( ( ) ))
(( 人人人 ノ
(( ・ω・ )ノ ))
(( ( つ 丶
〉とノ )))
(_ノ(_)
r⌒⌒⌒ヽ
(( ( ) ))
(( 人人人 ノ
((´・ω・)ノ ))
(( ( つ ヽつ
〉 i ))
(_ノ(_)
r⌒⌒⌒ヽ
(( ( ) ))
(( 人人人 ノ
(( ・ω・ )ノ ))
(( ( つ 丶
〉とノ ) ))
(_ノ(_)
r⌒⌒⌒ヽ
(( ( ) ))
(( 人人人 ノ
((・ω・`)ノ ))
⊂/ ⊂ )
i ヽ
(( (_)^丶_) ))
0011デフォルトの名無しさん
2009/08/31(月) 10:47:12BigDidimalは無いわ
0012デフォルトの名無しさん
2009/08/31(月) 10:50:510013デフォルトの名無しさん
2009/08/31(月) 13:52:14ジェネリクス使え
0014デフォルトの名無しさん
2009/08/31(月) 14:01:55ジェネリクスつかうと足し算とか出来ない。
0015デフォルトの名無しさん
2009/08/31(月) 15:02:040016デフォルトの名無しさん
2009/08/31(月) 15:21:22どっちなんだ?
0017デフォルトの名無しさん
2009/08/31(月) 15:23:17単純に同じforeach文でぶん回したいだけなんだけど。
Arrays.<T>asList(T...)でT[]をシコシコ変換するぐらいかな。
0018デフォルトの名無しさん
2009/08/31(月) 15:25:11必要に決まってるし、ジェネリックスはオブジェクトを作ることもできない。
0019デフォルトの名無しさん
2009/08/31(月) 15:36:060020デフォルトの名無しさん
2009/08/31(月) 15:44:28まず何をしようとしているのかが意味不明。
doubleとBigDecimalじゃあ根底の計算から違うって知ってるよね?
有効桁数とか丸め誤差とかどうなの?
0021デフォルトの名無しさん
2009/08/31(月) 15:50:01使う側の都合に合わせて精度を選べるというのは場合によっては便利かもしれない
Numberクラスあたりにaddとかsubtractとかあればよかったんだろうけど、ないからな
無駄な話だが、型ごとに同じコードを書くしかないんじゃね
0022デフォルトの名無しさん
2009/08/31(月) 15:51:590023デフォルトの名無しさん
2009/08/31(月) 15:52:530024デフォルトの名無しさん
2009/08/31(月) 16:08:270025デフォルトの名無しさん
2009/08/31(月) 16:30:220026デフォルトの名無しさん
2009/08/31(月) 16:32:310027デフォルトの名無しさん
2009/08/31(月) 19:37:490028デフォルトの名無しさん
2009/08/31(月) 19:39:14F1のlivetimingやタカミンのお絵かきチャットが真っ白になって見れなくなった、
みなさんは見れてます?
0029デフォルトの名無しさん
2009/08/31(月) 19:48:390030デフォルトの名無しさん
2009/08/31(月) 19:48:450031デフォルトの名無しさん
2009/08/31(月) 20:03:410032デフォルトの名無しさん
2009/08/31(月) 20:19:000033デフォルトの名無しさん
2009/08/31(月) 20:21:440034デフォルトの名無しさん
2009/08/31(月) 21:14:410035デフォルトの名無しさん
2009/08/31(月) 21:45:470036デフォルトの名無しさん
2009/08/31(月) 22:14:25IE とかアドインの管理かコンパネで Java Plug-in を切り替えたりできない?
俺のは新品なんで今は 1.6.0_15 しか入ってないからよく分かんない・・・
0037デフォルトの名無しさん
2009/08/31(月) 22:31:120038デフォルトの名無しさん
2009/08/31(月) 22:41:05それ最新版じゃないし
0039デフォルトの名無しさん
2009/09/01(火) 02:52:32キャレットが点滅しないようにしたいです。
以下ではうまくいきません。(デフォルトどおり点滅してしまう)
(エラーは出ません)
よろしくお願いします。
//テキストペインを作成する
JTextPane tpane = new JTextPane();
//使用するキャレットを設定する
Caret c = tpane.getCaret();
c.setBlinkRate(0); ←キャレットの点滅間隔をゼロに設定
tpane.setCaret(c);
0040デフォルトの名無しさん
2009/09/01(火) 03:19:36うちの環境(1.6.0_16)では
tpane.getCaret().setBlinkRate(0);
で普通にブリンクが止まったけど、>>39のJavaのバージョンは?
getCaretで得られるCaretはtpaneが保持しているカレットそのものへの参照なので、
わざわざsetCaretしなくても大丈夫。しても構わないけど。
0041デフォルトの名無しさん
2009/09/01(火) 03:59:48プラットフォームはwinXP。
>>39ではテキストペインの作成とカレットへの設定を連続して書いているけど、
実際のプログラムでもそうなってる?
設定する部分が実際には実行されていないというようなことはない?
0042デフォルトの名無しさん
2009/09/01(火) 14:02:33>>41
レスありがとうございます。
ブラウザに問題が合ったようで、
単にスクリプトの修正が反映されていなかったようです。(完全更新したはずが)
失礼しました。
0043デフォルトの名無しさん
2009/09/01(火) 15:13:09早まって自爆するなボケ
0044デフォルトの名無しさん
2009/09/01(火) 19:38:56このクラスのコンストラクタ URL(URL context, String spec) では相対パスを解決してくれるので
とても重宝しているのですが、specがGETパラメータのみの場合に期待した動作をしてくれません。
例えば、ページ
http://example.com/index.jsp
内に
<A HREF="?p=1">
とある場合、ブラウザでは(IE,FFで確認)
http://example.com/index.jsp?p=1
へのリンクを表すのですが、
[コード]
System.out.println(new URL(new URL("http://example.com/index.jsp"), "?p=1"));
で試してみたところ
[結果]
http://example.com/?p=1
となりました。これは、java.net.URLの不具合なのでしょうか。
あるいはこれが正しい動作で、ブラウザの方が標準規格に反しているのでしょうか。
0045デフォルトの名無しさん
2009/09/01(火) 19:58:42自分で処理する
0046デフォルトの名無しさん
2009/09/01(火) 20:41:590047デフォルトの名無しさん
2009/09/01(火) 21:33:02Ctrl+C、Ctrl+X、Ctrl+V等デフォルトで動いてしまうアクセラレータを
任意の処理に書き換えたいのですがどうしたらいいのでしょうか?
0048デフォルトの名無しさん
2009/09/01(火) 21:35:190049デフォルトの名無しさん
2009/09/01(火) 21:36:43試したら使えたけど。
0050デフォルトの名無しさん
2009/09/01(火) 21:38:33ブラウザの方が間違ってると思う。
RFC 2396 の C.1 の例に ttp://a/b/c/d に対して ?y は ttp://a/b/c/?y と解釈されるとあるし。
0052デフォルトの名無しさん
2009/09/01(火) 21:40:50JTextAreaのgetInputMap()のCTRL+CとかCTRL+XとかCTRL+Vのエントリに適当なダミーのオブジェクトを入れる
ちなみにMacではMETA+CとかMETA+XとかMETA+Vのはずなので注意
キーバインド全部消し去りたいなら新しい空のInputMapをnewしてsetInputMapした方が楽かもしれない
005352
2009/09/01(火) 21:43:46じゃあActionMapの対応するエントリもセットする必要がある
まぁJavadocでも読みながらやってみればできると思う
005444
2009/09/01(火) 21:45:14RFCまで示してくれてありがとうございます。
やっぱりブラウザの方が、おせっかいしてくれてるだけだったのか〜。
でも、ページ作成屋さんは「ブラウザで動くから」ってことで既にこの書き方が
世の中に氾濫してしまってるようなので、システム屋はやはり泣く泣く >>51 みたいに
するしかないのでしょうね。。。
0055デフォルトの名無しさん
2009/09/01(火) 21:48:47「ttp://a/b/c/に対して」の間違いじゃね?
0056デフォルトの名無しさん
2009/09/01(火) 22:00:14JTextAreaのInputMapに登録されている書き換えたいキーストロークのバインディングを変更する。
例えばCtrl+Cならcopy-to-clipboardというアクション名にバインドされているので、これを必要な処理を表すものに変える。
必要な処理を表す既存のアクション名がない場合は新しく任意のアクション名を作成して、
InputMapにキーストロークとそのアクション名の組を登録した上で、
JTextAreaのActionMapにそれをキーとし必要な処理を実装したActionへのマップを追加する。
0057デフォルトの名無しさん
2009/09/01(火) 22:58:20データソースを使用して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>
上記警告を取り除くには、どう記述したら良いでしょうか?
0058デフォルトの名無しさん
2009/09/01(火) 23:04:48もともとXMLについてた公開識別子つけたら?
<!DOCTYPE PUBLIC ~~>
0059デフォルトの名無しさん
2009/09/01(火) 23:08:17どこの業界用語?
006057
2009/09/01(火) 23:33:28Context.xml の内容はネットで得た情報を元に新規に作成したもので
参考にした Web サイトには DTD や XML スキーマの記述はありませんでした。
Tomcat にも conf/Context.xml がありますが、これにも特にそのような記述はありません。
試しに「<!DOCTYPE PUBLIC>」だけ追加してみたら、警告はなくなりましたが
全然理解できていないので、きっと間違いなんでしょう。
0061デフォルトの名無しさん
2009/09/01(火) 23:44:58そもそもDTDないっぽいね。
ってか警告出してるのEclipseか。
じゃあ、無視ってOK。
0062デフォルトの名無しさん
2009/09/02(水) 00:04:02ウェブ製作もやっている身から言わせてもらうが、相対リンクが?から開始ってかなり行儀悪いぞ
0063デフォルトの名無しさん
2009/09/02(水) 00:27:190065デフォルトの名無しさん
2009/09/02(水) 00:52:36「ページ作成屋さん」てのは一体なんですか?
「システム屋はやはり泣く泣く」ってなんのことですか?
卑怯な教えて君が一番嫌われますからちゃんと答えてもらえませんかね?
0066デフォルトの名無しさん
2009/09/02(水) 01:00:31何でそんなに必死なんだ。
0067デフォルトの名無しさん
2009/09/02(水) 01:14:350068デフォルトの名無しさん
2009/09/02(水) 01:23:48「ページ作成屋さん」でググって出なかったから答える。
ウェブデザイナーのこと。
0069デフォルトの名無しさん
2009/09/02(水) 01:34:450070デフォルトの名無しさん
2009/09/02(水) 02:11:070071デフォルトの名無しさん
2009/09/02(水) 02:25:210072デフォルトの名無しさん
2009/09/02(水) 02:26:46具具って見たんですけど、もしかして「お弁当屋さん」と似たものですか。
0073デフォルトの名無しさん
2009/09/02(水) 02:56:13・単一行(=改行は不可)
・入力文字数(列数)を制限
Jtextareaにあるような、メソッドはないようなので、
困っています。
よろしくお願いします。
0074デフォルトの名無しさん
2009/09/02(水) 03:05:48追記です。
・自動改行(行がある程度文字が埋まると自動で改行する)
をなくす
キーボードからの改行は、キーボード入力のイベントリスナを、
改行を受け付けないようにすればいいと考えています。
よろしくお願いします。
0075デフォルトの名無しさん
2009/09/02(水) 04:03:560076デフォルトの名無しさん
2009/09/02(水) 05:18:12レスありがとうございます。
アトリビュート編集機能」が必要です。
そこで、Jtextpaneを選択しています。
0077デフォルトの名無しさん
2009/09/02(水) 07:11:070078デフォルトの名無しさん
2009/09/02(水) 07:30:030079デフォルトの名無しさん
2009/09/02(水) 08:00:01それを一度 LinkedList に入れて処理をした後に
またint型の変数に戻そうとしたら
Object を int にキャストできませんとエラーになりました。
Object型をint型に正常に変換するにはどうすればいいのでしょうか?
0080デフォルトの名無しさん
2009/09/02(水) 08:08:05使っているJavaのバージョンとLinkedList変数の宣言をどうぞ。
0081デフォルトの名無しさん
2009/09/02(水) 08:25:18バージョンはjre1.6.0_03
LinkedList list = new LinkedList();
list.addFirst(x);
int ans = (int)list.get(i);
こんな感じでコンパイルすると上述のエラーになりました。
008279
2009/09/02(水) 08:37:31LinkedList<Integer> list = new LinkedList<Integer>();
とするだけでできました。
ありがとうございました。
0083デフォルトの名無しさん
2009/09/02(水) 09:41:22ボクシングとジェネリクスは理解しておかないとアホさらすぞ
008479
2009/09/02(水) 09:45:22削除とかはしていないです。
正直全然ジェネリクスをわかっていません。
ボクシングに至っては今初めて聞いたような状態です。
勉強しておきます・・・
アドバイスありがとうございます。
0085デフォルトの名無しさん
2009/09/02(水) 11:36:52文字コードを変更したいです。
しかし、jspでは、pageディレクティブにて文字コードを静的に
設定してしまっており、動的に切り替えることができないように思います。
※jsp中にてsetContentを行っても、JspPrintWriterが作成されてしまった
あとなので文字化けを起こしてしまいます。
そもそも、jsp単体での動的なContentTypeの変更はムリなのでしょうか?
0086デフォルトの名無しさん
2009/09/02(水) 11:40:450087デフォルトの名無しさん
2009/09/02(水) 12:07:120088デフォルトの名無しさん
2009/09/02(水) 12:30:56008985
2009/09/02(水) 12:51:06現在、filterをかまして自作PrintWriterを使わせるようにして、
colse or flush されるタイミングで任意のContentTypeを吐く
ようにしているのですが、あまりにも、あまりにもと思ったので…
参考になりました。ありがとうございました。
0090デフォルトの名無しさん
2009/09/02(水) 13:46:13昼まっから遊んでるアマチュアばっかりかよ
0091デフォルトの名無しさん
2009/09/02(水) 18:07:030092デフォルトの名無しさん
2009/09/02(水) 20:32:59ガリガリと書いたのではスピードどのくらい違いますかね?
0093デフォルトの名無しさん
2009/09/02(水) 21:28:00実測するしか。直観では、ネットワークの方がはるかに遅いから対して変わらないように思うけど。
もっとプリミティブなレイヤーから書いた場合には、アクセスパターンに対する最適化やバッファリングの仕方などで大きな差が出るかも。
0094デフォルトの名無しさん
2009/09/02(水) 21:41:090095デフォルトの名無しさん
2009/09/02(水) 22:06:46>ネットワークの方がはるかに遅いから対して変わらないように思うけど
なるほど、たしかにそう言われてみれば
わかりました。ありがとうございます
0096デフォルトの名無しさん
2009/09/02(水) 22:36:13どこかにサンプルコードはありませんですか?
delphiなどでは普通につかって、forループしてますけど。
0097デフォルトの名無しさん
2009/09/02(水) 22:41:37delphi言語を使えばいい
0098デフォルトの名無しさん
2009/09/02(水) 22:47:24使いたきゃ使えばいい。
ArrayIndexOutOfBoundsExceptionが出るだけだが。
0099デフォルトの名無しさん
2009/09/02(水) 22:50:280100デフォルトの名無しさん
2009/09/02(水) 22:52:510101デフォルトの名無しさん
2009/09/02(水) 23:03:39スレ違いでスマンが
0102デフォルトの名無しさん
2009/09/02(水) 23:15:04例えば風の計算するとき、境界条件の計算に、
計算領域の2〜3個外側の値(ダミーの値)を使う
ことがあるんだけど、そのときにマイナス添え字
の配列があると楽なんです。
0103デフォルトの名無しさん
2009/09/02(水) 23:39:590104101
2009/09/02(水) 23:56:30書いてくれた説明はさっぱり解らないけど検索して調べたら解った
Javaの場合は添え時の部分でマイナスにならないように値を加算すればいいんじゃない
例えば
for(int i=-100;i<100;i++){
d[i+100] = i;
}
みたいな感じで
0105デフォルトの名無しさん
2009/09/03(木) 00:03:23ぼくは配列のほうじゃなくて、カウンタの部分を補正しようか、
あるいはポインタを使うとスッキリとするんじゃないかとも思
ったけど。
なるほどです。それでやってみます。ありがとう。
0106デフォルトの名無しさん
2009/09/03(木) 00:45:01allocしてくれる配列かリストが欲しいって言ってたってこと?
代入不能な負のインデックスってだけなら
メソッドかませばいいだけの話だしなあ。
0107デフォルトの名無しさん
2009/09/03(木) 01:00:150108デフォルトの名無しさん
2009/09/03(木) 01:53:55それ単にダミーが終わるindex + nでアクセスすればいいんじゃないの?
0109デフォルトの名無しさん
2009/09/03(木) 15:28:01今からJAVAは無理?
というかむずかしい?
0110デフォルトの名無しさん
2009/09/03(木) 15:29:000111デフォルトの名無しさん
2009/09/03(木) 17:49:34他の人に聞いたら、業務では内部クラスは使わないよって言っていた
そこんところ、本当はどうなの?
0112デフォルトの名無しさん
2009/09/03(木) 17:56:33もちろん使いまくりはダメだが、適切に使う分には強力な武器になる。
業務もクソも関係ない。
0113デフォルトの名無しさん
2009/09/03(木) 17:57:26携帯みたいな容量きつい環境ではあまり無闇に使うわけにはいかないけど
デスクトップやサーバならまったく問題ない
0114デフォルトの名無しさん
2009/09/03(木) 18:56:450115デフォルトの名無しさん
2009/09/03(木) 19:09:02どうしたらいいですか。
a[ ] =+ b[]
こんなかんじでしょうか?
0116デフォルトの名無しさん
2009/09/03(木) 19:13:45System.arraycopy
0117デフォルトの名無しさん
2009/09/03(木) 20:14:30ちょっと大きめの書店に行ってみましたが、見つかりませんでした。
良い本があれば教えてください!
0118デフォルトの名無しさん
2009/09/03(木) 20:15:590119デフォルトの名無しさん
2009/09/03(木) 20:17:260120デフォルトの名無しさん
2009/09/03(木) 20:18:490121デフォルトの名無しさん
2009/09/03(木) 20:21:12非効率過ぎる
微妙に畑が違うが、Win32APIのリファレンスなんて3000ページ以上あったぜ
0122117
2009/09/03(木) 20:25:37自分で書いたコードの解説をHTML形式で作成できる機能でしょうか?
0123デフォルトの名無しさん
2009/09/03(木) 20:25:490124デフォルトの名無しさん
2009/09/03(木) 20:28:31これだ
http://java.sun.com/javase/ja/6/docs/ja/api/index.html
標準で入ってるあらゆるクラス・インタフェイス・メソッド・フィールドが載っている
0125デフォルトの名無しさん
2009/09/03(木) 20:28:57とりあえず↓で事足りないかい?
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/
0126デフォルトの名無しさん
2009/09/03(木) 20:29:490127デフォルトの名無しさん
2009/09/03(木) 20:35:30十分事足ります!
>>124さんのリンクのほうが新しいみたいですね。
機能からの逆引きの仕方がわかりませんけど、ブックマークして後で部分的に目を通してみます。
(Firefoxでスクリプトの処理に時間がかかる、みたいなダイアログが出ますけど…)
ありがとうございました!!
0128デフォルトの名無しさん
2009/09/03(木) 20:37:540129デフォルトの名無しさん
2009/09/03(木) 20:50:560130デフォルトの名無しさん
2009/09/03(木) 20:54:520131デフォルトの名無しさん
2009/09/03(木) 21:43:49総称型配列を返すメソッドを持つクラスを楽に作れるような改良は、予定に
ありませんか?
class GenArray<T> {
public T[] RetArray() {...}
}
というか、T[] = new T[100]; もできんし。
0132デフォルトの名無しさん
2009/09/03(木) 22:00:110133デフォルトの名無しさん
2009/09/03(木) 22:10:410134デフォルトの名無しさん
2009/09/03(木) 22:14:490135デフォルトの名無しさん
2009/09/03(木) 22:24:06某クラウドのWEBサービスのプロキシで配列渡すんだけど、一回に渡せる
個数が制限されていて何回も分割して処理しなきゃならないんだ。
んで、指定した個数の部分配列をイテレータみたいにgetNext()できるクラス
を書いたんだけど、総称型つかえねーよとコンパイラに怒られた。
仕方なくList<T>返すようにしてtoArray(new String[0])して渡したんだけど、
これはちょっとなぁぁと思った。
0136デフォルトの名無しさん
2009/09/03(木) 22:33:16「これはちょっとなぁぁ」と思っても仕方がない
Javaの場合、後方互換性を保つため、実行時には型情報はなくなる
なので、明示的な型を指定しない限り配列は作ることが不可能
おかげで1.4の頃のライブラリが使えるんだから諦めてくれ
0137デフォルトの名無しさん
2009/09/03(木) 23:57:08リフレクションじゃいかんの?
0138137
2009/09/04(金) 00:15:02T[] array = (T[]) java.lang.reflect.Array.newInstance(elem.getClass(), 100);
>>135の要件だと、
配列に詰める(適当な)要素のオブジェクトからgetClassしないとダメ。
ただしT[]作る時の要素はTのサブクラスだとダメ。
TのサブクラスでT[]作っても、T入れる時点でArrayStoreExceptionが出る。
明示的にクライアントAPIからClass<T>貰うのが
配列型の共変が無くて一番無難。
0139デフォルトの名無しさん
2009/09/04(金) 00:23:08こっちも見とけ。
JDK 6 ドキュメント
http://java.sun.com/javase/ja/6/docs/ja/index.html
公式のドキュメントは全部ここからたどれる。
0140131
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
0141デフォルトの名無しさん
2009/09/04(金) 01:20:07T[] copy = ((Object)newType == (Object)Object[].class)
? (T[]) new Object[newLength]
: (T[]) Array.newInstance(newType.getComponentType(), newLength);
0142デフォルトの名無しさん
2009/09/04(金) 02:29:24ありがとうございます。
64個配列作って、
一部分だけ、指定したい。
1, String image_gif[ ] = new String[64];
2, image_gif[ ] = {"panda.gif","midori.gif","hi.gif","nobasu.gif","ha.gif","",};
2行目の書き方がとても楽。
→けど、これではエラーになる。
→2つ配列を作って、くっつけよう。
そこで質問しました。
0143デフォルトの名無しさん
2009/09/04(金) 12:03:16クラス名を HOGE010010 とか記号でつけて管理台帳で管理するような現場だと
*.java と *.class の数がそろわず管理できないから
というわけのわからん理由で内部クラスが禁止になったりする
0144デフォルトの名無しさん
2009/09/04(金) 12:05:59そうなると、匿名クラスも禁止?
0145デフォルトの名無しさん
2009/09/04(金) 12:25:45イミフw
0146デフォルトの名無しさん
2009/09/04(金) 12:37:25そんなアホな現場があるなんて信じられないし信じたくない
そう思っていた時期が俺にもありました
0147デフォルトの名無しさん
2009/09/04(金) 13:00:08内部クラスサブクラス禁止で1クラス3000行とか普通にあるww
0148デフォルトの名無しさん
2009/09/04(金) 13:05:520149デフォルトの名無しさん
2009/09/04(金) 15:58:37アマチュアの製作現場ですね
よく分かります
0150デフォルトの名無しさん
2009/09/04(金) 18:20:000151デフォルトの名無しさん
2009/09/04(金) 18:45:040152デフォルトの名無しさん
2009/09/04(金) 18:53:21経験の無いツールに移行する時は、どの前提が間違っているか分からないまま詳細設計とかに進むこともまま。
0153デフォルトの名無しさん
2009/09/04(金) 19:04:31<アマチュアの製作現場ですね
0154デフォルトの名無しさん
2009/09/04(金) 19:07:28そういうところほど、いいお金をもらってる…
0155デフォルトの名無しさん
2009/09/04(金) 20:45:40常駐してるjavaプログラムAに対して
新しくコマンドプロンプトを開き、そこからデータを送信することおは可能でしょうか?
パイプとか、いろいろ調べてみたんですがなかなかー・・・
0156デフォルトの名無しさん
2009/09/04(金) 20:51:340157デフォルトの名無しさん
2009/09/04(金) 20:59:31Java→Java
みたいに言語間で通信できるのはわかったんですが
DOS窓から直に送るって方法がわからんのです(´・ω・`)
0158デフォルトの名無しさん
2009/09/04(金) 21:02:580159デフォルトの名無しさん
2009/09/04(金) 21:03:34データグラムだとたまに取りこぼしがあるとか言う話ですがどういうときに発生するんですか?
0160デフォルトの名無しさん
2009/09/04(金) 21:09:30伝送路が混んでるときとか
0161デフォルトの名無しさん
2009/09/04(金) 21:13:07大量のデータを裁かなくてはいけないので
その都度プロセスを起動するのは心もとなくて
同時に300くらいは軽く裁きたいのです
0162デフォルトの名無しさん
2009/09/04(金) 21:35:55お前は何を言っているんだ?
0163デフォルトの名無しさん
2009/09/04(金) 21:44:051行ずつ常駐してるJavaに送信したいんですが
たった一回の起動で可能なのです?
調べてみたんですが、今ひとつわからないのでヒントを(´・ω・)
0164デフォルトの名無しさん
2009/09/04(金) 22:00:510165デフォルトの名無しさん
2009/09/04(金) 22:09:38配信するときTTLの寿命で死んじゃうからパケットは消滅するんですか?
そうするとメッセージが渡ったかどうかチェックする必要があるのでTCPしかないですよね。
0166デフォルトの名無しさん
2009/09/04(金) 22:19:12まず、これが何のことだか
0167デフォルトの名無しさん
2009/09/04(金) 22:25:09TCPが持つ他の機能は不要で、メッセージが必ず渡ることだけを保証するのなら、
データグラムの上にそういうプロトコル階層を作るか持ってきて乗っけるという手もある。
この話題はJavaとは無関係なのでネットワーク関係のスレへいけ。
0168デフォルトの名無しさん
2009/09/04(金) 22:27:12消滅というか、送信先にたどり着かないこともあろう
送信した方もちゃんと届いたかどうかわからない
そういうのが要らない場面で使うのが前提
0169デフォルトの名無しさん
2009/09/04(金) 23:32:550170デフォルトの名無しさん
2009/09/04(金) 23:37:02サンのサイト死んでない?
0171デフォルトの名無しさん
2009/09/04(金) 23:37:560172デフォルトの名無しさん
2009/09/05(土) 00:07:240173デフォルトの名無しさん
2009/09/05(土) 00:19:49SOCKETやRCPをも含め結局メッセージはOSが必要でJAVAだけじゃ無理ってことでいいですか?
0174デフォルトの名無しさん
2009/09/05(土) 00:20:580175デフォルトの名無しさん
2009/09/05(土) 01:33:37http://pc12.2ch.net/test/read.cgi/tech/1193757528/
0176デフォルトの名無しさん
2009/09/05(土) 01:51:40ちょっとアスカに馬鹿にされてくる・・・。
0177デフォルトの名無しさん
2009/09/05(土) 01:52:10意味不明過ぎる。
Javaが動くにはOSが必要だし、Javaのネットワーク機能はOSの機能を呼び出してるだけ。
あと、UDPで信頼性が欲しけりゃUDPの上に俺々プロトコルを構築すればいい。
0178デフォルトの名無しさん
2009/09/05(土) 02:18:250179デフォルトの名無しさん
2009/09/05(土) 02:36:04TCPで信用ならないってどういうときですか?
SHA-1とかパケットがちゃんと届いたかどうかの信用性に関係ないでしょ。
0180デフォルトの名無しさん
2009/09/05(土) 02:38:24他アプリへのメッセージはJAVAでは原則サポートしてないでしょ。
RPCとかOS関係ないし、さっきはメッセージならsocket使えっていったよね?
0181デフォルトの名無しさん
2009/09/05(土) 02:39:46構って君なのでしばらく付き合ってやってください
0182デフォルトの名無しさん
2009/09/05(土) 02:59:490183デフォルトの名無しさん
2009/09/05(土) 04:16:37その「他アプリへのメッセージ」って具体的に何よ。
Javaが標準でサポートしてる、ソケットやRMIやCORBAは「他アプリへのメッセージ」に入らないのか?
0184デフォルトの名無しさん
2009/09/05(土) 04:16:590185デフォルトの名無しさん
2009/09/05(土) 04:19:20はいりません
0186デフォルトの名無しさん
2009/09/05(土) 06:34:23XML-RPCも入れてあげて下さい
0187デフォルトの名無しさん
2009/09/05(土) 07:05:13Windowsメッセージと誤解しているとエスパー。
0188デフォルトの名無しさん
2009/09/05(土) 09:20:350190デフォルトの名無しさん
2009/09/05(土) 10:02:20クラス名がAじゃなくても何でもよくて名前の前や後ろに文字を付け加える方法でお願いします。
0191デフォルトの名無しさん
2009/09/05(土) 10:10:36Readerにバッファリングを付けたから BufferedReader とか、追加機能にちなんだ
名前をつける以外には正解は無い。
正直な話、「メソッドを追加した」という情報だけの質問が、まじめな答えが戻って
くるような質問だと思っているのか?と小一時間略
0192デフォルトの名無しさん
2009/09/05(土) 10:12:28機能をつける場合は何をつけますか?
0193デフォルトの名無しさん
2009/09/05(土) 10:22:34馬鹿に付ける薬
0194デフォルトの名無しさん
2009/09/05(土) 10:39:30今思いついただけのいい加減なクラスだろうから、「000」「001」でOK
ユーティリティ以外でそんなクラスをつくるなら、関数に戻した方がいい
0195デフォルトの名無しさん
2009/09/05(土) 10:52:570196デフォルトの名無しさん
2009/09/05(土) 10:54:460197デフォルトの名無しさん
2009/09/05(土) 11:01:140198デフォルトの名無しさん
2009/09/05(土) 11:05:16例えば配列を繋げたりするようなものなどが沢山入ってます。
>>195
有難うございます。
0199デフォルトの名無しさん
2009/09/05(土) 11:06:580200デフォルトの名無しさん
2009/09/05(土) 11:08:480201デフォルトの名無しさん
2009/09/05(土) 11:08:550202デフォルトの名無しさん
2009/09/05(土) 11:10:120203デフォルトの名無しさん
2009/09/05(土) 11:12:31AWithSupportingSomeOperations
0204デフォルトの名無しさん
2009/09/05(土) 11:13:57ManyBigBenClass
0205デフォルトの名無しさん
2009/09/05(土) 11:14:140206デフォルトの名無しさん
2009/09/05(土) 11:14:56Manyなのかは審議が必要
0207デフォルトの名無しさん
2009/09/05(土) 12:03:54DOS窓とやり取りするって話じゃなかったっけ?
0208デフォルトの名無しさん
2009/09/05(土) 13:42:56リスコフの置換原則に反するからそういう設計はしない。
0209デフォルトの名無しさん
2009/09/05(土) 13:47:39反してませんよ?
クラスをコピペして別のクラスをつくってやってますから。
なぜかというと、再帰を使っているので、
0210デフォルトの名無しさん
2009/09/05(土) 14:12:40DRYの、
0211デフォルトの名無しさん
2009/09/05(土) 17:03:58他にいい感じのjava本ないか
0212デフォルトの名無しさん
2009/09/05(土) 18:45:59君は何もわかってないバカなんだから
これ以上しゃべらない方がいいよ
>>211
軽快なJava
0213デフォルトの名無しさん
2009/09/05(土) 19:05:570215デフォルトの名無しさん
2009/09/05(土) 20:09:01Java魂 だけどEffectiveの前に読むレベルの本
0216デフォルトの名無しさん
2009/09/05(土) 20:20:37APIドキュメント読んだほうがましなぐらいの本
Javaチュートリアルのほうが無料で内容濃くてどこでも読める
0217デフォルトの名無しさん
2009/09/05(土) 20:25:28Effective Javaホントに読んだことあるのか?
0218デフォルトの名無しさん
2009/09/05(土) 20:29:33俺もその本はあんまり薦めんよ
0219デフォルトの名無しさん
2009/09/05(土) 20:31:33入門書なんて日本語でしか読めない人向けだし
0220デフォルトの名無しさん
2009/09/05(土) 21:15:570221211
2009/09/05(土) 21:19:33ありがとうございます
>>217
昨日かったばっかりだから、まだ読んでいないよ
学生なのでお金がなかなか貯らないから、次に買う本を今のうちに決めたいと思ったわけ
今回はEffetive javaを買ったの理由は、知人に読んどけみたいな事を言われたからです
apach jakarta common関係の本がおもしろそうだったので買おうと思ったのですが、森博嗣の本が欲しかったのでやめました
以前から「java 魂」、「Javaネットワークプログラミングの真髄」あたりが気になっています
0222デフォルトの名無しさん
2009/09/05(土) 21:30:55効率良く情報を仕入れるための仕組みが「本」なわけで。
> 入門書なんて日本語でしか読めない人向けだし
意味不明。
0223デフォルトの名無しさん
2009/09/05(土) 21:41:04おまえは日本語すら読めないカスw
0224デフォルトの名無しさん
2009/09/05(土) 21:46:430225デフォルトの名無しさん
2009/09/05(土) 21:54:24英語も日本語も読めないだけでしょ
0226デフォルトの名無しさん
2009/09/05(土) 22:02:510227デフォルトの名無しさん
2009/09/05(土) 22:24:310228デフォルトの名無しさん
2009/09/05(土) 22:38:04Effectiveも日経SJCPのも全部日本人じゃない
0229デフォルトの名無しさん
2009/09/05(土) 23:21:26APIdocとチュートリアルだけで10年目ですね私
一回も本読んだこと無いです
はっきり言って不要でした
0230デフォルトの名無しさん
2009/09/05(土) 23:23:02書き写しは出来ないこの業界ですから
0231デフォルトの名無しさん
2009/09/05(土) 23:42:05はいはい、凄いでちゅね
0232デフォルトの名無しさん
2009/09/05(土) 23:43:06真髄まで知りたいならそれでいいんじゃないの。
といってもどうせこの板に来る鼻糞君たちは、「SQL叩いて今流行りのジャヴァだぜ!」「ジャバってないとバカだよね〜」が大半だと思いますけど・・・
0233デフォルトの名無しさん
2009/09/05(土) 23:44:320234デフォルトの名無しさん
2009/09/05(土) 23:48:26それでどういうアプリ(ツール)作ったんですか?
まさか10年もやってるのに未だにアプレットでアニメーションとかなわけないですよね。
0235デフォルトの名無しさん
2009/09/05(土) 23:58:37資格試験のために読んだだけw
0236デフォルトの名無しさん
2009/09/06(日) 00:06:02イディオムとかサードパーティ製のライブラリ使いたいときに
いちいちネットブラウジングするのが面倒になる
0237デフォルトの名無しさん
2009/09/06(日) 00:40:38なわけないよねw
いろいろ作ったよ
0238デフォルトの名無しさん
2009/09/06(日) 00:49:030239デフォルトの名無しさん
2009/09/06(日) 00:55:54無理しなくていいよw
0240デフォルトの名無しさん
2009/09/06(日) 01:08:42悪いコードを書かないためとか、教養とかそういう意味では
Effective Javaを読むのは必要。
シリアライズ、マルチスレッド、Enum、Generics、Annotation
などの機能について正しい認識を持つことが大事だしね。
やっつけ仕事するだけなら読む必要は全く無い。
英語のチュートリアルもいいけど、Java使ってる大半の現場で
英語まともに読める奴に出会ったことないんだが。
まあ、本を批判するのもいいけど、
それならきちんとURLの一つもかけないのかな。
これはすばらしい記事だったとか。
0241デフォルトの名無しさん
2009/09/06(日) 01:16:55Probably some programmers agree with me.
0242デフォルトの名無しさん
2009/09/06(日) 03:40:37String 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 個
アプレットなのが原因でしょうか。
よろしくお願いします。
0243デフォルトの名無しさん
2009/09/06(日) 04:08:48どっか括弧閉じ忘れてるんだと思う。
Javaは基本的に変数名らくだ型だよ。
image_gif_tempならimageGifTemp
0244デフォルトの名無しさん
2009/09/06(日) 04:13:51どこにそんな馬鹿な引数の渡し方をしている入門書があったんだ?
ちゃんと金を払って買ったJavaの入門書で一から文法を勉強し直せ。
0245デフォルトの名無しさん
2009/09/06(日) 04:14:48レスありがとうございます。
>>141行目をコメントアウトしてもっかいやってみるとどうなる?
コンパイル終了 (^−^;)
らくだ型」?
ちょいとぐぐって調べてみます。
0246デフォルトの名無しさん
2009/09/06(日) 04:19:00コードからみて>>142と同じ人なんだろうけど自分勝手に文法を妄想してはいかんよ
引数の中の変数に[]なんてなぜ付けようと思ったの
0247デフォルトの名無しさん
2009/09/06(日) 04:20:31変数の命名規則を調べるよりももっと大事なことを調べるべきだろうが
0248デフォルトの名無しさん
2009/09/06(日) 04:27:26String image_gif[]というように宣言もできるけれど
これはあまり推奨されない書き方で
String[] image_gifと宣言した方がいいと思うよ
メソッドに渡す変数もString[]型を渡すのなら変数名だけを書くことになる
0249デフォルトの名無しさん
2009/09/06(日) 04:27:31「プログラムなんて動けばいんだろ!」と言ってくる奴を黙らす方法を知らない。
0250デフォルトの名無しさん
2009/09/06(日) 04:34:22精一杯の見栄張り乙
0251デフォルトの名無しさん
2009/09/06(日) 04:36:190252デフォルトの名無しさん
2009/09/06(日) 04:38:06そういうコードは動いていてもたいてい正しく動いていないなw
0253デフォルトの名無しさん
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);←修正
0254デフォルトの名無しさん
2009/09/06(日) 09:42:00意図がわからんが、その場合ha.gifはコピーされない。
0255デフォルトの名無しさん
2009/09/06(日) 10:52:12その分野について結構詳しくなるね
これが修羅場ってやつか?
0256デフォルトの名無しさん
2009/09/06(日) 11:57:560257デフォルトの名無しさん
2009/09/06(日) 12:40:20はい。
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なんでしょうけど。
0258デフォルトの名無しさん
2009/09/06(日) 12:58:16もうちょっとデータ構造を見直せば
思ったより手間がかからなくなりそうだな
0259デフォルトの名無しさん
2009/09/06(日) 13:21:14そうそう、本は読まないがトライアンドエラーで無理やり突破
google先生に教えて貰った資料の力が一番でかいけどな
0260デフォルトの名無しさん
2009/09/06(日) 13:26:34でも資料が古かったりすると現在では推奨されていないやり方をやってしまったりするから、そこには注意な。
0261デフォルトの名無しさん
2009/09/06(日) 17:32:26次に読む本を探していて、立ち読みで次の2つに絞ったんですけど、良本でしょうか?
a. Java完全マスターブック
b. 15歳からはじめるJavaオンラインゲームプログラミング教室
bのほうはEclipseという環境を使用する前提で解説されているようですが、
パソコンが古くてNetbeansが重くて使い物にならなかったので、
Eclipseも動かなそうです。
Eclipseを使わないと動作しない、あるいは理解しにくいのでしょうか。
読んだことがある方のご意見をお待ちしています。
0262デフォルトの名無しさん
2009/09/06(日) 17:55:590263デフォルトの名無しさん
2009/09/06(日) 18:14:16買い替えをお勧めしよう。Windows7UPG対象品の奴。
ノートでも8万出せば買える。
0264デフォルトの名無しさん
2009/09/06(日) 18:22:00処理内容はパラーメータで渡された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();
ではどちらが早いですか?
0265デフォルトの名無しさん
2009/09/06(日) 18:28:36同じ
0266デフォルトの名無しさん
2009/09/06(日) 18:45:24EclipseとかNetBeansを使えば、本質的でない部分(コンパイルのやりかたとか)
を人任せにできる。
初心者が気軽に触ってみるためには不可欠に近い。
0267デフォルトの名無しさん
2009/09/06(日) 18:56:37アドバイスありがとうございます。
そうですか…。今新しいパソコンを買える状況ではないので…(涙)
読んだ方のレビューもどうぞお願いします。
0268デフォルトの名無しさん
2009/09/06(日) 19:23:11高々数千円だし、本を買うよりも優先するべき
0270デフォルトの名無しさん
2009/09/06(日) 19:34:08現在256MBで、最大384MBなんです。
128MB増やすだけで使えるようになるんでしょうか。
NetBeansはサンプルを開くだけでしばらく時間がかかりました。
0271デフォルトの名無しさん
2009/09/06(日) 19:36:050272デフォルトの名無しさん
2009/09/06(日) 19:39:03どちらも読んだことはないが、Java完全マスターブックは
古いのでやめた方がいい。
0273デフォルトの名無しさん
2009/09/06(日) 19:40:59PC100-SODIMMだった気がしますよwww
0274デフォルトの名無しさん
2009/09/06(日) 19:42:15我慢してテキストエディタでやるべき
あとSwingとかGUI系は諦めたほうが良いと思う
恐らくは7−8年くらい前のノートPCだろ?
128MBの専用増設メモリ探すだけで大変だわ
1万程度でいいから中古PC買ってメモリ増設、中古のモニタ買っても2万程度。
よくPCを買い換える友達いるなら適当に古いマシンもらうべき
0275デフォルトの名無しさん
2009/09/06(日) 19:50:28いまはオクタコアが2個あっておいしいです。
0276デフォルトの名無しさん
2009/09/06(日) 19:54:490277デフォルトの名無しさん
2009/09/06(日) 19:55:110278デフォルトの名無しさん
2009/09/06(日) 20:01:225年前の本だと、今では使えないような技術だったりするんでしょうか。
既に読み終えた参考書は幸い昨年の本でした。
>>274
対応したメモリは見つかりましたが、128MB増は効果が低いと思って買ってません。
最初からXPが入ってて、なんとか動いてます。
Javaの勉強ではCPadっていうソフトを使って勉強してますが、これは軽いので
ちゃんと動きます。
Swingも簡単なものしか試してませんが、動きますよ。
0279デフォルトの名無しさん
2009/09/06(日) 20:10:33static 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();
}
をたくさん呼び出して時間を計ったら、上の方がだいぶ早かったんだけど
何か間違ってる?
0280デフォルトの名無しさん
2009/09/06(日) 20:11:390281デフォルトの名無しさん
2009/09/06(日) 20:13:34>return "abcde" + "fghij" + "klmno" + "pqrst" + "uvwxy";
この部分最適化されるからだろ
0282デフォルトの名無しさん
2009/09/06(日) 20:16:12たくさんって何回だ?
数百回程度じゃ大差ないよ
>>278
動かすだけなら動く、ストレス無く動かせて開発できる話とは別の話
0283デフォルトの名無しさん
2009/09/06(日) 20:30:09文字定数の+演算子による結合はコンパイル時に
結合されると言語仕様に規定されている。
"abc" + "def" == "abcdef" // 必ずtrue
たまにこういうのまでStringBuilderに書き直せ、
とか言う奴いるんだけど、なんなのあれ…
0284279
2009/09/06(日) 20:31:28100万回回して、System.nanoTime() で計って二桁ぐらい違うけど
二桁 [ns] ぐらいなら誤差の範囲か すまん
0285281
2009/09/06(日) 20:32:37たいした違いはないが。
0287デフォルトの名無しさん
2009/09/06(日) 20:38:030288デフォルトの名無しさん
2009/09/06(日) 20:39:46それじゃあ大した違いになるし、結合される、ってことでOKだったと思う。
文字列定数は同じ内容なら同一のインスタンスを指すことになってる。
だから文字列定数のみ使っているという限りでは==で比較してもよい。
まあこれでも見てくれ。
http://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.
0289デフォルトの名無しさん
2009/09/06(日) 20:47:200290デフォルトの名無しさん
2009/09/06(日) 20:50:23作業してる奴がいるぐらいなんだから
最近のでも大丈夫じゃね?
0291261
2009/09/06(日) 20:52:29とりあえず「15歳から〜」の本を買って読むことにします。
>>289さんの小さい昔のやつを試しに入れてもダメだったら、
読書だけで頭でっかちになって
新パソコン購入後に実際に動作させてみます。
0292デフォルトの名無しさん
2009/09/06(日) 20:55:47初心者はEclipseみたいなIDEを使ったほうがいいって言うけど、
初心者だからこそ全部手動でやったほうが身につくと思う。
0293デフォルトの名無しさん
2009/09/06(日) 21:02:36結局、どうやって何が動いてるか分からないと意味ないからね。
でもそれは最初だけで後はEclipseでいい。
特に文法エラーなんかで数時間悩む意味はない。
即時エラー教えてくれるのは便利。
0294デフォルトの名無しさん
2009/09/06(日) 21:04:230295デフォルトの名無しさん
2009/09/06(日) 21:09:300296デフォルトの名無しさん
2009/09/06(日) 21:10:51プログラムでなんか作ってみたいならばIDE使った方がいい
コンパイルエラーはさっさと教えてもらい修正する方がモチベーションが持続する
0297デフォルトの名無しさん
2009/09/06(日) 21:11:57それは起動だけなら充分だろうが、その後の作業がもっさりじゃね?
俺としては、みりんなしのバージョンがオヌヌメ
0298デフォルトの名無しさん
2009/09/06(日) 21:19:22> なんなのあれ…
ただの馬鹿と思っておk。
0299デフォルトの名無しさん
2009/09/06(日) 21:40:33GUIにスプレッドを使いたいのですが、フリーか評価版で何かありませんか
0300デフォルトの名無しさん
2009/09/06(日) 21:42:34いまJava SE5の本で勉強すると問題ある?
0301デフォルトの名無しさん
2009/09/06(日) 21:49:08それだとテキストエディタ+DOS窓+手動コンパイルでいいんでない?
実際IDEはGUI作るときは必要になるけど、java.io, java.net使う程度とか小物ツール(自作Base64とか)を多く作るならエディタだけで十分だったりする。
機能を分けていってクラスが10個ぐらいになるとIDEが欲しくなってくるけどね。
小物ツールなら例えばアプレットでアニメーションなんかクラスは3,4個(多くて合計1000行)でしょ。
0302デフォルトの名無しさん
2009/09/06(日) 21:51:30言語仕様でいえば問題なし。4は問題外だが。
0303デフォルトの名無しさん
2009/09/06(日) 21:52:450304デフォルトの名無しさん
2009/09/06(日) 21:59:546 は劇的な変更は無いね。高速化パッチの親玉。
Java SE 6 の互換性
http://java.sun.com/javase/ja/6/webnotes/compatibility.html
大きな変更としてはせいぜいコレクションが拡張されただけ。
Collections Framework の拡張機能
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/collections/changes6.html
>140 のArrays#copyOfRange()も1.6で追加された新機能の一つ。
0305デフォルトの名無しさん
2009/09/06(日) 21:59:58java.lang
java.io
java.util
java.net
java.nio
java.math
だけの簡易リファレンスなんだけど。
0306デフォルトの名無しさん
2009/09/06(日) 22:00:22�d
0307デフォルトの名無しさん
2009/09/06(日) 22:02:300308デフォルトの名無しさん
2009/09/06(日) 22:07:451.4 -> 1.5 で総称型が追加されたため、はっきり言って「古い」という問題が。
特にjava.utilのコレクション周りに関して壊滅状態じゃないか?
0309デフォルトの名無しさん
2009/09/06(日) 22:29:04public 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);
}
}
なんで、スクロールバーが右側にならないんですか
0310デフォルトの名無しさん
2009/09/06(日) 22:39:120311デフォルトの名無しさん
2009/09/06(日) 22:53:471.7の言語(文法)リテラルは結構増えてrubyのようにカオスってるから。
0312デフォルトの名無しさん
2009/09/06(日) 22:56:31ブラック派遣乙
0313デフォルトの名無しさん
2009/09/06(日) 23:15:010314デフォルトの名無しさん
2009/09/06(日) 23:18:20スレとは関係ないが8コアCPU2発って何使ってるん?
0315デフォルトの名無しさん
2009/09/06(日) 23:24:22map["key1"]="val1"とか、map={key: "val1", k:"v"....,}とかjsみたくなる。
だからスクリプトみたいな現代風なコードになるから5,6は少なくともコード上では旧式(冗長)になるんじゃないかな。
0316デフォルトの名無しさん
2009/09/06(日) 23:34:450317デフォルトの名無しさん
2009/09/06(日) 23:35:04いらない。
http://java.sun.com/javase/ja/6/download.html
から落とせるドキュメントに必要なものは一通り入ってる。
0318デフォルトの名無しさん
2009/09/06(日) 23:36:25でフレーム分割を扱う方法を教えてください
HTTPステータス 400 - Direct access for JSP is not permitted.
と表示されてしまします
0319デフォルトの名無しさん
2009/09/06(日) 23:43:270320デフォルトの名無しさん
2009/09/06(日) 23:59:51同期化が問題なくできているかは、コードレビューで確認するしかないのでしょうか?
単体テストか結合テストで何らかのツールを用いて確認することは無理ですか?
0321デフォルトの名無しさん
2009/09/07(月) 00:04:260322デフォルトの名無しさん
2009/09/07(月) 00:05:59アホじゃあるまいし。それくらい理解しています。
0323デフォルトの名無しさん
2009/09/07(月) 00:12:43でも一応エージェントつかえばデッドロックは検査できるっぽい
0324デフォルトの名無しさん
2009/09/07(月) 00:37:49これはアホの文章だな
それはさておき、マルチスレッドのテスト技法はぶっちゃけない。
コードレビューというよりは設計の段階から安全に作る以外の方法はない
詳しくはJava変更処理プログラミングって本を嫁
0325デフォルトの名無しさん
2009/09/07(月) 00:59:410326デフォルトの名無しさん
2009/09/07(月) 01:06:340327デフォルトの名無しさん
2009/09/07(月) 01:07:220328デフォルトの名無しさん
2009/09/07(月) 01:07:52思い出させてください
糞士痛のApworkusoの続バージョンのような雰囲気のIDEでした
0329デフォルトの名無しさん
2009/09/07(月) 01:10:58ヒント。Hoge のレイアウトは?
0330デフォルトの名無しさん
2009/09/07(月) 01:15:14スペルまちがってる?
0331デフォルトの名無しさん
2009/09/07(月) 01:16:200332デフォルトの名無しさん
2009/09/07(月) 01:18:27想像するにApworksとかそういう名前だと思うが
0333デフォルトの名無しさん
2009/09/07(月) 01:25:24うんいい感じ
そしてその数年後の記憶も書いてください
0334デフォルトの名無しさん
2009/09/07(月) 01:33:09大文字アルファベット3文字だった気がしますが自信がないです
0335318
2009/09/07(月) 01:56:360336318
2009/09/07(月) 02:18:49相対リンクがおかしくなるみたい
フレームでなんとかしないと
http://www.ibm.com/developerworks/jp/java/library/j-jsp06173/
0337デフォルトの名無しさん
2009/09/07(月) 02:33:21チラウラすまそ
0338デフォルトの名無しさん
2009/09/07(月) 02:35:36teikade のこと?
0339デフォルトの名無しさん
2009/09/07(月) 07:17:330340デフォルトの名無しさん
2009/09/07(月) 10:25:030341デフォルトの名無しさん
2009/09/07(月) 10:32:250342デフォルトの名無しさん
2009/09/07(月) 10:34:040343デフォルトの名無しさん
2009/09/07(月) 10:35:150344デフォルトの名無しさん
2009/09/07(月) 10:42:13valueからkeyを得るインスタンス名を何にしたらいいのですか?
一つにまとめられればこの問題を解決できると考えたのです。
0345デフォルトの名無しさん
2009/09/07(月) 10:44:050346デフォルトの名無しさん
2009/09/07(月) 10:44:59この場合わかりやすくpoolとでもしておきましょうか。
0347デフォルトの名無しさん
2009/09/07(月) 10:54:410348デフォルトの名無しさん
2009/09/07(月) 10:57:460349デフォルトの名無しさん
2009/09/07(月) 11:02:570350デフォルトの名無しさん
2009/09/07(月) 11:05:380351デフォルトの名無しさん
2009/09/07(月) 11:12:370352デフォルトの名無しさん
2009/09/07(月) 11:20:120353デフォルトの名無しさん
2009/09/07(月) 11:21:59class ValueWrapper {
Key key;
String value;
}
Map<Key, ValueWrapper> map;
終了
0354デフォルトの名無しさん
2009/09/07(月) 11:25:45ValueWrapperからkeyとvalueは取れるが、
valueからkey取れなくね?
0355デフォルトの名無しさん
2009/09/07(月) 11:27:230356デフォルトの名無しさん
2009/09/07(月) 12:31:140357デフォルトの名無しさん
2009/09/07(月) 14:07:010358デフォルトの名無しさん
2009/09/07(月) 14:14:30システム使うのが一番安全
0359デフォルトの名無しさん
2009/09/07(月) 16:41:49おまえは頭悪すぎ
たぶん向いてないから止めれ
0360デフォルトの名無しさん
2009/09/07(月) 16:53:01最近業務で弄ってるんだけど教えてくれる人がいない
というか、新人教育みたいなのもないから、どうしようもなくて・・。
何から勉強していいものやらね・・。
覚えたいのは山々なんだけど、うまくいかなくてイライラするんだよなー。
なんかいい方法ないかな?
たぶん入門書嫁っていわれるだろうけどw
0361デフォルトの名無しさん
2009/09/07(月) 16:55:22俺はHelloworldからはじめて、とりあえず書いてJavaDocだけでいけたよ
本買ってもあんまり意味はない
無論、他の言語の基礎がないなら基礎から覚える必要はあるけど
0362デフォルトの名無しさん
2009/09/07(月) 17:00:11後は勉強会とかセミナーに参加
自力でやれないことはないが効率悪すぎる
0363デフォルトの名無しさん
2009/09/07(月) 17:01:34それは君が他力本願だからだよ。
独学の方が効率がよい。
君の限界値もたかが知れているね。
0364デフォルトの名無しさん
2009/09/07(月) 17:04:090365デフォルトの名無しさん
2009/09/07(月) 17:08:49現場を知らない君が語ることじゃないね。
0366デフォルトの名無しさん
2009/09/07(月) 17:19:440367デフォルトの名無しさん
2009/09/07(月) 17:43:180368デフォルトの名無しさん
2009/09/07(月) 18:07:17「アセンブラや機械の構造を知っていたほうが、後々上達するんだ!」
っていわれて、無理やりやらされたけど、その後出てくる言語(PHPやC#、VB.NET)
やってるとなんにもアセンブラなど役に立たん。
0369デフォルトの名無しさん
2009/09/07(月) 18:12:19生きる所というより生かす所がない
0370デフォルトの名無しさん
2009/09/07(月) 18:12:55ないなw
先輩にコボラーとかいそうw
0371デフォルトの名無しさん
2009/09/07(月) 18:20:51他の言語を学ぶ際に多少理解の助けになるってことでしょ。
あと、高速な動作を要する場合に、インラインアセンブラとかで役立つことはあるね。
0372デフォルトの名無しさん
2009/09/07(月) 18:21:590373デフォルトの名無しさん
2009/09/07(月) 18:22:3310年やってきて初めて聞いたわ。
0374デフォルトの名無しさん
2009/09/07(月) 18:23:160376デフォルトの名無しさん
2009/09/07(月) 18:25:22JNIでも使わせる気かよw
0377デフォルトの名無しさん
2009/09/07(月) 18:26:210378デフォルトの名無しさん
2009/09/07(月) 18:32:250379デフォルトの名無しさん
2009/09/07(月) 18:55:030380デフォルトの名無しさん
2009/09/07(月) 19:03:47無職の君ならそうだろうけど、
彼は業務から覚えることが可能だからね。
所詮教わった知識なぞ現場じゃ役に立たないよ。
世間を知りなさい。
0381デフォルトの名無しさん
2009/09/07(月) 19:38:59無駄にプライドあったり、俺ルールで書こうとしがち
0382デフォルトの名無しさん
2009/09/07(月) 19:42:420383デフォルトの名無しさん
2009/09/07(月) 19:42:44それは独学関係ないよ。
君の薄汚い心のこじつけだよ。
コーディング規約守れないのは独学だろうと人間として歪んでいるだけさ。
君の塵の欠片にもすぎない固定観念なんて、なんて愚かだろうと思うでしょ。
それだけのことを君は言っているのだよ。独学だからコーディング規約守らないなんてどこに根拠あるの?
君の皆無に等しいサンプルで簡単に決めつけないほうが身のためだよ。
0384デフォルトの名無しさん
2009/09/07(月) 20:01:480385デフォルトの名無しさん
2009/09/07(月) 20:03:010386デフォルトの名無しさん
2009/09/07(月) 20:06:420387デフォルトの名無しさん
2009/09/07(月) 20:19:420388デフォルトの名無しさん
2009/09/07(月) 20:30:040389デフォルトの名無しさん
2009/09/07(月) 20:33:350390デフォルトの名無しさん
2009/09/07(月) 20:38:29いまさらレスだけど、双射ならApache Commonsの
BidiMap(bidirectional Map)使えば済む話。
http://commons.apache.org/collections/api-3.1/org/apache/commons/collections/BidiMap.html
>>360
俺は中学から始めた。もちろん本だけ見て。
>>368
アセンブラやってJVMの仕様を勉強すれば完璧じゃないだろうか。
>>381
勉強もしないでVB風にif(condA){if(condB)}とか
他言語で身についたカスコード書かれるよりは数千万倍マシ。
0391デフォルトの名無しさん
2009/09/07(月) 20:50:41ファイアウォールが反応します。
これってアップデート関係のファイルですよね?
月1回の設定にしてるはずなんですけど・・・。
0392デフォルトの名無しさん
2009/09/07(月) 20:51:010393デフォルトの名無しさん
2009/09/07(月) 21:08:31勝手に32bitのIEの方が起動するんだけど
Javaであんなことできるん?Javaじゃ無理だよね。
0394デフォルトの名無しさん
2009/09/08(火) 00:26:40例えになんだがこれ書いた人はどういう意図で書いてるん?
0395デフォルトの名無しさん
2009/09/08(火) 00:41:26condA部分でなんらかの処理してるんじゃね?
0396デフォルトの名無しさん
2009/09/08(火) 00:43:180397デフォルトの名無しさん
2009/09/08(火) 00:47:44ああ、旧VBは条件文を全部評価しちゃうのな。
condAでコネクションを開いて結果を取得、condBはコネクションを前提って場合に、
condA&&condBってしちゃうと、condAがfalseでもcondBを処理しちゃうんだっけ。
0398デフォルトの名無しさん
2009/09/08(火) 00:53:110399390
2009/09/08(火) 01:35:52別に大掛かりな副作用は無くてもOK。こういうコードとか典型的。
if(a != null){
if(a.length > 0){
}
}
ちなみにifのネストはEclipseのCtrl+1で一発で修正できるよ。
大概、VB前歴の人は論理演算を整理して書けないことが多い。
あとCの人とかだと変数宣言メソッドの先頭に持ってくるとか、
final理解できないとか、変数に無駄な初期値与えちゃうとかやるね
(そのせいで変数を代入していないパスに気づけないとか)。
スレ違いなのでそろそろおしまいにしよう。
0400デフォルトの名無しさん
2009/09/08(火) 05:48:020401デフォルトの名無しさん
2009/09/08(火) 06:21:21副作用が無くても同じだし、副作用があってもjavaでは困ること無いでしょ。
0402360
2009/09/08(火) 09:10:36私も業務で使うからってことで、新たに始めましたけども。
全部ネットからであったり、創るNetbeans見たりで
動くプログラムは多少なり創れる様にはなったんだけどさ。
やっぱり早く動かそうとか、ちゃんとしたクラス分けとか
そういうとこが分からないんだよね。
オブジェクト指向っていうか、そのあたりが理解できてないのか・・・・
どっかの誰かが言ってたみたいに、どこに重点を置いて、
どの場所にどういう風にコーディングすればいいかわかんないんだよねー。
確かに動くには動くんだけどね・・・
はあ宇津田志納
0403デフォルトの名無しさん
2009/09/08(火) 09:43:30オブジェクト指向なんか意識しなくても、効率よく組んでいれば自然にオブジェクト指向っぽく書ける
0404デフォルトの名無しさん
2009/09/08(火) 10:05:38Javaには珍しいな
0405360
2009/09/08(火) 10:08:17オブジェクト指向のせいにしてるつもりはないんだけね。
でも、そこも含めて理解しないと今後伸びないかと思って。
っていう話です。
要は未経験でいきなり創れって言われて
創ってみたら基礎は入ってないけど動くのだけはなんとか
サンプルを見つつかつかつできるよ。
っていう程度。
もっと判るようになればなぁ。って思う。
0406デフォルトの名無しさん
2009/09/08(火) 10:23:300407360
2009/09/08(火) 10:24:11ちょこちょこ見ながら業務中。
というか開発中。
がんばるさ。ありがとうー
0408デフォルトの名無しさん
2009/09/08(火) 14:22:53言いわけは「動くから問題ない」と表面上だけの薄っぺらいことを言う
0410デフォルトの名無しさん
2009/09/08(火) 16:37:25お前には言っていない
自覚があるお前は伸びる
将来有望だろうな
0411デフォルトの名無しさん
2009/09/08(火) 16:38:08とりあえず、できる人のデスクの上に載っている本のタイトルをメモしてきて
本屋で立ち読みしてみれば?
リファレンス的なものは必要じゃないの?
0412デフォルトの名無しさん
2009/09/08(火) 17:03:34だから独学せずに本を読めと
ある程度の基礎が解ったらソース嫁
0413360
2009/09/08(火) 17:12:58勘違いすまん。
頑張っていきたいのは確かなんだ。
会社を休職して専門にいこうかも迷ったけど
基礎はできても業務では生かせないだろうから
それなら独学で っていう心理にたどり着いた
>>411
できる人がいればできる話・・・orz
>>412
本も読んでみないといけないな。
やっぱりちょっと難波のジュンクでもいって見てくる。
とりあえず今日このスレで情報収集した本とか参考にしてみるよ。
高卒でIT界に入りたくてはいったから苦労するのは目に見えてたけど
ここが第一の正念場だよな。
0414360
2009/09/08(火) 17:13:39正直ここまで励まされるとは思ってなかった
ありがとう
0415デフォルトの名無しさん
2009/09/08(火) 17:15:08技術は勿論だが、なるべく早く人脈を作るべき
0416デフォルトの名無しさん
2009/09/08(火) 17:17:43なんて格言があったような気がするが、今捏造したかもしれん
JAVAの標準ライブラリとかapatchのソースとか見てると面白いよ
0417デフォルトの名無しさん
2009/09/08(火) 17:18:51俺も高卒でITだよw
今はフリーでやってるけど。
0418360
2009/09/08(火) 17:36:30それも考えてるけど基本理解しないとSunとかは敷居が高すぎるしね・・・。
ITスクールもどこにいっていいものやらって感じかな。
>>416
ほうほう。いろいろ見てみるよ。�d
>>417
俺は社長にスカウトされて入った感じ。
メイン業務はPGの仕事ではないけど
そっちを新規でやるからってことでやってる感じ。
でも、同じ様な境遇って案外いるよね。
親近感沸いた。
0419デフォルトの名無しさん
2009/09/08(火) 18:23:41アセンブラ信者はJavaVMを理解してるのだろうか?
0420デフォルトの名無しさん
2009/09/08(火) 18:24:40まあ、高卒なら周りの期待も即戦力ってことはないから、これからでいいだろ。
0421デフォルトの名無しさん
2009/09/08(火) 18:26:21そもそも信者じゃないだろ
レス嫁ドカス
上司に言われたってだけってあるだろ
0422デフォルトの名無しさん
2009/09/08(火) 18:58:31JEditorPane.this と hyperlinklistener.classってのをコードの中でみつけた
何なのこれ?
0423デフォルトの名無しさん
2009/09/08(火) 19:01:08とんでもない素人だな
0424デフォルトの名無しさん
2009/09/08(火) 19:08:39後者はgetClass() のようなもの
0425422
2009/09/08(火) 19:23:48レスありがとうございます
>後者はgetClass() のようなもの
これって、リフレクションとかで使っているような記憶があるのは気のせいですか
確かな記憶ではないです
0426デフォルトの名無しさん
2009/09/08(火) 20:48:24効率悪い素人の典型だろ
0427デフォルトの名無しさん
2009/09/08(火) 20:58:32JSF2ってリリースされてました?
0428デフォルトの名無しさん
2009/09/08(火) 21:33:38List<Customer> item = customer.getCustomers(num);
setItems.addAlls(items);
List<Custome>で取得した itemに重複した値があるから
Treesetで重複を取り除こうと思ったのにclasscastexceptionが
でてしまった。
はぁ・・・こんなところでつまずいてしまっている。。。
0429デフォルトの名無しさん
2009/09/08(火) 22:07:51そうですか。
よかったですね。
0430デフォルトの名無しさん
2009/09/08(火) 22:11:19適当ぶっこいてると潰すぞごるぁ
0431デフォルトの名無しさん
2009/09/08(火) 22:19:300432428
2009/09/08(火) 22:22:31compareToか。
0433428
2009/09/08(火) 22:26:24containsですか、ありがとうございます。
0434デフォルトの名無しさん
2009/09/08(火) 22:54:55これが噂の「雑魚」?w
0435デフォルトの名無しさん
2009/09/08(火) 22:56:09<Custome>
って何?
0436デフォルトの名無しさん
2009/09/08(火) 23:00:21Tree系はComparableを実装した要素でないといけない。
やりたいこと的には、おそらくequalsもオーバーライドしないとだめ。
0437デフォルトの名無しさん
2009/09/08(火) 23:40:500438デフォルトの名無しさん
2009/09/09(水) 14:35:10を作りたいんですが、できますか?
0439デフォルトの名無しさん
2009/09/09(水) 15:20:030440デフォルトの名無しさん
2009/09/09(水) 18:06:220441デフォルトの名無しさん
2009/09/09(水) 19:17:390442デフォルトの名無しさん
2009/09/09(水) 19:41:33OpenGLじゃね
0443デフォルトの名無しさん
2009/09/09(水) 19:47:47Java3Dで選択できる
0444デフォルトの名無しさん
2009/09/09(水) 19:52:26しかしバージョンは知らん
0445デフォルトの名無しさん
2009/09/09(水) 20:27:22java Aprog 1
java Aprog 2
java Aprog 3
.
.
.
とbatファイルで重複起動させたかったんですが
一つのプログラムが終了するまで次のプログラムを起動してくれません。
javawで起動しても駄目だったのですが、何か方法はありますか?
CPU使用率等の負荷の計測をしたいのですが・・・
0446デフォルトの名無しさん
2009/09/09(水) 20:38:110447デフォルトの名無しさん
2009/09/09(水) 20:54:45batじゃなくて手動でやるとできるんですよね
コマンドプロンプトの問題なのか・・・
0448デフォルトの名無しさん
2009/09/09(水) 20:59:19ってやれよ。
0449デフォルトの名無しさん
2009/09/09(水) 21:07:48リクエストがきて、処理が終了して、レスポンスが返るわけですが
HTTPの応答コード200になった時、
HttpServletResponseにcookieにJSESSIONID=[セッションID]がHTTPのレスポンスにのります。
セッションの管理に使われていることは存じておりますが、
このJSESSIONID=[セッションID]をHttpServletResponseからどうにか消したいです。
何か手段はありませんでしょうか?
(環境は変えない前提なのでどうにかプログラム内で対応の前提
クライアント側はcookieをサポートしたクライアントの前提)
0450デフォルトの名無しさん
2009/09/09(水) 21:14:38Cookie cookie = new Cookie("JSESSIONID", "");
cookie.setMaxAge(0);
response.addCookie(cookie);
では消せませんでした。
0451デフォルトの名無しさん
2009/09/09(水) 21:23:410452デフォルトの名無しさん
2009/09/09(水) 21:45:28頭悪すぎ
0453デフォルトの名無しさん
2009/09/09(水) 21:48:18javaの方がファイル関係の処理に時間がかかるのは気のせい?
0454デフォルトの名無しさん
2009/09/09(水) 21:53:140455デフォルトの名無しさん
2009/09/09(水) 21:54:26Winsowを4分割したいと考えているのですが、これを実装しようとするとどのような方法があるでしょうか?
3Dモデラのメタセコイアのような、境界をドラッグすることで動的に各領域のサイズが変えられる、田の字型の画面を実現したいと考えています。
まず考えたのが、JSplitPaneでいったん左右に分けて、それぞれの領域をさらにJSplitPaneで縦に分割する方法ですが、
枠が左右で独立してしまい、縦に分割している境界をドラッグしても左右が一緒に動いてくれません。
イベントを拾って追従させることで高さをあわせる…というのも考えたのですが、
これだと実装があまり綺麗ではないですし、結局は分割を2回繰り返しているだけなので、
田の字の中心をドラッグしても(単なる左右間の分割線ですので)境界は横にしか動かせません。
何か、もっとスマートな実現方法はありますでしょうか?
0456デフォルトの名無しさん
2009/09/09(水) 21:57:56他言語と比べての大きなオーバーヘッドはないはず。
0457デフォルトの名無しさん
2009/09/09(水) 22:00:170458453
2009/09/09(水) 22:00:33やぱり、オブジェクトを作りまくっているクラスと比較しちゃだめだよな
perlは単純に正規表現だけのプログラムだったし
やっぱり、オブジェクトの生成ってコストかかってんだね
0459デフォルトの名無しさん
2009/09/09(水) 22:00:580460デフォルトの名無しさん
2009/09/09(水) 22:03:070461デフォルトの名無しさん
2009/09/09(水) 22:03:160462デフォルトの名無しさん
2009/09/09(水) 22:05:28オブジェクトの生成コストなんてナノ秒のオーダーだが、いったいどんな事をしたら遅さを体感できるのか教えてくれ
0463デフォルトの名無しさん
2009/09/09(水) 22:07:11何それ!
0464455
2009/09/09(水) 22:09:14その場合は、たとえば領域が
AB
CD
というように分割されているとして、それぞれをJInternalFrameで表現する感じでしょうか?
その場合だと、「境界をドラッグして大きさを変える」という処理を行う際に
「Aの右端のドラッグを検知した場合、その情報を使ってBのサイズを動的に変更」
「Aの右下のドラッグを検知した場合、その情報を使ってBCDのサイズを動的に変更」
という処理は自分で書く必要がありそうな気がします。
田の字型を維持してくれるようなAPIが無いものかと思ったのですが、やはりその辺は自前で処理する必要があるでしょうか。
0465デフォルトの名無しさん
2009/09/09(水) 22:10:510466デフォルトの名無しさん
2009/09/09(水) 22:13:250467デフォルトの名無しさん
2009/09/09(水) 22:13:54ラップするというのがいまいちわかりませんが、全力でググってきます
>>452
同名でaddすれば上書きすると思ってました。
頭悪くてごめんなさい
明示的に上書きする方法があればご教授いただけると幸いです。
0468デフォルトの名無しさん
2009/09/09(水) 22:27:13まじ有難う
お陰で明日電車止めずに会社行けそうだわ
0469デフォルトの名無しさん
2009/09/09(水) 22:35:160470デフォルトの名無しさん
2009/09/09(水) 22:35:42検索するとFileChannelクラスがどうとかこうとか出てきました。
renameみたいな感覚でcopyとか出来ないんでしょうか?
0471デフォルトの名無しさん
2009/09/09(水) 22:38:500472デフォルトの名無しさん
2009/09/09(水) 22:40:37なんでこの世に幽霊がいないの?って聞かれてるみたいで非常に馬鹿馬鹿しいんだが
0473デフォルトの名無しさん
2009/09/09(水) 22:41:40オブジェクトを生成しているから、全体の処理で1秒くらいかかっている(javaのコード)
でも、それを別にしてもコンソール上でperlを動かしたらめちゃくちゃ速かった気がする
コンソールに表示される文字列に騙されたのかな?
0474デフォルトの名無しさん
2009/09/09(水) 22:43:480475デフォルトの名無しさん
2009/09/09(水) 22:44:38Jakarta CommonsのFileUtils
0476デフォルトの名無しさん
2009/09/09(水) 22:44:53>ファイルおよびディレクトリのパス名の抽象表現です。
とあるように、Fileクラスが示すのはディスク上のファイルそのものではない。
だからコピーみたいな機能はない。
0477デフォルトの名無しさん
2009/09/09(水) 22:44:56http://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使おう。
0478デフォルトの名無しさん
2009/09/09(水) 23:04:05時間計ってないのかよwww
0479デフォルトの名無しさん
2009/09/10(木) 00:27:410480デフォルトの名無しさん
2009/09/10(木) 00:44:03ビルドパス=コンパイル時
0481デフォルトの名無しさん
2009/09/10(木) 09:23:07このオブジェクトを表示されたら半角→全角
とか。
Swingの文字列操作はできないっていうのを見つけたんだけど
いかんせんLastUpdateが2002年なもんで。
http://satoshi.kinokuni.org/tech/SwingTipsString.html
何か知ってる方いる?
0482デフォルトの名無しさん
2009/09/10(木) 10:41:330483デフォルトの名無しさん
2009/09/10(木) 11:07:23ウホッ まじか
ほんとだ・・・ggったら普通にPukiwikiにあった
なんでさっき出なかったのかと思ったけど単に俺が寝ぼけてただけか。
0484デフォルトの名無しさん
2009/09/10(木) 11:08:30あと�d
0485デフォルトの名無しさん
2009/09/10(木) 16:41:28まるっきり同じ処理で、しかも時間を計っていたらわざわざ書き込まないよ
0486デフォルトの名無しさん
2009/09/10(木) 21:35:13なんだ、ただのバカか
0487デフォルトの名無しさん
2009/09/10(木) 21:54:530488デフォルトの名無しさん
2009/09/10(木) 22:26:290489デフォルトの名無しさん
2009/09/10(木) 22:41:55javaを使用したいと考えているのですがなかなかやりたい事などが思い浮かばないです
何かアイディアなどを教えてください。
0490デフォルトの名無しさん
2009/09/10(木) 22:47:150491デフォルトの名無しさん
2009/09/10(木) 22:52:48卒研のテーマとして面白さを出したいなら、ありがちではあるが
ゲームとネットワークのうまい融合を探ってみれば。
集合知AIとかOpenCVあたりはトピックとしての注目度は高いかも。
(面接で売りにできるよ)
0492デフォルトの名無しさん
2009/09/10(木) 22:55:00http://ubaa.net/shared/processing/opencv/
0493デフォルトの名無しさん
2009/09/10(木) 22:55:150494デフォルトの名無しさん
2009/09/10(木) 23:24:46java関係ないがwwwに強い人間が見るならXHTML2.0とHTML5.0の相違点となぜXHTML2.0WGが解散するのかっていうテーマはいいね。
この二つはWWWに与える影響が大きいのでこのテーマを正確に把握し自分なりの考えを示せるなら
WWWの将来ビジョンを見据えられる人材として評価されるかも知れん。
ただこれは卒論で収まる話じゃないね。
0495デフォルトの名無しさん
2009/09/10(木) 23:30:480496デフォルトの名無しさん
2009/09/10(木) 23:37:380497デフォルトの名無しさん
2009/09/10(木) 23:44:000498デフォルトの名無しさん
2009/09/10(木) 23:47:510499デフォルトの名無しさん
2009/09/10(木) 23:49:36やっぱ中身(アルゴリズム)勝負になるのはしゃーないのでは。
0500デフォルトの名無しさん
2009/09/11(金) 02:35:240501デフォルトの名無しさん
2009/09/11(金) 03:33:37w3cが既にグーグルにのっとられてるっとことだろw
もともとw3cなんか何の権威もないじゃん。
0502デフォルトの名無しさん
2009/09/11(金) 12:03:070503デフォルトの名無しさん
2009/09/11(金) 12:27:37それとgetValueとは違いはあったりするんですか?
関数クラスがあったとして、ある変数の値を得る
メソッドの名前はなににしたらいいですか?
0504デフォルトの名無しさん
2009/09/11(金) 12:36:02valueOfに渡した引数
2個目
インスタンスのフィールド
3個目
getXXX
XXXはフィールド名
CamelCase使用
0505デフォルトの名無しさん
2009/09/11(金) 13:08:30変数がxだとしたら
valueOfXの略のvalueOfじゃないんですか?
なぜgetXXXなんですか?
フィールドなんてないんですけど。
0506デフォルトの名無しさん
2009/09/11(金) 13:18:25String.valueOf(7)ってあったら、メソッドの対象は7だろ
この場合は「7のString型を返せ」だ
>関数クラスがあったとして、ある変数の値を得る
じゃあこの変数って何だ
言葉は正確に頼むぜ
0507デフォルトの名無しさん
2009/09/11(金) 13:19:150508デフォルトの名無しさん
2009/09/11(金) 13:26:14今後気をつけろよ
で、本題だが、関数の機能を名前にすればいい
Math.cosとか
0509デフォルトの名無しさん
2009/09/11(金) 13:28:38それは出来ない仕様です。
0510デフォルトの名無しさん
2009/09/11(金) 13:31:15クラス名はPascal形式なら関数名はCamel形式で併用できるはずだが
0511デフォルトの名無しさん
2009/09/11(金) 13:35:260512デフォルトの名無しさん
2009/09/11(金) 13:43:40逆に何が問題だと言うのか。
プロジェクト内だけで使うのならTestProjectMathMethodsとでもするとか。
少しは考えろっての。
0513デフォルトの名無しさん
2009/09/11(金) 13:46:422Xみたいな関数なら初期化するときに2を入れないといけないじゃないですか。
0514デフォルトの名無しさん
2009/09/11(金) 13:48:140515デフォルトの名無しさん
2009/09/11(金) 13:49:28クラスの設計については聞いてねーぞ
0516デフォルトの名無しさん
2009/09/11(金) 13:50:180517デフォルトの名無しさん
2009/09/11(金) 13:50:44そんなの初期化するまでもねーだろ
public double 2X(double v){ return v*2; }
0518デフォルトの名無しさん
2009/09/11(金) 13:51:39ax+ax^2+みたいなクラスをつくります
Class Polynomial{
0519デフォルトの名無しさん
2009/09/11(金) 13:52:310520デフォルトの名無しさん
2009/09/11(金) 13:52:42int a;
Polynomial(a){
this.a=a;
0521デフォルトの名無しさん
2009/09/11(金) 13:54:08return a*x+a*x^2....;
}
のxxxxxの名前が分かりません。
0522デフォルトの名無しさん
2009/09/11(金) 13:55:500523デフォルトの名無しさん
2009/09/11(金) 14:04:46solve、solve for
恐ろしく無駄なやり取りだったね。
>>518-521が初めから書いてあれば速攻答えが出たんだろうけど。
0524デフォルトの名無しさん
2009/09/11(金) 14:04:590525デフォルトの名無しさん
2009/09/11(金) 14:05:58問題はひた隠しだったろアフォ
0526デフォルトの名無しさん
2009/09/11(金) 14:08:3910個のなかから1個をランダムに選ぶみたいな計算しなくても答えが出る関数もあるわけだし。
だからvalueOfかgetValueじゃないかなと思っているんですよ。
0527デフォルトの名無しさん
2009/09/11(金) 14:08:44付き合って損した。
0528デフォルトの名無しさん
2009/09/11(金) 14:09:55その二つは用途が決まってるからどちらも不正解だ。
0529デフォルトの名無しさん
2009/09/11(金) 14:10:380530デフォルトの名無しさん
2009/09/11(金) 14:12:150531デフォルトの名無しさん
2009/09/11(金) 14:12:310532デフォルトの名無しさん
2009/09/11(金) 14:14:14これに限らずgetXXXは基本的にアクセサです。
んで、valueOfはインスタンス生成用です。
どちらも関数用途ではありません。
0533デフォルトの名無しさん
2009/09/11(金) 14:17:13valueOfは一般にインスタンスメソッドじゃない
Valueという単語を入れたいならcomputeValueとかにすれば
0534デフォルトの名無しさん
2009/09/11(金) 14:17:310535デフォルトの名無しさん
2009/09/11(金) 14:18:50と初めから書いてくれればいいのに。
面倒くさい奴だ。
0536デフォルトの名無しさん
2009/09/11(金) 14:20:090537デフォルトの名無しさん
2009/09/11(金) 14:20:190538デフォルトの名無しさん
2009/09/11(金) 14:21:270539デフォルトの名無しさん
2009/09/11(金) 14:22:140540デフォルトの名無しさん
2009/09/11(金) 14:22:190541デフォルトの名無しさん
2009/09/11(金) 14:23:34int answer = p.value(3);
となるのか。意味分からんな。
0542デフォルトの名無しさん
2009/09/11(金) 14:25:480543デフォルトの名無しさん
2009/09/11(金) 14:40:340544デフォルトの名無しさん
2009/09/11(金) 14:42:200545デフォルトの名無しさん
2009/09/11(金) 19:20:24勘違いしないでください
あたまおかしいですよ
0546デフォルトの名無しさん
2009/09/11(金) 19:22:020547デフォルトの名無しさん
2009/09/11(金) 19:48:25ってあるけど、なんでstaticにしているのですか?
メリットを教えていただきたい
0548デフォルトの名無しさん
2009/09/11(金) 19:49:400549デフォルトの名無しさん
2009/09/11(金) 19:57:240550デフォルトの名無しさん
2009/09/11(金) 20:00:500551デフォルトの名無しさん
2009/09/11(金) 20:07:160552547
2009/09/11(金) 20:18:25JDKのソース
>>551
>共通のオブジェクトを保持するため
なるほど、こういうことですか
>複数のインスタンスから参照される
なんで、複数のインスタンスから参照されるのかは
頭が足りないのでいまいちわかりませんでしたorz
0553デフォルトの名無しさん
2009/09/11(金) 20:42:42private Hoge() {}
public static void hoge1() {}
public static void hoge2() {}
public static void hoge3() {}
}
もし、メソッドがstaticしかないクラスを作った場合、
デフォルトのコンストラクタを作らせないためにprivate Hoge() {}
みたいなのを作っておくのは普通ですかね?
それとも、staticなメソッドしかないクラスは作るべきじゃないのか
0554デフォルトの名無しさん
2009/09/11(金) 21:00:03どっちでも良い。
一部ではインスタンス化をしないことを明示するために書くべきと頑固に主張する人もいる。
個人的には書いたほうがいいとは思うけど、コメント書けと思う
// dont create instance
private Hoge(){}
>staticなメソッドしかないクラスは作るべきじゃないのか
作らないのはベターとは言われる
とはいえ、拡張性のないようなメソッドはあるわけで、作る事自体には問題なし
0555デフォルトの名無しさん
2009/09/11(金) 21:03:490556デフォルトの名無しさん
2009/09/11(金) 22:01:22ありがとうございます
Effective javaを読んでいて思ったんだけど、
thisとstaticっていろいろな使い方があっておもしろいね
0557デフォルトの名無しさん
2009/09/11(金) 22:01:51少なくともWeb系であれば
0558デフォルトの名無しさん
2009/09/12(土) 00:01:000559デフォルトの名無しさん
2009/09/12(土) 00:05:120560デフォルトの名無しさん
2009/09/12(土) 08:37:360561デフォルトの名無しさん
2009/09/12(土) 13:23:54Utilityクラスもstaticメソッドじゃなくして、
インタフェース作りたくならない?
0562デフォルトの名無しさん
2009/09/12(土) 14:10:19ちゃんとオブジェクトに固有の振る舞い持ってる。
0563デフォルトの名無しさん
2009/09/12(土) 15:50:51Java言語で「変数A = new String(変数B)」と書いたらDevPartnerに
「Stringコピーコンストラクタを使用しています」と言われた
何?
0564デフォルトの名無しさん
2009/09/12(土) 15:56:55じゃ・・・ば・・・?
0565デフォルトの名無しさん
2009/09/12(土) 16:13:540566デフォルトの名無しさん
2009/09/12(土) 16:34:28ttp://www.microfocus.co.jp/products/TestingASQ/devpartner_fm/devpartnerjavaedition/
ソース分析ソフト
0567デフォルトの名無しさん
2009/09/12(土) 16:59:59こんなもんがある環境ならレクチャーしてくれる人の1人や2人くらい周囲にいそうなものだが
0568デフォルトの名無しさん
2009/09/12(土) 17:15:320569デフォルトの名無しさん
2009/09/12(土) 17:20:170570デフォルトの名無しさん
2009/09/12(土) 17:27:430571デフォルトの名無しさん
2009/09/12(土) 17:32:15コピーコンストラクタの意味なのか、コピーコンストラクタで警告される理由なのか、
エラーを解決する方法なのか、それとももっと別のことなのか
0572デフォルトの名無しさん
2009/09/12(土) 17:48:16Stringはイミュータブルなので、本質的にはコピーコンストラクタ呼び出しを必要とする理由がありません。
変数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;
0573デフォルトの名無しさん
2009/09/12(土) 17:51:28>>568
私が持っているのではないので・・・誰も教えてくれる人が周りにいないのですよ。
>>571
レスさんくすです。
すいません、ほんとに初歩的なところからで申し訳ないのですが、
コピーコンストラクタの意味もあまりわかっていないのです・・・。
エラーというわけではなくて、アプリとして動いているけどこの
ソフトで分析すると警告(?)が出るらしい。
ということでとりあえず「コピーコンストラクタで警告される理由」が知りたいところです。
String 変数A = "";
String 変数B = "あたい";
変数A = new String(変数B);
いろいろ調べてみたのですが、もしかしてnewしているのが悪いって事かな?
参考にしたWeb > ttp://www.javaroad.jp/java_character2.htm
0574デフォルトの名無しさん
2009/09/12(土) 17:56:48レスさんくすです!
おお!どうやら私の調査結果と近い答えが!
一言に要約すると「文字列変数間の文字列コピーにnewを使うな」ってことでOK?
変数A=変数B;
って書けばよかったのかな。
0575デフォルトの名無しさん
2009/09/12(土) 17:57:140576572
2009/09/12(土) 18:04:19そうです。newで同じ値を持つ別のオブジェクトをわざわざ作るのは、
bオブジェクトの内部状態を変えても、
その影響がaオブジェクトに響かないようにするためのはずです。
しかし、Stringは値の変更ができないため、
そもそも値が同じ別のオブジェクトを作り出すメリットがありません。
bの値を変えた場合は、新しいオブジェクトとして作成される(プログラマが意識しているかは別として)ため、
同じ値である間は、同じオブジェクトを参照していて問題がありません。
0577デフォルトの名無しさん
2009/09/12(土) 18:15:39親ウィンドウのフォント情報って取得どうすればいいんでしょうか?
フォント情報ごと渡すしかありませんか・・・?
親ウィンドウのgetFontしてもNULLでした
0578563
2009/09/12(土) 18:18:37Java詳しいみなさんありがとうでした!
ふぅ・・・オブジェクト指向?とやらは概念が難しいですね。
ちょっとびっくりしたのは、(あと今後の自分の為のメモ書きとしても)
私がString変数だと勘違いしているStringはClassというオブジェクトであり、
通常Javaはゲッターセッターで内部と値をやり取りしているが、
Stringにはセッターが無い(?)ので、代入をすると毎回コンストラクタが発動(?)して
名前は同じだけど別のオブジェクトとして変数の箱が存在しているという事かな。
じゃぁさ、私みたいにDISKBasic〜VB6時代のPGしかわからん人が考えているような
ループ処理などのカウンタなどにString変数を使うとなんか変な気がしてきた。
これやるとメモリにオブジェクトが大量にできあがってしまうのか!?な?
うぅもうちょっと勉強してみよう。
あと、ソフトに関して書いていた人へ
DevPartnerというソフトは、使ってみるとすごいよ。
コーディングチェックだけじゃなくてメモリ解放し忘れとか
いろいろコンパイルエラーじゃないけど今回のような問題箇所を
ばしばしと見つけてくれるので。で、さっき書いたURLに行けば
体験版DLできるから試してみたら良いと思う。
0579デフォルトの名無しさん
2009/09/12(土) 18:25:04Stringってオブジェクトじゃなかったっけ・・・変数だっけ?
0580デフォルトの名無しさん
2009/09/12(土) 18:32:25悪いがEclipseとか無償で入手できるツールで大抵のことは可能なんだわ
有償が悪いとは言わないが、誰も使ったことのないツールよりも相談すれば誰かが回答できるツールのが良い
0581デフォルトの名無しさん
2009/09/12(土) 18:36:34普通のループカウンタにオブジェクトを使うメリットはみあたらない。
というか、Stringオブジェクトをどうやったらカウンタに使えるのか
わかりません(^^;;
いままでそういう発想をしたことすらなかった
0582デフォルトの名無しさん
2009/09/12(土) 18:52:16なんていうの
小学生が大学教授に数学の講義でもしようっての?
アドバイスくれてやろうなんてお前には100年早い
0583デフォルトの名無しさん
2009/09/12(土) 20:06:50処理
}
0584デフォルトの名無しさん
2009/09/12(土) 20:07:430585デフォルトの名無しさん
2009/09/12(土) 20:30:26for(String sCounter = ""; sCounter != "11111"; sCounter = new String(sCounter + "1")){
処理
}
0586デフォルトの名無しさん
2009/09/12(土) 20:30:470587デフォルトの名無しさん
2009/09/12(土) 20:34:250588デフォルトの名無しさん
2009/09/12(土) 20:34:58よ?
0589デフォルトの名無しさん
2009/09/12(土) 20:37:39586は最後に?を入れ忘れた
0590デフォルトの名無しさん
2009/09/12(土) 21:11:21現実に存在したら、全力でハリセンチョップをぶちかましたくなるよーなコードだ……。
0591デフォルトの名無しさん
2009/09/12(土) 21:18:31むりか・・・C++ならいけそうだが・・・
0592578
2009/09/12(土) 21:34:03あぁすいません、みんなを混乱させてしまった。
ループ処理でブレイクキーに
の書き間違いです。
いろいろ書かれちゃったけど、
とりあえず自分の悩みは解決したよ、
みなさんありがとね!
0593デフォルトの名無しさん
2009/09/12(土) 21:36:38Stringはimmutableだと何度も(ry
0594デフォルトの名無しさん
2009/09/12(土) 21:56:11MutableStringクラス使うんだろうな
0595デフォルトの名無しさん
2009/09/12(土) 21:58:58ブレイクキーってフラグみたいなもんか?
enum 使おうぜ。
0596デフォルトの名無しさん
2009/09/12(土) 22:10:43>>591をよく読めばいいのに
0597デフォルトの名無しさん
2009/09/12(土) 23:44:45オープンのプロジェクトが実用レベルになってるご時世で、それもJavaといったらオープンの中心だろ?
それなのに、いまどき割れ物とかクラックものとかはやってるのかね…
納品するのにどうしても写真屋形式じゃないと駄目、MSワード形式じゃだめってなら使う価値もあるとおもうんだが。
0598デフォルトの名無しさん
2009/09/12(土) 23:46:130599デフォルトの名無しさん
2009/09/12(土) 23:57:030600デフォルトの名無しさん
2009/09/13(日) 00:18:05cも満足に出来ないのにそんなこと書かなくてもいいんじゃね
見てて恥ずかしい
0601デフォルトの名無しさん
2009/09/13(日) 00:21:16MSのでもワードエクセル程度しか興味ないのに、そんなマイナー商品のことなんか知らんわw
0602デフォルトの名無しさん
2009/09/13(日) 00:22:430603デフォルトの名無しさん
2009/09/13(日) 01:32:18for(char counter = 'A' ; counter != 'Z' ; counter++){
cout << counter << endl;
}
for(string counter = "A"; counter[0]!='Z'; counter[0]++){
cout << "string"<< counter << endl;
}
じゃないの?これなら普通に動くし、C++ならーとかって意味もわかるが・・・
>>600は何にかみついてるのかわからん
0604デフォルトの名無しさん
2009/09/13(日) 10:54:05ネットブック(cpu 1.4Ghz程度)でもサクサクですか?
0605デフォルトの名無しさん
2009/09/13(日) 11:00:32for(char counter = 'A' ; counter != 'Z' ; counter++){
('A' )…
0606デフォルトの名無しさん
2009/09/13(日) 11:08:15何か不満か?Zの分もループしたいか?
0607デフォルトの名無しさん
2009/09/13(日) 11:09:41('A';;;)…
0608デフォルトの名無しさん
2009/09/13(日) 11:13:110609デフォルトの名無しさん
2009/09/13(日) 11:24:41のっとが好きな人と大なり小なりが好きな人といるよね
後、三項演算子嫌う人
0610デフォルトの名無しさん
2009/09/13(日) 11:57:45Tomcat上で、画面出力ではないテンプレートエンジンとして
Velocityを使いたいのですが、いくつかの点がよくわかりません。
1. 別々の設定(例えばクラスパスからの読み込みとファイルパスからの読み込み)等で
同じTomcat上で動かす可能性があるので、
Velocity クラスではなく VelocityEngineクラスを使う必要があると思いますが
これは合っているでしょうか?
2. VelocityEngineを使うとして、結構頻繁に呼び出す部分で
いちいち初期化するコストが心配なので、
VelocityEngine のインスタンスは設定ごとに Singleton で保持しようかと思うのですが
それでスレッドセーフに使うことが出来ますか?
ご存知の方いたらお願いします。
0611デフォルトの名無しさん
2009/09/13(日) 12:27:43やる前に質問してしまう意味がわからない
0612デフォルトの名無しさん
2009/09/13(日) 12:39:100613デフォルトの名無しさん
2009/09/13(日) 12:49:15JFrameを継承して作ったメインのウィンドウからThisを渡してDialogのインスタンスを実行
このメインのウィンドウのフォントを取得したいの?
0614デフォルトの名無しさん
2009/09/13(日) 13:08:58自分で試して問題なく動いたからといって、
その実装に問題がないとは限らないので。
特にスレッド間での処理を見るのは、
同時処理自体に失敗している(微妙にずれている)から正常に動いているのか
複数のスレッドから呼ばれても大丈夫なようになっているから正常に動いているのか
判断出来ないなと。
0615デフォルトの名無しさん
2009/09/13(日) 13:11:22いや、まず試す→解析する→それでもわからなきゃ質問
じゃねーのか・・・
質問→やるっておかしいだろう
0616デフォルトの名無しさん
2009/09/13(日) 16:04:34System.out.println(a);
これを実行すると32となります。
この32は何を表しているのでしょうか?
バイナリの20は半角空白のはずなのですが、なぜか32とでます。
半角空白を出す方法を教えてください。
0617デフォルトの名無しさん
2009/09/13(日) 16:06:42これだと、単に16進の20を十進出力してるだけだからでしょう
0618デフォルトの名無しさん
2009/09/13(日) 16:08:09byte a = (byte)' ';
とすれば、できるんじゃない?
やったことないからわからんけど
0619デフォルトの名無しさん
2009/09/13(日) 16:09:38文字として扱いたいならchar型を使うんだ
0620デフォルトの名無しさん
2009/09/13(日) 16:19:56文字を出力したいなら、println(char)を使え
0621デフォルトの名無しさん
2009/09/13(日) 16:21:100622デフォルトの名無しさん
2009/09/13(日) 16:23:270623デフォルトの名無しさん
2009/09/13(日) 16:33:27!=好きはC++使い。おそらく++counterと書くだろう。
0624デフォルトの名無しさん
2009/09/13(日) 19:29:35ライブラリのソース解析までしてから質問するスレだったんですね。
勘違いしていました、すみませんでした。
自分で頑張ってみます。
0625デフォルトの名無しさん
2009/09/13(日) 19:56:16いろんな人がいるからね
人によっては細かくおしえてくれるし。
基本、まずは自分でやってみるのが、質問する側の姿勢としては
大切だね
0626デフォルトの名無しさん
2009/09/13(日) 20:33:35参考書みたいなのは明解Java 入門編 (単行本) これで大丈夫かな?
ど素人にオススメの本ってある?
0627デフォルトの名無しさん
2009/09/13(日) 20:36:370628デフォルトの名無しさん
2009/09/13(日) 20:39:120629デフォルトの名無しさん
2009/09/13(日) 21:58:49出力するとファイルが壊れてしまいます。
どこが悪いのかわかりません。
お詳しい方が居たら、ご教授いただけませんでしょうか?
環境:WindowsVista
データベース:Derby
0630デフォルトの名無しさん
2009/09/13(日) 22:01:09Velocityは詳しくないが検索したらこれを見つけた。
http://mail-archives.apache.org/mod_mbox/velocity-user/200601.mbox/%3C001f01c61ab2$f8ff9c80$6500a8c0@Apollo%3E
0631629
2009/09/13(日) 22:02:18Connection 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);
}
}
0632デフォルトの名無しさん
2009/09/13(日) 22:14:560633デフォルトの名無しさん
2009/09/13(日) 23:14:56できれば、任意にハイパーリンクのようなものを配置したいです
0634デフォルトの名無しさん
2009/09/13(日) 23:16:470635633
2009/09/13(日) 23:23:29だいたい、10万文字くらい表示しようと考えています
なので、部分的に表示しないと重くなります
どうやれば部分的に文字を表示する機能を実装するか、教えていただきたいです
0636デフォルトの名無しさん
2009/09/13(日) 23:33:330637デフォルトの名無しさん
2009/09/13(日) 23:34:560638デフォルトの名無しさん
2009/09/14(月) 00:07:560639デフォルトの名無しさん
2009/09/14(月) 00:11:210640デフォルトの名無しさん
2009/09/14(月) 00:17:05出力されるファイルとオリジナルのファイルで差分とるとなにが違ってる?
ソースは問題なさそうに見えるけど、途中でException吐いて死んでない?
0641デフォルトの名無しさん
2009/09/14(月) 03:55:10もしかしてスクロールさせたいの?
0642デフォルトの名無しさん
2009/09/14(月) 04:16:290643デフォルトの名無しさん
2009/09/14(月) 04:29:540644デフォルトの名無しさん
2009/09/14(月) 05:50:34> だいたい、10万文字くらい表示しようと考えています
> なので、部分的に表示しないと重くなります
本当に重くなるの?
0645629
2009/09/14(月) 08:21:46>632
2chだと改行が多すぎると出るので、
必要最低限の部分を書き込みました。
>640
ファイルの差分を調べてみます。
とりあえず、Exceptionは出てません。
(NetBeans6.7で実行しました。)
ありがとうございました。
何か分かりましたら、ご報告いたします。
0646デフォルトの名無しさん
2009/09/14(月) 08:46:05開発がめんどくさくなるだけのように思えるんです。
0647デフォルトの名無しさん
2009/09/14(月) 08:50:53素人はJBOSSでもいじって勉強してろ
0648デフォルトの名無しさん
2009/09/14(月) 08:56:33あんなのいいところがまったくなさそうなんですが
0649デフォルトの名無しさん
2009/09/14(月) 09:01:44age素人乙
0650デフォルトの名無しさん
2009/09/14(月) 09:03:17無能はそれしか言えないようだな
0651デフォルトの名無しさん
2009/09/14(月) 09:13:49J2EE理解できない君じゃとやかく言う資格はないでしょう。
0652デフォルトの名無しさん
2009/09/14(月) 09:26:562chのルールも守れないageおまえが何を言うw
0653デフォルトの名無しさん
2009/09/14(月) 09:28:53プロジェクトが多すぎる
0654デフォルトの名無しさん
2009/09/14(月) 09:34:08勘違い乙。
0655デフォルトの名無しさん
2009/09/14(月) 10:23:02よろしくお願いします。
0656デフォルトの名無しさん
2009/09/14(月) 10:32:010657デフォルトの名無しさん
2009/09/14(月) 10:50:40素早い回答ありがとうございます。
では、import unnamed.* が実装されている目的やメリット等は何なのでしょうか?
よろしくお願いします。
0658デフォルトの名無しさん
2009/09/14(月) 11:07:060659デフォルトの名無しさん
2009/09/14(月) 11:17:10素人未満の塵といったところか
0660デフォルトの名無しさん
2009/09/14(月) 11:21:210661デフォルトの名無しさん
2009/09/14(月) 11:22:310662デフォルトの名無しさん
2009/09/14(月) 11:24:40理論から入る頭でっかちには向いてないよ。
文系が使えないのはそこにあるんだろうね。
理系は実験(ここで言うプログラミング)を通してから考察だし。
0663デフォルトの名無しさん
2009/09/14(月) 11:28:450664デフォルトの名無しさん
2009/09/14(月) 11:29:250665デフォルトの名無しさん
2009/09/14(月) 11:30:560666デフォルトの名無しさん
2009/09/14(月) 11:31:540667デフォルトの名無しさん
2009/09/14(月) 11:37:14答えられない知識不足のくせに自尊心だけ高くて、その上周りに不満や暴言を吐く有害なゴミ
>>658除く
0668デフォルトの名無しさん
2009/09/14(月) 11:40:16>>667
0669デフォルトの名無しさん
2009/09/14(月) 12:12:05ていうか、まだなんで生きてんの?
0670デフォルトの名無しさん
2009/09/14(月) 12:15:030671デフォルトの名無しさん
2009/09/14(月) 12:49:100672デフォルトの名無しさん
2009/09/14(月) 12:52:09ageただけで吠える無能
さすがに技術じゃ勝てないか
重箱の隅つつくようじゃ底が知れてるね
0673デフォルトの名無しさん
2009/09/14(月) 13:14:360674デフォルトの名無しさん
2009/09/14(月) 13:25:482chのルールも守れないageおまえが何を言うw
0675デフォルトの名無しさん
2009/09/14(月) 13:29:54声に出して読み返してみ?
0676デフォルトの名無しさん
2009/09/14(月) 13:31:06>>651
2chのルールも守れないageおまえが何を言うw
674 名前:デフォルトの名無しさん[sage] 投稿日:2009/09/14(月) 13:25:48
>>673
2chのルールも守れないageおまえが何を言うw
0677デフォルトの名無しさん
2009/09/14(月) 13:34:100678デフォルトの名無しさん
2009/09/14(月) 13:35:15ええ、技術?
ていうか、死にたくないからっすよね?
0679デフォルトの名無しさん
2009/09/14(月) 13:35:29やってみたらnetbeansに怒られた
0680デフォルトの名無しさん
2009/09/14(月) 13:37:040681デフォルトの名無しさん
2009/09/14(月) 14:35:42Eclipseに乗り換えようと何度思ったことか
0682デフォルトの名無しさん
2009/09/14(月) 14:37:550683デフォルトの名無しさん
2009/09/14(月) 14:46:150684デフォルトの名無しさん
2009/09/14(月) 14:59:060685デフォルトの名無しさん
2009/09/14(月) 15:52:19やっとEJBマスターしたけどやっぱめんどくさいだけだな
0686デフォルトの名無しさん
2009/09/14(月) 15:53:11何を持ってマスターなの?
0687デフォルトの名無しさん
2009/09/14(月) 16:11:470688デフォルトの名無しさん
2009/09/14(月) 18:42:210689デフォルトの名無しさん
2009/09/14(月) 19:03:30この業界こだわっちゃう人が多いし。(いい意味で)
んでEJBは微妙。学習コストが高くて生産性も高くはない。
でも3.0はかなり良くなってるから本気出したほうがいい。
0690デフォルトの名無しさん
2009/09/14(月) 19:05:38どうしてもV2Cみたいに高速にスレッドを表示できね
ぜんぜん、わかんね
0691デフォルトの名無しさん
2009/09/14(月) 19:07:400692デフォルトの名無しさん
2009/09/14(月) 19:10:220693デフォルトの名無しさん
2009/09/14(月) 19:12:21わかんね
0694デフォルトの名無しさん
2009/09/14(月) 19:13:20JNIでいいんじゃね?
0695デフォルトの名無しさん
2009/09/14(月) 19:14:07俺にもわかんね。
0696デフォルトの名無しさん
2009/09/14(月) 19:18:34こんなことやってて速くなるわけねーだろ
0697690
2009/09/14(月) 20:03:40JEditorPaneでやることはスピード以前にいろいろと問題が発生しそうだと気がついたので、
かなり前にあきらめた
>>691
HDDからの読み込み→インスタンス化までは1秒くらいになった
でも、swingコンポーネントに文字を高速表示する方法がわかんね
V2C作者に質問したら、JPanel + DrawString()で描写をしていると教えてもらった
だが、Graphics2Dの管理と高速化の両立は厳しい
0698デフォルトの名無しさん
2009/09/14(月) 20:05:200699690
2009/09/14(月) 20:30:34その通りだよ。だから、部分的に表示して画面を考えているんだけど
なかなか、簡単にできないからずーっと困っている
Graphics2D.drawString()だと自動で文字列改行をしてくれないし、
スクロールバーもどうやったら適切なサイズ(長さ)にできるのかとか
調べても調べてもヒントになるページが引っかからない
0700デフォルトの名無しさん
2009/09/14(月) 21:13:15横着しようとして詰まってるだけじゃないの
0701デフォルトの名無しさん
2009/09/14(月) 21:15:41先日、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です。どなたか解る方、ご教授願います。
0702デフォルトの名無しさん
2009/09/14(月) 21:17:12>>1
0703デフォルトの名無しさん
2009/09/14(月) 21:18:25とりあえずwikiでも読んで一通り試してみて
http://www.wikihouse.com/java/?path,classpath
0704デフォルトの名無しさん
2009/09/14(月) 21:18:33>>1すら見えない脳みそではJavaは無理です。あきらめなさい。
0705デフォルトの名無しさん
2009/09/14(月) 21:24:390706701
2009/09/14(月) 21:26:110707デフォルトの名無しさん
2009/09/14(月) 21:28:132ちゃんねるで質問すると答えが厳しいから、気にすんな
linuxだと環境変数を設定しなくてもよかったりする
よくわかんなかったら、Eclipseでもインストールしろ
インストールを説明するサイトとかで、環境変数の事について調べられる
0708デフォルトの名無しさん
2009/09/14(月) 21:29:310709701
2009/09/14(月) 21:29:420710701
2009/09/14(月) 21:30:360711デフォルトの名無しさん
2009/09/14(月) 21:36:06それはそうと、何でJavaのパスやクラスパスくらい自動設定する
ソフトがないんだろうな。。
ただ単に環境変数にPathとクラスパスつけてやればいいだけじゃん。
俺が造ってもいいけど、XPしかもってないし、Vistaがどのフォルダにインスコされて
なんか権限とかぜんぜんしらねから、Visco対応のは作れない。
XPだけでもいいなら、作ってやってもいいが、7もでるしなあ。
なんで、ほかのプログラマはそんくらいの物作って、うpしてやらないんだろうな・・
0712デフォルトの名無しさん
2009/09/14(月) 21:37:20linuxでもpathを通す必要があるのは変わらない。
0713デフォルトの名無しさん
2009/09/14(月) 21:39:20ふんと、2chは不親切だからいやだよな。君が書いた↓
path →%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\
にJavaをインスコしたディレクトリ\binフォルダが追加記述されてないとだめだよ。
Javaをインスコしたディレクトリの中のbinディレクトリを覗いてごらん。
javac.exeがあるはずだよ。コマンドプロンプトも
>javac' は、内部コマンドまたは外部コマンド〜
といってるよね。javac.exeが見つからないっていってるんだよ。
pathをちゃんと設定すれば直るよ。まあ、がんばりいな。
0714701
2009/09/14(月) 21:44:23path →%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.6.0_16\bin
CLASSPATH 現状のまま
QT JAVA 現状のまま
で宜しいのでしょうか?何度もすいません
0715690
2009/09/14(月) 21:51:25>単純な計算の積み重ねのような気がするが
そんなのも、わからないなんて...
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()とかで文字数を数えて地道に計算したほうがいいのか
0716デフォルトの名無しさん
2009/09/14(月) 21:58:42さすが>>1すら見ないだけのことはある
Javaの環境変数設定ができない・・Orz
http://pc11.2ch.net/test/read.cgi/prog/1252928150/
0717デフォルトの名無しさん
2009/09/14(月) 22:02:56java.awt.font.* とかはちゃんと見た?
0718デフォルトの名無しさん
2009/09/14(月) 22:03:40おまえじゃ時間の無駄
0719デフォルトの名無しさん
2009/09/14(月) 22:06:070720デフォルトの名無しさん
2009/09/14(月) 22:12:14CMPの名前のとおり、コンテナに管理させたデータソースをコンテナ経由で使ってる
0721デフォルトの名無しさん
2009/09/14(月) 22:24:42>余程の暇人かドMだからな
コンピュータをやる時はなるべくいろいろな事を、勉強出きるようにしている
それに、思う存分出きるのは今年までだから最後くらいはと思ってね
java.awt.font.*は必要に応じて読んでる
0722デフォルトの名無しさん
2009/09/14(月) 23:26:210723デフォルトの名無しさん
2009/09/14(月) 23:40:46わざわざありがとうございます。
VelocityEngineはスレッドセーフだけど
contextはスレッドセーフじゃないから都度インスタンス作るように
って書かれてるみたいですね、
安心できました、助かりました。
0724デフォルトの名無しさん
2009/09/15(火) 00:28:01QTが入っていると、Pathの設定とかうまくいかないみたいだよ↓。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1416359149
対処方法は自分でぐぐって・・俺はもう寝るから。。QT Javaで検索すればひっかるとおも。
QT使わないとだめなの?Swingとかじゃだめ?
基本的にPathの設定とクラスパスの設定は>>714でいいよ。
0725デフォルトの名無しさん
2009/09/15(火) 00:31:10>C:\Program Files\Java\jdk1.4.2_17\bin;
>を追加しましたか?(最後でも良いですが、QTなどが入っていると不具合があったりします
0726デフォルトの名無しさん
2009/09/15(火) 11:04:450727デフォルトの名無しさん
2009/09/15(火) 11:10:58新規でhibernate採用してるとこまだある?
0728デフォルトの名無しさん
2009/09/15(火) 12:46:08分離して書きたいけど,分離して読み解きたくないジレンマ
0729デフォルトの名無しさん
2009/09/15(火) 13:23:270730デフォルトの名無しさん
2009/09/15(火) 15:06:41S2Daoとかhibernateは何回か使ったことありますが、最近のオススメを教えてください
0731デフォルトの名無しさん
2009/09/15(火) 15:14:490732デフォルトの名無しさん
2009/09/15(火) 15:23:450733デフォルトの名無しさん
2009/09/15(火) 15:34:170734デフォルトの名無しさん
2009/09/15(火) 15:40:200735デフォルトの名無しさん
2009/09/15(火) 15:46:170736デフォルトの名無しさん
2009/09/15(火) 16:25:56UML図からのコード生成から、そういったフレームワークに乗せられるから?
0737デフォルトの名無しさん
2009/09/15(火) 18:41:060738デフォルトの名無しさん
2009/09/15(火) 19:43:50ドメインモデルがけなされるのは業務ファットなプロジェクトで使ってないからだと思う。
そーなってくるとドメインモデルの問題というより設計の問題といえる。
0739デフォルトの名無しさん
2009/09/15(火) 20:20:27new Main().t1();
}
static String str = "str";
public Main() {
str = "hoge";
}
public void t1() {
System.out.println(str);
staticなフィールドに代入すると、どこまで値を保持してくれているんですか?
0740デフォルトの名無しさん
2009/09/15(火) 20:28:440741デフォルトの名無しさん
2009/09/15(火) 20:37:15ありがとうございます
0742デフォルトの名無しさん
2009/09/15(火) 20:41:150743デフォルトの名無しさん
2009/09/15(火) 20:58:11makefile,batではだめだったのか?
xmlの文字量ならJavaをantのように使えたほうがよかったのに
0744デフォルトの名無しさん
2009/09/15(火) 21:11:250745デフォルトの名無しさん
2009/09/15(火) 21:30:07ExcelVBAとかからゴリゴリ
Ant生成するときはXMLの方が楽です…。
0746デフォルトの名無しさん
2009/09/15(火) 21:36:26処理内容はパラーメータで渡された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();
ではどちらが早いですか?
0747デフォルトの名無しさん
2009/09/15(火) 21:42:30変わんないんじゃない?
Stringの+演算って、内部では結局StringBuilderのappendがやってる
内部char変数の足し算で実装されるときいたことがある
ただ、
>return str.group(1) + str.group(2) + str.group(3) + str.group(4);
の部分が
return sb.toString();
と同等のコードにコンパイルされるかは知らないっす
0748デフォルトの名無しさん
2009/09/15(火) 21:45:53このスレか前のスレに同じような質問があった気がする
0749デフォルトの名無しさん
2009/09/15(火) 21:46:04http://d.hatena.ne.jp/suer/20090427/1240758191
なんだが・・・あるぇー、文字列連結ってコンパイル時にStringBufferだか
StringBuilderに置き換えられてなかったっけ?
0750デフォルトの名無しさん
2009/09/15(火) 21:48:36そうだよな
でも、このhatena記事みると、あれー?って感じだなw
0751デフォルトの名無しさん
2009/09/15(火) 21:51:14最新のは最適化オプションがデフォルトで入るときいたこともあるが
0752デフォルトの名無しさん
2009/09/15(火) 21:53:55str += s; は str = new StringBuilder(str).append(s).toString(); みたいなことになるから無駄だらけ
0753デフォルトの名無しさん
2009/09/15(火) 21:58:13つまりはnewしてるのがオーバーヘッドの要因ってこと?
じゃあ、>>746のような+をつなげたような書き方なら
str.append(str.group(1)).append(str.group(2)).....
な感じになって、あんまり変わらない?
0754デフォルトの名無しさん
2009/09/15(火) 22:15:56途中で定数文字列の足し算が複数回続くとか無い限り、
変わらないと思っていい。
ただ、言語仕様上は別に+演算子は二つのStringオブジェクトの
内容をくっつけたStringオブジェクトを新規作成する、
とだけで別にStringBuilderを絶対に使う、とは書いてないんだよねえ。
http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.18.1.2
0755デフォルトの名無しさん
2009/09/15(火) 22:20:32Stringのインスタンスが何回生まれるかってことが大事。
0756デフォルトの名無しさん
2009/09/15(火) 22:26:07String 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
最適化しないのね。
0757デフォルトの名無しさん
2009/09/15(火) 22:30:39すばらしい
逆コンパイルすることで、わかりやすく解析できるな
やっぱnewの連発(インスタンス生成)が問題なんだな
0758デフォルトの名無しさん
2009/09/15(火) 22:34:250759デフォルトの名無しさん
2009/09/15(火) 22:35:380760デフォルトの名無しさん
2009/09/15(火) 22:52:08これ自体は10ナノ秒/一回程度のコストだから
文字列連結処理全体から見た場合の影響度はきわめて小さい
23 invokevirtual java.lang.StringBuilder.toString() : java.lang.String [33]
問題なのはこれが繰り返されること
0761デフォルトの名無しさん
2009/09/15(火) 22:57:30なるほど、いっかいいっかい、Stringオブジェクトへ変換
(新規Stringオブジェクトを生成してる)がまずいのか
0762デフォルトの名無しさん
2009/09/15(火) 23:44:2110回程度連結しようが普通のアプリじゃオーバヘッドにはならんよ
0763デフォルトの名無しさん
2009/09/15(火) 23:48:01StringからStringBuilderへ文字データをコピー、StringBuilderからStringへ文字データをコピー・・・
文字列が長くなるほどつらい
0764デフォルトの名無しさん
2009/09/16(水) 00:03:56エンコーディング(ISO-2022-JPやEUC-JPなど)の一覧を取得する方法は
ありませんか?
具体的にはjava.nio.charset.Charset#availableCharsets()相当の情報を
取得する方法が知りたいです。
0765デフォルトの名無しさん
2009/09/16(水) 01:33:02JITとかにまかせる方。
0766デフォルトの名無しさん
2009/09/16(水) 02:15:590767デフォルトの名無しさん
2009/09/16(水) 02:32:480768デフォルトの名無しさん
2009/09/16(水) 02:37:520769デフォルトの名無しさん
2009/09/16(水) 08:30:28ない。
代替方法としては jre/lib/charsets.jar の中をのぞいてみるとか
既知のエンコーディング名を String#getBytes(String) につっこんでみて
UnsupportedEncodingException になるかテストするとか
0770デフォルトの名無しさん
2009/09/16(水) 10:10:28そのフォルダにあるXMLとかをフルパスで指定しなくても
読めるようになるんでしょうか?
0771デフォルトの名無しさん
2009/09/16(水) 10:11:26当たり前
0772デフォルトの名無しさん
2009/09/16(水) 10:12:42すっげー
0773デフォルトの名無しさん
2009/09/16(水) 10:55:08かっけー
0774デフォルトの名無しさん
2009/09/16(水) 10:56:330775デフォルトの名無しさん
2009/09/16(水) 12:27:200776デフォルトの名無しさん
2009/09/16(水) 18:36:52今は、Vectorにそれぞれの名前を持たせたい(JTreeにつっこむときのために)のですが、型パラメータ部分を無視すればコンパイルできるし、
動くことは動くのですが、型が一致しない可能性について警告みたいなのがでて。
具体的には
警告:[unchecked] raw 型 java.util.Vector のメンバとしてのacd(E)への無検査呼び出しです。
と
よろしくお願いします。
0777デフォルトの名無しさん
2009/09/16(水) 18:59:030778デフォルトの名無しさん
2009/09/16(水) 19:11:19class MyVector extends Vector{
private String name;
public MyVector(String s){
super();
this.name = s;
}
public String toString(){
return this.name;
}
}
これのVector のもともとの場合、インスタンス化の時にVector<String,String>みたいに指定
できるじゃないですか?っていうか、それをしないと、コンパイラに怒られるみたいなんですけど、
上みたいにするとどうもそれができなくなって。それなのにコンパイラには怒られるので・・・。
0779デフォルトの名無しさん
2009/09/16(水) 19:21:23または
class MyVector<E> extends Vector<E> {
のようにするといいよ
0780デフォルトの名無しさん
2009/09/16(水) 19:26:58ありがとうございます!
0781デフォルトの名無しさん
2009/09/16(水) 19:29:330782デフォルトの名無しさん
2009/09/16(水) 19:34:460783デフォルトの名無しさん
2009/09/16(水) 20:25:520784デフォルトの名無しさん
2009/09/16(水) 20:40:58ごめんなさい。
0785デフォルトの名無しさん
2009/09/16(水) 20:45:14MergeDoc で Pleiades All In One 入れちゃうのが Jad 入手にはいっちゃん
手っ取り早かったりする。
ただ貧弱なPCだと Pleiades は無茶だから薦めない。
0786デフォルトの名無しさん
2009/09/16(水) 20:51:32Vectorは使わないほうがよいよ。
以前の互換性のために残してある過去の遺物。
0787デフォルトの名無しさん
2009/09/16(水) 20:52:320788デフォルトの名無しさん
2009/09/16(水) 20:53:06!?
.
0789デフォルトの名無しさん
2009/09/16(水) 21:20:06インシデント・・・入れ歯洗浄剤
0790デフォルトの名無しさん
2009/09/16(水) 21:25:210791デフォルトの名無しさん
2009/09/16(水) 21:29:270792デフォルトの名無しさん
2009/09/16(水) 22:57:290793デフォルトの名無しさん
2009/09/16(水) 23:18:300794デフォルトの名無しさん
2009/09/16(水) 23:28:180795デフォルトの名無しさん
2009/09/16(水) 23:41:170796デフォルトの名無しさん
2009/09/17(木) 00:13:100797デフォルトの名無しさん
2009/09/17(木) 00:26:200798デフォルトの名無しさん
2009/09/17(木) 01:00:120799デフォルトの名無しさん
2009/09/17(木) 08:43:14最近変なのがいついちゃったからな・・・
0800デフォルトの名無しさん
2009/09/17(木) 08:45:320801デフォルトの名無しさん
2009/09/17(木) 08:54:060802デフォルトの名無しさん
2009/09/17(木) 08:57:46<T>ってなんぞ・・・?
List<String>とかならジェネリクスだよねってのはわかるんだけど
1.4時代からなかなか抜けれない・・・
0803デフォルトの名無しさん
2009/09/17(木) 08:59:27_ ___
/ ̄ ̄ ̄ ̄\,, /−、 −、 \
/_____ ヽ / | ・|・ | 、 \
| ─ 、 ─ 、 ヽ | | / / `-●−′ \ ヽ
| ・|・ |─ |___/ |/ ── | ── ヽ |
|` - c`─ ′ 6 l |. ── | ── | |
. ヽ (____ ,-′ | ── | ── | l
ヽ ___ /ヽ ヽ (__|____ / /
/ |/\/ l ^ヽ \ / /
| | | | l━━(t)━━━━┥
0804デフォルトの名無しさん
2009/09/17(木) 13:26:09< > ←これは両腕を腰に当てている様子
あとはわかるな?
0805デフォルトの名無しさん
2009/09/17(木) 14:47:19http://codezine.jp/article/detail/4388
▼ ここからすぐに参加できます ▼
コードレビュー オンライン ハンズオン
http://se.aist-nara.ac.jp/html/review/code_review_cost_estimation/html/
0806デフォルトの名無しさん
2009/09/17(木) 16:09:16だっせーなwww
0807デフォルトの名無しさん
2009/09/17(木) 16:13:21ここは質問スレだろ
俺様の目が黒いうちに早く答えやがれ
0808デフォルトの名無しさん
2009/09/17(木) 16:21:46List<E> ならわかる?
0809デフォルトの名無しさん
2009/09/17(木) 17:11:54地球に優しいJAVAスレです
0810デフォルトの名無しさん
2009/09/17(木) 21:17:420811デフォルトの名無しさん
2009/09/17(木) 21:25:46T はネクタイだな
海パン刑事にしか見えなくなってきた
0812デフォルトの名無しさん
2009/09/17(木) 22:07:550813デフォルトの名無しさん
2009/09/17(木) 22:10:340814デフォルトの名無しさん
2009/09/17(木) 22:47:090815デフォルトの名無しさん
2009/09/17(木) 22:59:550816デフォルトの名無しさん
2009/09/17(木) 23:17:12教えて下さい!
0817デフォルトの名無しさん
2009/09/17(木) 23:22:15戻り値を複数戻したい場合どうすればいいのですか?
よろしくお願いします。
0818デフォルトの名無しさん
2009/09/17(木) 23:30:17戻り値をオブジェクトで返す
0819デフォルトの名無しさん
2009/09/17(木) 23:32:17下記のソースですと「仮」オブジェクトが2つメモリ上に作られ、その2つのオブジェクトの参照先がaとbの参照変数に格納管理されていると今までは考えていたのですが、eclipseのデバッグ機能でオブジェクトIDを見ながら処理させていくと、どちらもIDが同じになります。
ということは、
メモリ上には1つの「仮」オブジェクトしか作られていないということになるのでしょうか?
public class StringTest {
public static void main(String[] args) {
String a=new String("仮");
String b=new String("仮");
if(a==b){
System.out.println("等しい");
}else{
System.out.println("等しくない");
}
}
}
0820デフォルトの名無しさん
2009/09/17(木) 23:32:18配列にして返す
0821デフォルトの名無しさん
2009/09/17(木) 23:34:48複数回呼び出す。
0822デフォルトの名無しさん
2009/09/17(木) 23:34:53String型の場合はそうさね
0823デフォルトの名無しさん
2009/09/17(木) 23:35:050824デフォルトの名無しさん
2009/09/17(木) 23:38:020825デフォルトの名無しさん
2009/09/17(木) 23:40:53ちなみに、そのコードの実行結果はどうなったの?
0826デフォルトの名無しさん
2009/09/17(木) 23:42:14newしたら別のもん。Stringとか関係ない。
>>819
newしたらオブジェクトは絶対に作られるし参照も別になる。
但し別の箇所に書かれた同じ内容の文字列リテラルは参照が同一となる。
その例でいえば、"仮"自体はどっちも同じオブジェクト。
しかしnew Stringで2つの新規オブジェクトが作成される。
まあ、"仮"自体も、その2つのオブジェクトもプライベートフィールドに持ってる
char[]配列は同じもの指してるが。
0827デフォルトの名無しさん
2009/09/17(木) 23:43:33適当なこと言わないように
0828デフォルトの名無しさん
2009/09/17(木) 23:45:510829デフォルトの名無しさん
2009/09/17(木) 23:46:40flashやるんだったらjavaいらなくね?って感じですが
正直いいますと。。。
0830デフォルトの名無しさん
2009/09/17(木) 23:48:070831デフォルトの名無しさん
2009/09/17(木) 23:49:05ググレカス。
http://www.java-lang.net/entry128qvgxu/
0832デフォルトの名無しさん
2009/09/17(木) 23:50:020833デフォルトの名無しさん
2009/09/17(木) 23:50:51こ、これとは違うと思うんですが。。
flash、"a"の方ですよたぶん、>>828が言ってるのは
0834デフォルトの名無しさん
2009/09/17(木) 23:51:560835デフォルトの名無しさん
2009/09/17(木) 23:54:58Sou iu toki mo arusa
0836デフォルトの名無しさん
2009/09/17(木) 23:57:320837デフォルトの名無しさん
2009/09/18(金) 00:31:190838デフォルトの名無しさん
2009/09/18(金) 02:17:19ハッシュナンバーなら分かるが
0839デフォルトの名無しさん
2009/09/18(金) 02:26:000840デフォルトの名無しさん
2009/09/18(金) 02:27:52( ´,_ゝ`)プッ
0841838-839
2009/09/18(金) 02:31:49ハッシュコードはオーバーライドされてるから
文字列が同じなら同じ結果が計算されるんだから
同じメモリー上のオブジェクトだとは言えない
0842デフォルトの名無しさん
2009/09/18(金) 09:07:540843デフォルトの名無しさん
2009/09/18(金) 10:13:11FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
//ファイルの読み込み
fr.close();
ファイルの書き込みは
FileWriter fw = new FileWriter(scoreFile);
BufferedWriter bw = new BufferedWriter(fw);
//ファイルの書き込み
bw.close();
のような感じでやると習ったのですが、
読み込みではfrをcloseするのに対して
書き込みではfwではなくbwをcloseするのはなぜなのでしょうか?
fwはcolseしなくていいのでしょうか?
0844デフォルトの名無しさん
2009/09/18(金) 10:13:550845デフォルトの名無しさん
2009/09/18(金) 10:17:46bw.close() すれば内部で fw.close() する。
fw.close() じゃなくて bw.close() するのは
bw にバッファリングされた文字を書き出させるため。
0846デフォルトの名無しさん
2009/09/18(金) 10:18:440847デフォルトの名無しさん
2009/09/18(金) 10:27:230848デフォルトの名無しさん
2009/09/18(金) 10:33:050849デフォルトの名無しさん
2009/09/18(金) 10:40:59可能ならば委譲の先っぽから全部close()していってください
0850デフォルトの名無しさん
2009/09/18(金) 10:41:58おバカな質問大歓迎w
0851デフォルトの名無しさん
2009/09/18(金) 11:00:03なんとなくわかりました。
じゃあ読み込みでbrをcloseしないのは
どういうふうに説明できるのでしょうか?
0852デフォルトの名無しさん
2009/09/18(金) 11:06:05そこは fr.close() でも br.close() でもどっちでもいいから。
bw.close() との対称性とか気にせずに fr.close() してるだけ、かな?
よくわからん。
0853デフォルトの名無しさん
2009/09/18(金) 11:41:14ソースの重複してる部分をサブルーチン化して短くコンパクトに
してみたんだが、コンパイル後のjarファイルの総量は増えてた
な… 何を言ってるのか わからねーと思うが(略
0854デフォルトの名無しさん
2009/09/18(金) 11:44:360855デフォルトの名無しさん
2009/09/18(金) 11:52:180856デフォルトの名無しさん
2009/09/18(金) 11:57:360857デフォルトの名無しさん
2009/09/18(金) 12:00:11お前だろ?
0858デフォルトの名無しさん
2009/09/18(金) 12:11:07ageんなカス
0859デフォルトの名無しさん
2009/09/18(金) 12:15:090860デフォルトの名無しさん
2009/09/18(金) 16:11:13public static void main(String[] args) {
String a = new String("java");
String b;
b = a;
a = a.toUpperCase();
System.out.println(b);
}
}
String型のbにaと同じオブジェクトを参照させたいのですがどうすればいいのでしょうか。
配列の場合はできるのですが、String型の場合はできません。
aを加工すればbはaと同じオブジェクトを参照しているので
同じ文字列をを出力できると思っていたのですが。
0861デフォルトの名無しさん
2009/09/18(金) 16:23:120862デフォルトの名無しさん
2009/09/18(金) 16:25:510863デフォルトの名無しさん
2009/09/18(金) 16:30:01> a = a.toUpperCase();
この時点で a != b だ、よぉ〜く考えてみな。
0864デフォルトの名無しさん
2009/09/18(金) 16:31:550865860
2009/09/18(金) 16:55:510866デフォルトの名無しさん
2009/09/18(金) 17:31:53大文字の新しいStringを返すメソッド
0867860
2009/09/18(金) 18:07:43オブジェクトの値を変更したい場合はStringBufferを使えば良いとのことですので
そちらの方法を試してみます。いろいろと有難うございます。
0868デフォルトの名無しさん
2009/09/18(金) 19:31:04http://pc11.2ch.net/test/read.cgi/prog/1180796247/
0869デフォルトの名無しさん
2009/09/18(金) 21:57:01C/C++と比べるとJavaは遅いと言われていますが、NetBeansなどのエディタは相当速い気もするのですが。
Javaで作るべきでしょうか。
0870デフォルトの名無しさん
2009/09/18(金) 22:11:24これはCやC++と較べた場合にも当てはまります。
エディタを作る場合、高機能なものが作りたいのであればJavaを選択するメリットは大きいと思います。
逆に、とにかく高性能なものが必要であれば、より低水準な領域に手が出せる
C/C++を検討してみるのがいいかもしれません。
0871デフォルトの名無しさん
2009/09/18(金) 22:25:59わかる
0872デフォルトの名無しさん
2009/09/18(金) 22:28:380873デフォルトの名無しさん
2009/09/18(金) 22:37:000874デフォルトの名無しさん
2009/09/18(金) 22:41:42jEdit
0875デフォルトの名無しさん
2009/09/18(金) 22:50:22胸が熱くなってきた
0876デフォルトの名無しさん
2009/09/18(金) 22:52:380877デフォルトの名無しさん
2009/09/18(金) 23:10:140878デフォルトの名無しさん
2009/09/18(金) 23:11:010879デフォルトの名無しさん
2009/09/18(金) 23:38:31遅レスだが
equalsも文字を比較するようにオーバーライドされているから
同じオブジェクトかどうかを比較する事はできない
0880デフォルトの名無しさん
2009/09/18(金) 23:38:570881デフォルトの名無しさん
2009/09/19(土) 00:33:570882879
2009/09/19(土) 01:31:42スーパークラス部分のequals、hashcodeって呼び出せないよね?
これってわざとこういう仕様にしたのかな?
0883デフォルトの名無しさん
2009/09/19(土) 01:33:14super.メソッド名()
0884デフォルトの名無しさん
2009/09/19(土) 01:33:59まずはやってみようぜ
0885879
2009/09/19(土) 01:36:37>>884
それはStringクラスの中なら出来るんだが
実際インスタンをObjectにキャストした物経由でやるとサブクラスのが呼び出される
0886デフォルトの名無しさん
2009/09/19(土) 01:41:54サブクラスを作るときにオーバーライドしなければいいだけの話
オーバーライドした=スーパーインスタンスメソッドは要らないはず
両方ひつようなら、両方に対応できるよう、サブクラスを実装すれば
いいだけ
0887デフォルトの名無しさん
2009/09/19(土) 01:43:19低脳の相手は疲れるわ
0888879
2009/09/19(土) 01:44:02Stringのequals、hashコードを改造して書き換えたくなってくるがどうよ?
Stringのequals.hashcodeの中で比較したい
0889デフォルトの名無しさん
2009/09/19(土) 01:47:510890デフォルトの名無しさん
2009/09/19(土) 01:48:09じゃあ、Stringクラスのサブクラスつくって、equalsでもhashでも、
オーバーライドすりゃいいじゃないか
ちがうんか?
0891デフォルトの名無しさん
2009/09/19(土) 01:49:020892デフォルトの名無しさん
2009/09/19(土) 01:49:470893879
2009/09/19(土) 01:50:35Stringクラスを継承して、super.superとやれば良いかな
0894デフォルトの名無しさん
2009/09/19(土) 01:53:20終わってる
0895デフォルトの名無しさん
2009/09/19(土) 01:55:09ざんねんながら、super.super.メソッド名()のような、2つ以上
上のスーパークラスのメンバにはアクセスできんのだよ
0896デフォルトの名無しさん
2009/09/19(土) 01:55:53アホ杉ワロタ
0897879
2009/09/19(土) 01:56:12String、final 付いてるな
これはあやしい
Stringをぶっ壊すしかない
0898デフォルトの名無しさん
2009/09/19(土) 01:57:43じゃんねん
0899879
2009/09/19(土) 01:58:48あればオリジナルなStirngを作れば良いか
0900デフォルトの名無しさん
2009/09/19(土) 01:59:27オブジェクトが等しいか比較するのは == だろ。
equals メソッドを使う必要はない。
0901デフォルトの名無しさん
2009/09/19(土) 01:59:42なんで、879はそんなにequalsメソッドを書き換えたいの?
0902デフォルトの名無しさん
2009/09/19(土) 02:00:100903デフォルトの名無しさん
2009/09/19(土) 02:01:41おまえはおまえで、どうしてここでそれが出てくるんだ?
0904879
2009/09/19(土) 02:08:15あれ?そういえばそうだな
public class StringTest {
public static void main(String[] args) {
String st1 = new String("moji");
String st2 = new String("moji");
System.out.println(st1 == st2);
}
}
やっぱりfalseになったわ
どこかで同じになったって書いてあって気になったから実験してみた
0905デフォルトの名無しさん
2009/09/19(土) 02:11:02>>819
同じになったなんて書いてない。
0906デフォルトの名無しさん
2009/09/19(土) 02:12:17前に書いてあったのは、Stringオブジェクトの内部変数char[]が
同じリテラルのオブジェクト同士は同じだっていうはなしじゃなかったか?
0907デフォルトの名無しさん
2009/09/19(土) 02:13:540909デフォルトの名無しさん
2009/09/19(土) 02:51:05finalなのもサブクラスでイミュータブルが不用意に破られないようにしている意味が大きいんだから。
0910デフォルトの名無しさん
2009/09/19(土) 03:06:240911デフォルトの名無しさん
2009/09/19(土) 03:18:210912デフォルトの名無しさん
2009/09/19(土) 04:51:37レベルの低い奴は初質に行けよ
0913デフォルトの名無しさん
2009/09/19(土) 07:45:22日本男児なら素直にRUBYを使え
0914デフォルトの名無しさん
2009/09/19(土) 07:47:500915デフォルトの名無しさん
2009/09/19(土) 08:24:19オーバーライドされる前のhashcode見たければ
System#identityHashCodeを使えばいいよ。
実際にこれ使ったIdentityHashMapとかあるわけだし。
0916デフォルトの名無しさん
2009/09/19(土) 10:13:43でも、ほとんど必要ないな
0917デフォルトの名無しさん
2009/09/19(土) 10:23:250918デフォルトの名無しさん
2009/09/19(土) 10:24:23チームへの貢献度なら桁違いだし
0919デフォルトの名無しさん
2009/09/19(土) 10:26:040920デフォルトの名無しさん
2009/09/19(土) 15:47:51public void run() {
while (true) {
current = blockingQueue.take();
// current を処理する (略)
}
}
// e がキューに入っているか現在処理中であるなら true
synchronized boolean check(Object e) {
return (e == current) || blockingQueue.contains(e);
}
(つづく)
0921デフォルトの名無しさん
2009/09/19(土) 15:49:20以上のようなコードを書いたのですが、
ある x というオブジェクトが
キューから take() で取り出された後 current に代入されるまでの
わずかな間に check(x) が呼ばれると false を返してしまいます。
複雑なやり方をすれば何とか解決できそうなんですが、
何かシンプルな解決法か、
こういった場合の一般的なイディオムはありますか?
0922デフォルトの名無しさん
2009/09/19(土) 16:00:38排他制御とかスレッドの基本中の基本だから入門書でも読んでからやってくんねーか
お前入門書レベルの分からない壁にぶち当たる度にこのスレに質問しに来る気か?
0923デフォルトの名無しさん
2009/09/19(土) 16:08:500924デフォルトの名無しさん
2009/09/19(土) 16:13:46バカじゃねーの
current = Queue.peek()してから次にQueue.poll()すればいいだけだろ
頭おかしいんじゃねーのか
知ったかの初心者が回答するんじゃねーんだよ
お前らこそ入門書読んでやがれクソハゲ
0925デフォルトの名無しさん
2009/09/19(土) 16:16:240926デフォルトの名無しさん
2009/09/19(土) 16:17:390927デフォルトの名無しさん
2009/09/19(土) 16:20:360928デフォルトの名無しさん
2009/09/19(土) 16:23:12currentのスコープがようわからんし、checkを誰が呼びたいのかもよくわからんけど。
ついでにblockingQueueの型も。
0929920
2009/09/19(土) 16:55:18単純に synchronized を使うとデッドロックする可能性があります。
take() を使うのをあきらめて、
peek() が非 null を返すまでビジーウェイトするべきでしょうか?
画像ファイルを次々にキューに入れていって、
それを1つずつロードするというイメージです。
check() が false を返したファイルをキューに追加するとか、
check() が true を返した画像ファイルには
「ロード中」の印をつけるとかいった使い方をします。
0930デフォルトの名無しさん
2009/09/19(土) 17:04:110931デフォルトの名無しさん
2009/09/19(土) 17:04:26分からないことは全部ここで聞きたいらしい
0932デフォルトの名無しさん
2009/09/19(土) 17:05:220933デフォルトの名無しさん
2009/09/19(土) 17:06:080934デフォルトの名無しさん
2009/09/19(土) 17:07:540935デフォルトの名無しさん
2009/09/19(土) 17:08:320936デフォルトの名無しさん
2009/09/19(土) 17:08:590937デフォルトの名無しさん
2009/09/19(土) 17:11:35(`;ω;´)
0938デフォルトの名無しさん
2009/09/19(土) 17:12:020939デフォルトの名無しさん
2009/09/19(土) 17:14:510940デフォルトの名無しさん
2009/09/19(土) 17:17:300941デフォルトの名無しさん
2009/09/19(土) 17:25:070942デフォルトの名無しさん
2009/09/19(土) 17:29:150943デフォルトの名無しさん
2009/09/19(土) 17:29:52(´・ω・) いやどす
ハ∨/~丶
ノ[三ノ |
(L|く_ノ
|* |
ハ、__|
""~""""""~""~""~""
0944デフォルトの名無しさん
2009/09/19(土) 17:31:10○もうプログラミング辞めてくれませんか。
0945デフォルトの名無しさん
2009/09/19(土) 17:39:16なにをどうすればFoundできるんでしょうか?
クラスファイルはあるんですよ。
0946デフォルトの名無しさん
2009/09/19(土) 17:40:040947デフォルトの名無しさん
2009/09/19(土) 18:11:23currentに処理前 処理中 処理完了のフラグをフィールドで持たせるのは?
0948デフォルトの名無しさん
2009/09/19(土) 18:14:20逝ってよし
0949デフォルトの名無しさん
2009/09/19(土) 19:47:460950デフォルトの名無しさん
2009/09/19(土) 22:19:30例えばあるファイルを複数のフォルダにコピーするメソッドで、
引数に元ファイルパスを指定し、コピー先ファイルパスを以下のように指定します。
文字列で、"C:\\Program Files\\folder(hoge)" ※hogeはあらかじめ決めておく任意の文字列
そしてhogeが1から10までだとすると1や10も引数に指定してやります。
具体例:
boolean method("C:\\SourceForge\\textfile.txt", "C:\\Program Files\\folder(hoge)\\copyfile.text", 1, 10)
メソッド内で何をするかと言うと、第2引数の文字列から予め決めてある文字列が含まれているか検索します。
勿論、見つからなかったらfalseを返します。
見つかったら文字列をそこで分解してやります。
この場合は、"C:\\Program Files\\folder(" と ")\\copyfile.text"です。
そしてforループを1から10で回してやって
C:\\Program Files\\folder(1)\\copyfile.text
C:\\Program Files\\folder(2)\\copyfile.text
|
C:\\Program Files\\folder(10)\\copyfile.textとコピーするんです。
やっぱりこんなメソッドおかしいでしょうか?
何か他にこうすればいいじゃんっていうのがあったら教えて貰えませんか?
0951デフォルトの名無しさん
2009/09/19(土) 22:23:150952デフォルトの名無しさん
2009/09/19(土) 22:29:48でいいのでは
0953デフォルトの名無しさん
2009/09/19(土) 22:35:16すみません。プロではなくただの素人なので変なことを言ってるかもしれません。
>>952
なるほど。それは確かにそうですね。
>>952のようなメソッドってそんなにおかしなメソッドじゃなく割とありそうなメソッドでしょうか?
0954デフォルトの名無しさん
2009/09/19(土) 22:44:20ageるなカス
0955デフォルトの名無しさん
2009/09/19(土) 22:47:11「おかしなメソッド」の意味がわからん
処理の内容のこと? 引数のこと?
0956デフォルトの名無しさん
2009/09/19(土) 22:57:320957デフォルトの名無しさん
2009/09/19(土) 22:59:00method(int startIndex,int length)とか普通に書くし
0958デフォルトの名無しさん
2009/09/19(土) 23:03:34なら安心ですね。
変な質問に付き合ってくれて有難うございました。
0959920
2009/09/19(土) 23:25:05「take() を使うのをあきらめる」というのは
「BlockingQueue を使うのをあきらめる」とおなじ意味です。
>>947
何か上手いフラグの使い方があるでしょうか?
単純にフラグを使っても、おそらくおなじ結果になると思います。
current の値が、事実上フラグとおなじようなものだからです。
0960デフォルトの名無しさん
2009/09/19(土) 23:38:17これは発想できるのに、なんで直前にwaitを挟むって考えに至らないんだろう
0961デフォルトの名無しさん
2009/09/19(土) 23:41:010962デフォルトの名無しさん
2009/09/19(土) 23:49:570963デフォルトの名無しさん
2009/09/20(日) 00:02:550964デフォルトの名無しさん
2009/09/20(日) 00:05:171.5移行なら PrintStream(OutputStream out) でPrintStream作って
PrintStream#printf() を通して書式を管理できるかも
0965デフォルトの名無しさん
2009/09/20(日) 00:20:11キューに入れる前にtrueにして、処理が終わったらfalseすればどう?
0966デフォルトの名無しさん
2009/09/20(日) 00:21:030967デフォルトの名無しさん
2009/09/20(日) 00:24:230968デフォルトの名無しさん
2009/09/20(日) 00:26:14Object eが読み込み中かどうかが知りたいのだから
Object eにそういうフィールドを作って、処理する時に適宜書き換えればいいよ
isLoadingとかisQueuingとか
0969デフォルトの名無しさん
2009/09/20(日) 00:27:470970デフォルトの名無しさん
2009/09/20(日) 00:34:400971デフォルトの名無しさん
2009/09/20(日) 00:38:090972デフォルトの名無しさん
2009/09/20(日) 00:42:400973デフォルトの名無しさん
2009/09/20(日) 00:54:38それは過去の話ですね
別々にしようと思って、スレタイを前スレから替えたんじゃないんだけどな〜
>>1の俺が言うんだから間違いない
0974デフォルトの名無しさん
2009/09/20(日) 01:01:500975973
2009/09/20(日) 01:09:34★★Java質問・相談スレッド133★★
ttp://pc12.2ch.net/test/read.cgi/tech/1253376151/
>>974
嘘は寝てから言え
なぜ、2つに分けたのかのか理由を答えてみろ
0976デフォルトの名無しさん
2009/09/20(日) 02:06:24馬鹿も休み休みいえ
俺こそが本物の>>1だ
0977デフォルトの名無しさん
2009/09/20(日) 05:19:140978デフォルトの名無しさん
2009/09/20(日) 07:17:140979デフォルトの名無しさん
2009/09/20(日) 08:29:53そろそろ梅。
0980デフォルトの名無しさん
2009/09/20(日) 09:59:03今も時代のJVMも速度に変化あるわけ?
0981デフォルトの名無しさん
2009/09/20(日) 10:05:260982デフォルトの名無しさん
2009/09/20(日) 10:09:26https://www.ibm.com/developerworks/jp/java/library/j-jtp04223/
0983デフォルトの名無しさん
2009/09/20(日) 18:32:08や、そもそもthis.currentを別スレッドで見てるなら、this.currentに代入する部分と、this.currentを参照する部分の両方で排他制御しなきゃだめだろ。
synchronized (this) { current = blockingQueue.take(); }
0984デフォルトの名無しさん
2009/09/20(日) 18:35:45関数テーブルを作ることが皆無とは言わないが、普通はポリモフィズムで十分だ。
0985デフォルトの名無しさん
2009/09/20(日) 22:51:05String#getChars()とかまんどくせ
0986デフォルトの名無しさん
2009/09/20(日) 23:54:51synchronizedするとtake()がブロックし続けるからまずいって言ってるっぽいよ。
別スレッドがエンキューするためにcheck()->add()/put()呼びたいけど、
take()でブロックされてるとデッドロックになるってことでしょ。
0987デフォルトの名無しさん
2009/09/21(月) 06:10:570988デフォルトの名無しさん
2009/09/21(月) 06:28:570989デフォルトの名無しさん
2009/09/21(月) 09:05:44ああ、確かに。take()でブロックされたらthisもロックされたままになるか。
しかし、920をよく見てみると、take()からcurrentの部分がatomicになっても、
check()を呼び出す部分が、
if (!check(e)) add(e);
だったら、
1) thread-A: check(e)->false
2) thread-B: check(e)->false
3) thread-A: add(e);
4) thread-B: add(e);
となる可能性はあるよな。……920自体を根本的に考え直す必要があるような気がする。
0990デフォルトの名無しさん
2009/09/21(月) 09:46:26初歩的な質問は【初心者】Java質問・相談スレッド132【専用】でしてください。
0991デフォルトの名無しさん
2009/09/21(月) 09:56:050992デフォルトの名無しさん
2009/09/21(月) 11:29:24バッファ分けるか処理分けるかしなさい
0993デフォルトの名無しさん
2009/09/21(月) 11:45:010994デフォルトの名無しさん
2009/09/21(月) 12:41:170995デフォルトの名無しさん
2009/09/21(月) 16:41:37Class.forName("クラスA");
Class.forName("クラスA");
Class.forName("クラスA");
Class.forName("クラスA");
これを実行した場合、JavaVMには同じクラスが5個ロードされるのでしょうか?
それともクラスローダは同じクラスが存在すると、ロードしないのでしょうか?
0996デフォルトの名無しさん
2009/09/21(月) 16:45:550997デフォルトの名無しさん
2009/09/21(月) 16:48:280998デフォルトの名無しさん
2009/09/21(月) 16:49:23同じクラスを5個ロードするには少々面倒なことをしないといけない
0999デフォルトの名無しさん
2009/09/21(月) 17:02:061000デフォルトの名無しさん
2009/09/21(月) 17:07:0510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。