★★Java質問・相談スレッド132★★at TECH
★★Java質問・相談スレッド132★★ - 暇つぶし2ch150:デフォルトの名無しさん
09/09/04 18:20:00
アホか、銀行とかむしろ基幹系の方がそういうルール残っているんだよ

151:デフォルトの名無しさん
09/09/04 18:45:04
クラス設計がウンコなんだろ

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


153:デフォルトの名無しさん
09/09/04 19:04:31
>>152
<アマチュアの製作現場ですね

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

155:デフォルトの名無しさん
09/09/04 20:45:40
質問です!

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

156:デフォルトの名無しさん
09/09/04 20:51:34
つ socket

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

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

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

160:デフォルトの名無しさん
09/09/04 21:09:30
>>159
伝送路が混んでるときとか

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

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

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

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

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

164:デフォルトの名無しさん
09/09/04 22:00:51
>>163は仕様書をかけないタイプ

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

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

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

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

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

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

171:デフォルトの名無しさん
09/09/04 23:37:56
ごめん繋がった。なんだこりゃ

172:デフォルトの名無しさん
09/09/05 00:07:24
UDPだとデータ損失しちゃうだろ

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

174:デフォルトの名無しさん
09/09/05 00:20:58
はぁ~?

175:デフォルトの名無しさん
09/09/05 01:33:37
JavaでOSがなくなる!?
スレリンク(tech板)

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

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

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

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

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

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

182:デフォルトの名無しさん
09/09/05 02:59:49
自己紹介乙

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

184:デフォルトの名無しさん
09/09/05 04:16:59


185:デフォルトの名無しさん
09/09/05 04:19:20
>>183
はいりません

186:デフォルトの名無しさん
09/09/05 06:34:23
>>183
XML-RPCも入れてあげて下さい

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

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

189:575
09/09/05 09:58:17
>>188


190:デフォルトの名無しさん
09/09/05 10:02:20

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

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

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

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

193:デフォルトの名無しさん
09/09/05 10:22:34
>>192
馬鹿に付ける薬

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

195:デフォルトの名無しさん
09/09/05 10:52:57
SomethingExtendedA

196:デフォルトの名無しさん
09/09/05 10:54:46
AImplX

197:デフォルトの名無しさん
09/09/05 11:01:14
なにかのメソッドを追加したA


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

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


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

200:デフォルトの名無しさん
09/09/05 11:08:48
便利な機能を詰め込んだA

201:デフォルトの名無しさん
09/09/05 11:08:55
日本語は使いたくないので英語でお願いします。

202:デフォルトの名無しさん
09/09/05 11:10:12
AWithUsefulUnkoMethods

203:デフォルトの名無しさん
09/09/05 11:12:31
AfeaturingEXILE

AWithSupportingSomeOperations

204:デフォルトの名無しさん
09/09/05 11:13:57
>>198
ManyBigBenClass

205:デフォルトの名無しさん
09/09/05 11:14:14
ありがとうございます!

206:デフォルトの名無しさん
09/09/05 11:14:56
>>204
Manyなのかは審議が必要

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

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

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

210:デフォルトの名無しさん
09/09/05 14:12:40
>>209
DRYの、

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

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


>>211
軽快なJava


213:デフォルトの名無しさん
09/09/05 19:05:57
だが俺は鈍重

214:212
09/09/05 19:07:36
>>208
じゃなくて
>>209
な。


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

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

217:デフォルトの名無しさん
09/09/05 20:25:28
>>216
Effective Javaホントに読んだことあるのか?


218:デフォルトの名無しさん
09/09/05 20:29:33
>>217
俺もその本はあんまり薦めんよ

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

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

221:211
09/09/05 21:19:33
>>212,>>215-216
ありがとうございます

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

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

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

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


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

意味不明。



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

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

225:デフォルトの名無しさん
09/09/05 21:54:24
>>222
英語も日本語も読めないだけでしょ

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

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

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

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

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

231:デフォルトの名無しさん
09/09/05 23:42:05
>>229
はいはい、凄いでちゅね

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

233:デフォルトの名無しさん
09/09/05 23:44:32
鼻糞乙

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

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

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

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

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


238:デフォルトの名無しさん
09/09/06 00:49:03
布団に潜り込んで寝っ転がって読むのが好き

239:デフォルトの名無しさん
09/09/06 00:55:54
>>237
無理しなくていいよw

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

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

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

241:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/09/06 04:08:48
141行目をコメントアウトしてもっかいやってみるとどうなる?
どっか括弧閉じ忘れてるんだと思う。

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

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

245:デフォルトの名無しさん
09/09/06 04:14:48
>>243
レスありがとうございます。

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

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

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

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

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

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

250:デフォルトの名無しさん
09/09/06 04:34:22
>>239
精一杯の見栄張り乙

251:デフォルトの名無しさん
09/09/06 04:36:19
というか実際動かしもしないで聞くか普通?

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

253:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/09/06 09:42:00
>>253
意図がわからんが、その場合ha.gifはコピーされない。

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

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

257:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/09/06 12:58:16
>>257
もうちょっとデータ構造を見直せば
思ったより手間がかからなくなりそうだな

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

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


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

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

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

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

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

262:デフォルトの名無しさん
09/09/06 17:55:59
学習の目的が解らない

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

264:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/09/06 18:28:36
>>264
同じ

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

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


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

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

269:264
09/09/06 19:26:55
>>265
トンクス

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

271:デフォルトの名無しさん
09/09/06 19:36:05
DDR2入れれるPCじゃなさそうだからこまる

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

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

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

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

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

276:デフォルトの名無しさん
09/09/06 19:54:49
時代を感じるね

277:デフォルトの名無しさん
09/09/06 19:55:11
オタクコア に見えた

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

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

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

279:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/09/06 20:11:39
Java SE5の頃よね。5年前って。

281:デフォルトの名無しさん
09/09/06 20:13:34
>>279
>return "abcde" + "fghij" + "klmno" + "pqrst" + "uvwxy";

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

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

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

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

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

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

285:281
09/09/06 20:32:37
言語仕様では「結合してもよい」だったと思うけど。
たいした違いはないが。

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

287:デフォルトの名無しさん
09/09/06 20:38:03
jadで逆コンパイルすればおk

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

まあこれでも見てくれ。
URLリンク(java.sun.com)
>Strings computed by constant expressions (§15.28) are
>computed at compile time and then treated as if they were literals.


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

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

291:261
09/09/06 20:52:29
みなさん、いろいろなアドバイスをどうもありがとう。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java SE 6 の互換性
URLリンク(java.sun.com)

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

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

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

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

306:デフォルトの名無しさん
09/09/06 22:00:22
>>302


307:デフォルトの名無しさん
09/09/06 22:02:30
>>304もありがと、チュッ♥

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

309:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/09/06 22:39:12
根本的にJScrollBarの使い方がおかしい

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

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

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


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

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

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

317:デフォルトの名無しさん
09/09/06 23:35:04
>>305
いらない。
URLリンク(java.sun.com)
から落とせるドキュメントに必要なものは一通り入ってる。

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

319:デフォルトの名無しさん
09/09/06 23:43:27
メーリングリストで質問しろ

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

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


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

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


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

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

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

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

326:デフォルトの名無しさん
09/09/07 01:06:34
Threadを生のまま使わないのが早道

327:デフォルトの名無しさん
09/09/07 01:07:22
タイミングに起因するテストはまず無理

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

329:デフォルトの名無しさん
09/09/07 01:10:58
>>309
ヒント。Hoge のレイアウトは?

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

331:デフォルトの名無しさん
09/09/07 01:16:20
最近の人なので知りません

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

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

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

335:318
09/09/07 01:56:36
仕方ないのでTilesとc:importを組み合わせてみようと思います

336:318
09/09/07 02:18:49
やっぱダメだ
相対リンクがおかしくなるみたい
フレームでなんとかしないと
URLリンク(www.ibm.com)

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

338:デフォルトの名無しさん
09/09/07 02:35:36
>>330
teikade のこと?

339:デフォルトの名無しさん
09/09/07 07:17:33
InterStageだろ

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

341:デフォルトの名無しさん
09/09/07 10:32:25
valueをkeyにしておく

342:デフォルトの名無しさん
09/09/07 10:34:04
そうするとkeyからvalueが得られません。

343:デフォルトの名無しさん
09/09/07 10:35:15
両方作れやw

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

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

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

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

348:デフォルトの名無しさん
09/09/07 10:57:46
全単射です。

349:デフォルトの名無しさん
09/09/07 11:02:57
reversePool

350:デフォルトの名無しさん
09/09/07 11:05:38
ありがとうございました。

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

352:デフォルトの名無しさん
09/09/07 11:20:12
valueがStringとかなら㍉

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


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

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

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

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

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

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

360:デフォルトの名無しさん
09/09/07 16:53:01
みんな最初は業務からjava始めたの?

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

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

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

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

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

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

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

366:デフォルトの名無しさん
09/09/07 17:19:44
上から目線w

367:デフォルトの名無しさん
09/09/07 17:43:18
そりゃ事実上だもの

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

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

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

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

370:デフォルトの名無しさん
09/09/07 18:12:55
>>368
ないなw
先輩にコボラーとかいそうw

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

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

372:デフォルトの名無しさん
09/09/07 18:21:59
Java関係ねえじゃん

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

374:デフォルトの名無しさん
09/09/07 18:23:16
いやそういうのいいから

375:371
09/09/07 18:25:15
Javaに関しては>>369に同意ね

376:デフォルトの名無しさん
09/09/07 18:25:22
Cだろ
JNIでも使わせる気かよw

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

378:デフォルトの名無しさん
09/09/07 18:32:25
てかプロは写し書きしてたらいかんだろw

379:デフォルトの名無しさん
09/09/07 18:55:03
独学はやめとけ

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

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

382:デフォルトの名無しさん
09/09/07 19:42:42
質問・相談スレではなく雑談スレになってるね

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

384:デフォルトの名無しさん
09/09/07 20:01:48
>>469>>471は優秀な翻訳者。

385:デフォルトの名無しさん
09/09/07 20:03:01
誤爆りましたスマソ

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

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

388:デフォルトの名無しさん
09/09/07 20:30:04
色々沸いているのがいるな

389:デフォルトの名無しさん
09/09/07 20:33:35
エクリプスと読むことを今知った俺


390:デフォルトの名無しさん
09/09/07 20:38:29
>>348-356
いまさらレスだけど、双射ならApache Commonsの
BidiMap(bidirectional Map)使えば済む話。
URLリンク(commons.apache.org)

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

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

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

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

392:デフォルトの名無しさん
09/09/07 20:51:01
ワームだね

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

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

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

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

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

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

398:デフォルトの名無しさん
09/09/08 00:53:11
condでいろんな処理すんなよ、面倒だから

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

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

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

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

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

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

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

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

はあ宇津田志納

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

404:デフォルトの名無しさん
09/09/08 10:05:38
アセンブラ信者か
Javaには珍しいな

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

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

406:デフォルトの名無しさん
09/09/08 10:23:30
解ってるなら愚痴ってないで勉強しろ

407:360
09/09/08 10:24:11
406>>
ちょこちょこ見ながら業務中。
というか開発中。

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

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

409:360
09/09/08 16:31:52
>>408
だからどうすればいいかと聞いてたんだけど
問題ないと思ってないから質問したんだが。
俺が間違ってたか?

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

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

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

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

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

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



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

414:360
09/09/08 17:13:39
連投すまん。

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

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

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

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

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

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

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

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

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

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

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

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

423:デフォルトの名無しさん
09/09/08 19:01:08
>>422
とんでもない素人だな

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

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

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


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

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


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

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



429:デフォルトの名無しさん
09/09/08 22:07:51
>>428
そうですか。
よかったですね。

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

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

432:428
09/09/08 22:22:31
うーん、自己解決だ。
compareToか。

433:428
09/09/08 22:26:24
>>431
containsですか、ありがとうございます。


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

435:デフォルトの名無しさん
09/09/08 22:56:09
>>428
<Custome>
って何?

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

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

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

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


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

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

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

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

443:デフォルトの名無しさん
09/09/09 19:47:47
ないよ
Java3Dで選択できる

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

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

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

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

446:デフォルトの名無しさん
09/09/09 20:38:11
そりゃJavaの話じゃなくてコマンドプロンプトの話だろ

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

448:デフォルトの名無しさん
09/09/09 20:59:19
start java ~~
ってやれよ。

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

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

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

では消せませんでした。

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

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

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

454:デフォルトの名無しさん
09/09/09 21:53:14
作り手が悪い

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

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

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

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

457:デフォルトの名無しさん
09/09/09 22:00:17
JInternalFrame使えば?

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

459:デフォルトの名無しさん
09/09/09 22:00:58
JavaでC言語は作れますか?

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

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

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

463:デフォルトの名無しさん
09/09/09 22:07:11
>>448
何それ!

464:455
09/09/09 22:09:14
>>457
その場合は、たとえば領域が

AB
CD

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

465:デフォルトの名無しさん
09/09/09 22:10:51
コマンドプロンプトだしてstart /?って打とうな。

466:デフォルトの名無しさん
09/09/09 22:13:25
start?


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

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

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

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

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

471:デフォルトの名無しさん
09/09/09 22:38:50
右クリック→コピー

472:デフォルトの名無しさん
09/09/09 22:40:37
何でないのって言われたってさあ

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

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

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

475:デフォルトの名無しさん
09/09/09 22:44:38
>>470
Jakarta CommonsのFileUtils

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

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

477:デフォルトの名無しさん
09/09/09 22:44:56
>>470
URLリンク(bugs.sun.com)
こんな理由で存在しない。

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

478:デフォルトの名無しさん
09/09/09 23:04:05
>>473
時間計ってないのかよwww

479:デフォルトの名無しさん
09/09/10 00:27:41
クラスパスとビルドパスって何が違うのん?

480:デフォルトの名無しさん
09/09/10 00:44:03
クラスパス=起動時
ビルドパス=コンパイル時

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

Swingの文字列操作はできないっていうのを見つけたんだけど
いかんせんLastUpdateが2002年なもんで。
URLリンク(satoshi.kinokuni.org)

何か知ってる方いる?

482:デフォルトの名無しさん
09/09/10 10:41:33
出来るよ

483:デフォルトの名無しさん
09/09/10 11:07:23
>>482
ウホッ まじか

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

484:デフォルトの名無しさん
09/09/10 11:08:30
>>482
あと㌧

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

486:デフォルトの名無しさん
09/09/10 21:35:13
>>485
なんだ、ただのバカか

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

488:デフォルトの名無しさん
09/09/10 22:26:29
doxygenってjavadocより良いの?

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

490:デフォルトの名無しさん
09/09/10 22:47:15
無難にAI付きオセロでも作ってろ

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

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

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

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

URLリンク(ubaa.net)

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

494:デフォルトの名無しさん
09/09/10 23:24:46
javaでOpenCVかー。集合知AIに一票。

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

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

496:デフォルトの名無しさん
09/09/10 23:37:38
wwwwwwwwww

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

498:デフォルトの名無しさん
09/09/10 23:47:51
だってJavaじゃないとできないことって別に…ね

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

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


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

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

502:デフォルトの名無しさん
09/09/11 12:03:07


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

504:デフォルトの名無しさん
09/09/11 12:36:02
1個目
valueOfに渡した引数

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

517:デフォルトの名無しさん
09/09/11 13:50:44
>>513
そんなの初期化するまでもねーだろ

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

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



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

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


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

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

522:デフォルトの名無しさん
09/09/11 13:55:50
Operate(演算)とか

523:デフォルトの名無しさん
09/09/11 14:04:46
untie、work through、resolve
solve、solve for

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

524:デフォルトの名無しさん
09/09/11 14:04:59
apply

525:デフォルトの名無しさん
09/09/11 14:05:58
>問題がわかってないみたいなので

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

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

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

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

529:デフォルトの名無しさん
09/09/11 14:10:38
また何かわけのわからぬことを言い出しました

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

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

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

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

534:デフォルトの名無しさん
09/09/11 14:17:31
もうxnituitekeisansuruとでも書いとけよ

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

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

536:デフォルトの名無しさん
09/09/11 14:20:09
そんなことより変数の命名規則がわかんねえ・・・

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

538:デフォルトの名無しさん
09/09/11 14:21:27
じゃあただ単にvalueでいいんじゃね

539:デフォルトの名無しさん
09/09/11 14:22:14
面倒だからparseIntに1票。

540:デフォルトの名無しさん
09/09/11 14:22:19
じゃあvalueにします。ありがとうございます。

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

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

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

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

544:デフォルトの名無しさん
09/09/11 14:42:20
後の三平である

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

546:デフォルトの名無しさん
09/09/11 19:22:02
臭いのがいるな

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

548:デフォルトの名無しさん
09/09/11 19:49:40
しらねーよw

549:デフォルトの名無しさん
09/09/11 19:57:24
どこにあるんだよw

550:デフォルトの名無しさん
09/09/11 20:00:50
声出してワラタw

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

552:547
09/09/11 20:18:25
>>548-549
JDKのソース

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

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

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

555:デフォルトの名無しさん
09/09/11 21:03:49
標準ライブラリのMathクラスが一つの例になる

556:デフォルトの名無しさん
09/09/11 22:01:22
>>554-555
ありがとうございます

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

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

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

559:デフォルトの名無しさん
09/09/12 00:05:12
Javaをやりつつ童貞卒業したら

560:デフォルトの名無しさん
09/09/12 08:37:36
初心者はバズワードです

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

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

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

564:デフォルトの名無しさん
09/09/12 15:56:55
>>563
じゃ・・・ば・・・?

565:デフォルトの名無しさん
09/09/12 16:13:54
DevPartner?

566:デフォルトの名無しさん
09/09/12 16:34:28
>>565
URLリンク(www.microfocus.co.jp)
ソース分析ソフト

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

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

569:デフォルトの名無しさん
09/09/12 17:20:17
貧乏人くやしいのうwwwwwwwwwwwくやしいのうwwwwwwwwwwwww

570:デフォルトの名無しさん
09/09/12 17:27:43
くやしいです

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

572:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/09/12 17:51:28
>>567
>>568
私が持っているのではないので・・・誰も教えてくれる人が周りにいないのですよ。

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

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

いろいろ調べてみたのですが、もしかしてnewしているのが悪いって事かな?
参考にしたWeb > URLリンク(www.javaroad.jp)

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

575:デフォルトの名無しさん
09/09/12 17:57:14
Javaを解る人間雇えよ・・・

576:572
09/09/12 18:04:19
アンカ間違えてた。スマソ

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

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

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

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

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

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

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

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

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

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

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

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

582:デフォルトの名無しさん
09/09/12 18:52:16
>>578

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

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

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

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

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

587:デフォルトの名無しさん
09/09/12 20:34:25
ねーよw

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

よ?

589:デフォルトの名無しさん
09/09/12 20:37:39
ねえよなw
586は最後に?を入れ忘れた

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

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

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

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

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

593:デフォルトの名無しさん
09/09/12 21:36:38
>>591
Stringはimmutableだと何度も(ry

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

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

596:デフォルトの名無しさん
09/09/12 22:10:43
>>593
>>591をよく読めばいいのに

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

598:デフォルトの名無しさん
09/09/12 23:46:13
会社の支給品だろ。

599:デフォルトの名無しさん
09/09/12 23:57:03
それより>>577がエスパーすぎる

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

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

602:デフォルトの名無しさん
09/09/13 00:22:43
無知が語るなよ。

603:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/09/13 10:54:05
クロームってJavaも速いって噂ですよね?
ネットブック(cpu 1.4Ghz程度)でもサクサクですか?

605:デフォルトの名無しさん
09/09/13 11:00:32

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

('A' )…

606:デフォルトの名無しさん
09/09/13 11:08:15
>>605
何か不満か?Zの分もループしたいか?

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

('A';;;)…

608:デフォルトの名無しさん
09/09/13 11:13:11
ああそういう意味か

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

後、三項演算子嫌う人

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

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

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

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

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

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

612:デフォルトの名無しさん
09/09/13 12:39:10
Velocityスレなかったっけ?

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

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

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

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

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

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

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

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

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

619:デフォルトの名無しさん
09/09/13 16:09:38
>>616
文字として扱いたいならchar型を使うんだ

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

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

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

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

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

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

626:デフォルトの名無しさん
09/09/13 20:33:35
プログラミングに触った事のない俺が趣味程度でjavaを始めてみようと思ってるんだけど
参考書みたいなのは明解Java 入門編 (単行本) これで大丈夫かな?
ど素人にオススメの本ってある?

627:デフォルトの名無しさん
09/09/13 20:36:37
やさしいJavaでも読んでろ

628:デフォルトの名無しさん
09/09/13 20:39:12
口調が厳しいのは2ch住人の仕様です

629:デフォルトの名無しさん
09/09/13 21:58:49
Blobクラスを使い、データベースからバイナリデータ(エクセルファイル)を
出力するとファイルが壊れてしまいます。
どこが悪いのかわかりません。
お詳しい方が居たら、ご教授いただけませんでしょうか?

環境:WindowsVista
データベース:Derby


630:デフォルトの名無しさん
09/09/13 22:01:09
>>610
Velocityは詳しくないが検索したらこれを見つけた。
URLリンク(mail-archives.apache.org)

631:629
09/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:デフォルトの名無しさん
09/09/13 22:14:56
最後closeしてないの?

633:デフォルトの名無しさん
09/09/13 23:14:56
大量の文字を高速にswing上のコンポーネントに、描写する方法はないですか?
できれば、任意にハイパーリンクのようなものを配置したいです

634:デフォルトの名無しさん
09/09/13 23:16:47
普通に描画しても遅い気はしないが?

635:633
09/09/13 23:23:29
>>634
だいたい、10万文字くらい表示しようと考えています
なので、部分的に表示しないと重くなります
どうやれば部分的に文字を表示する機能を実装するか、教えていただきたいです

636:デフォルトの名無しさん
09/09/13 23:33:33
想像と桁が違ったわ

637:デフォルトの名無しさん
09/09/13 23:34:56
現在の表示位置と表示エリアの高さとFontMetricsがあれば計算できるでしょ

638:デフォルトの名無しさん
09/09/14 00:07:56
10万文字描画したとしても、画面に表示できないと思うんだが

639:デフォルトの名無しさん
09/09/14 00:11:21
文字サイズ0.5くらいなんだろ

640:デフォルトの名無しさん
09/09/14 00:17:05
>>631
出力されるファイルとオリジナルのファイルで差分とるとなにが違ってる?
ソースは問題なさそうに見えるけど、途中でException吐いて死んでない?

641:デフォルトの名無しさん
09/09/14 03:55:10
>>635
もしかしてスクロールさせたいの?

642:デフォルトの名無しさん
09/09/14 04:16:29
スクロールさせたいです

643:デフォルトの名無しさん
09/09/14 04:29:54
前スレのswingでスレデータを表示したいとか言ってた奴の臭いがする

644:デフォルトの名無しさん
09/09/14 05:50:34
>>635
> だいたい、10万文字くらい表示しようと考えています 
> なので、部分的に表示しないと重くなります
本当に重くなるの?

645:629
09/09/14 08:21:46
レス遅くなりすみません。
>632
2chだと改行が多すぎると出るので、
必要最低限の部分を書き込みました。

>640
ファイルの差分を調べてみます。
とりあえず、Exceptionは出てません。
(NetBeans6.7で実行しました。)

ありがとうございました。
何か分かりましたら、ご報告いたします。


646:デフォルトの名無しさん
09/09/14 08:46:05
EJBの良いところを教えてください。
開発がめんどくさくなるだけのように思えるんです。

647:デフォルトの名無しさん
09/09/14 08:50:53
>>646
素人はJBOSSでもいじって勉強してろ

648:デフォルトの名無しさん
09/09/14 08:56:33
勉強する意味のあるものならいいですがね
あんなのいいところがまったくなさそうなんですが

649:デフォルトの名無しさん
09/09/14 09:01:44
>>647
age素人乙

650:デフォルトの名無しさん
09/09/14 09:03:17
>>649
無能はそれしか言えないようだな

651:デフォルトの名無しさん
09/09/14 09:13:49
>>648
J2EE理解できない君じゃとやかく言う資格はないでしょう。

652:デフォルトの名無しさん
09/09/14 09:26:56
>>651
2chのルールも守れないageおまえが何を言うw


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch