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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド147★★
http://hibari.2ch.net/test/read.cgi/tech/1312958339/

次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
2デフォルトの名無しさん:2011/09/20(火) 09:08:18.85
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 9
http://hibari.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
http://hibari.2ch.net/test/read.cgi/tech/1164877399/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
http://hibari.2ch.net/test/read.cgi/tech/1295766416/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
http://hibari.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
【Google】Androidアプリ作成part8 ※ dat 落ち

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/
3デフォルトの名無しさん:2011/09/20(火) 09:10:32.33
■ NetBeansに関する雑談は --
NetBeans Part6
http://hibari.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M31【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1295886572/

**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
http://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
http://java.sun.com/javase/ja/6/
■ Java SE 7(Early Access)
http://jdk7.java.net/download.html

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
http://www.java.com/ja
4デフォルトの名無しさん:2011/09/20(火) 09:11:18.14
テンプレここまで。
スレの最新化以外は全部そのままです。
5デフォルトの名無しさん:2011/09/20(火) 09:46:21.41
Log4JでSwingのJTextAreaにログを出力するAppenderはありますか?
また、Logbackで同様のものはありますか?
6デフォルトの名無しさん:2011/09/20(火) 10:22:45.64
ファイル内容の比較について質問です。

1KB未満〜100MB程度の二つのテキストファイル内容を比較したいのですが、VMパラメータが-Xmx128mとケチなため、
ファイルの内容をbyte[]で全て取り込んでからStringにしてequals()で比較することはできません。
両ファイルを一行ずつ読んで順次比較していけばいいのですが、変な条件がありまして、
例えば改行区切りでファイルAには「abc」「def」「ghi」、ファイルBには「def」「ghi」「abc」とある場合、
これは一致していると判定させたいのです。
なお、一時ファイルなどの使用は可能なのですが、実現方法はありますでしょうか?

もともとは両ファイル内容をそれぞれVectorに入れて、
ファイルAのVectorのforeachループ内でファイルAの要素でファイルBのVectorからremoveしていき、
removeできなかったら差異あり、できたらファイルAのVectorからもremoveし、
最後にどちらか片方のVectorに余りがあれば差異あり、などとしていましたが、
ファイルサイズが大きいとOutOfMemoryErrorが出るため、別の方法を検討しています。
7デフォルトの名無しさん:2011/09/20(火) 10:27:13.46
>>6
子プロセスでJavaVMを起動。その際-Xmxを望みの値にすればよい。
8デフォルトの名無しさん:2011/09/20(火) 10:36:35.32
>>6
一時ファイル使っていいなら、
ファイルAをソートした整列済みファイルA(一時ファイル)を生成、
ファイルBをソートした整列済みファイルB(一時ファイル)を生成、
整列済みファイル同士を先頭から比較。
ファイルが大きすぎて一度に整列済みファイルにできない場合は
複数に分割してソートして、その後マージする。

宿題とかでないのなら素直にヒープ増量した方がいいと思う。
9デフォルトの名無しさん:2011/09/20(火) 10:39:45.17
>>8
改行のない100Mのファイル食わせたら死ぬんじゃね?
10デフォルトの名無しさん:2011/09/20(火) 10:49:26.56
1行が大きすぎてOutOfMemoryErrorになる場合は、
ファイルの参照、行の先頭位置と長さを保持した
CharSequenceの実装クラスでも作っておいて
比較の度に1Mぐらいで区切って読み込むとか。
11デフォルトの名無しさん:2011/09/20(火) 11:46:15.32
ファイルをVectorに見立てる。
Aの行がBにあれば、一致した行を除いてB'に書き出し。
一致行が無ければDiffあり。
一致行があれば、B'をBに置き換える。

欠点は、ディスクIOが凄まじくなる。
最悪、Aの行数*Bのファイルサイズ分のIOになるか。
メモリとのトレードオフだ。

こりゃパズルだな。
12デフォルトの名無しさん:2011/09/20(火) 13:01:31.65
組み込みデータベースを使う
13デフォルトの名無しさん:2011/09/20(火) 13:45:35.83
>>5
ググれよ
14デフォルトの名無しさん:2011/09/20(火) 15:46:21.34
>>6
>一時ファイルなどの使用は可能

1.まずAをソートしたA'と、BをソートしたB'を作る。
2.A'とB'のMD5チェックサムを求め、比較する。
15デフォルトの名無しさん:2011/09/20(火) 16:58:12.63
NotSerializableExceptionが出るんですが
どのクラスがSerializableじゃないのかってどうやったら特定できますか?
1615:2011/09/20(火) 17:03:17.33
こいつを使いたくて
http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Modules-sun/awt/sun/awt/util/IdentityArrayList.java.htm
あるクラスのArrayListを上のIndentityArrayListに書き換えると>>15の例外が出るんです

上のクラスに
implements Serializable
って入れてみたけど変わりませんでした。
なぜこのクラスはSerializableにならないんでしょうか。
17デフォルトの名無しさん:2011/09/20(火) 18:14:34.66
Log4JでSwingのJTextAreaにログを出力するAppenderはありますか?
また、Logbackで同様のものはありますか?
18デフォルトの名無しさん:2011/09/20(火) 18:14:47.90
>>14
ファイルの内容を何も保持しないでソートできるか?
外部コマンド前提?
19デフォルトの名無しさん:2011/09/20(火) 18:34:36.85
"JAppletを継承している事"
という制約をinterfaceに書く事は出来ますか?

JAppletを継承しているクラスが複数あり、それらを抽象的に扱いたい場合、
どうすればいいでしょうか。
20デフォルトの名無しさん:2011/09/20(火) 18:49:02.56
>>15
もうわかってると思うけど
Exception in thread "main" java.io.NotSerializableException: sun.awt.util.IdentityArrayList
で表示されてるクラス(この場合はIdentityArrayList)が直列化可能でないクラスね。

>>16
いやimplements Serializableで例外は出なくなったけど?
elementDataフィールドがtransientなのでおそらく期待通りには動作しないと思うけど。

>>19
言葉通りの意味でとらえると、Javaでそれを実現するのはインタフェースでなく抽象クラスだね。
JApplet <- 抽象クラス <- 自作JApplet継承クラス
のように継承を作ることになる。
…けど、継承でなく委譲を使うべき典型的なパターンではないかと予想。

>>17
ここで聞くよりググれボケ。
両方あるだろ。
21デフォルトの名無しさん:2011/09/20(火) 19:54:22.94
>>16
変更前のクラスが残っててそっちがロードされてるとかじゃないの?
22デフォルトの名無しさん:2011/09/20(火) 20:06:30.24
>>6
MD5等のダイジェストを各行毎に求めて何らかの方法で足し合わせる
加算は可換なので、順序が入れ替わっても同一視される
一行が長くとも、ストリームからダイジェストを求めるようにすればOK

あとは神様に、
同一のダイジェストを生成する異なるメッセージが含まれてないことを祈る
また、足し合わせたら同じダイジェストの合計値になるような異なるメッセージの組が含まれていないことを祈る
2319:2011/09/20(火) 20:11:15.56
>>20
委譲の使い方は例えばどんな形をイメージしてますか?

Appletクラスは1つだけにして委譲先のオブジェクトを外部から注入する事で異なるアプレットとして振舞わせる
という事も考えましたが、
エントリーポイントでApplet系クラスを継承しないとアプレットとして動作出来ないんじゃないかと思ったんです。
だから各エントリーポイント毎に(各アプレットアプリ毎に)Applet系クラスを継承したものを使っていました。
24デフォルトの名無しさん:2011/09/20(火) 20:34:01.50
javaを始めて開始10分

Scanner s = new Scanner(System.in);
int a = s.nextInt();

入力要求で求めたsをaに入れる
javaとしたらこう書くのが当然なの?

C厨UZEEEになるのかもしれないけど

Scanner s;
s = new Scanner(略)
int a;
a = s.nexInt();

みたいのがしっくり来る。
nextInt()の方は1行でもいいけど、型や定数の宣言をしながら値の入れ替えをする
というのがJava文化?
25デフォルトの名無しさん:2011/09/20(火) 21:17:03.81
さすがにそれは好きにしろとしか…
26 ◆QZaw55cn4c :2011/09/20(火) 21:21:10.22
>>24
C++ でも C でもそういう文化になりつつある。
for (int i = 0; i < N; i++)
というのをみかけませんか?
27デフォルトの名無しさん:2011/09/20(火) 21:21:40.63
>>24
あれ?むしろCだと
const int a;
a = s.nextInt();
みたいなのができないので1文で書くのが普通なんじゃないの?
今のCだとできるのかな?
28デフォルトの名無しさん:2011/09/20(火) 21:22:24.24
>>26
それはスコープの話が絡むのでまた意味合いが異なる。
29デフォルトの名無しさん:2011/09/20(火) 21:30:36.34
Scanner s;
int a;
s = new Scanner(略)
a = s.nexInt();

みたいに変数宣言と処理がきっちりわかれてるのが
昔のC言語風な感じ。>>24の後者のは変態的に見える。
3027:2011/09/20(火) 21:32:43.62
あ、昔のCは変数宣言は最初に行わないといけないので
宣言と代入は別々にするのが普通だったね。
それをひきずってるのなら>>24の通りかも。

Javaについてはどっちの書き方も普通に見かける。
書籍なんかだと行数の都合等で前者の書き方が多いのかもしれない。
あとfinal変数は宣言と同時に代入を行わないといけないという誤解をしてる人もいるので
そういう人は前者になるだろうね。
31デフォルトの名無しさん:2011/09/20(火) 21:34:36.17
>>29
実際はそういう書き方になるね
24はちょっとキモいけど分解したという事で宣言をきっちり分かれさせなかった

ただやっぱJavaだと宣言しつつ〜というのに慣れろって雰囲気というのが分かったので十分っす
3227:2011/09/20(火) 21:35:01.28
>>29
あ、その通り。>>24の後者も変だね。
33デフォルトの名無しさん:2011/09/20(火) 21:39:53.91
Log4JでSwingのJTextAreaにログを出力するAppenderはありますか?
また、Logbackで同様のものはありますか?
URLを貼ってもらえると助かります。
34デフォルトの名無しさん:2011/09/20(火) 22:26:36.86
委譲って

private DelegationClass delegation = new DelegationClass();
public void method(){
delegation.method();
}

みたいにやりますよね?
このメソッドを透過させるコードが面倒なんですが
継承とかを使って省略する方法は無いんでしょうか?
35 ◆QZaw55cn4c :2011/09/20(火) 23:49:00.94
>>34
複数のスーパークラスから継承可能な仕様の言語なら‥‥‥。
36デフォルトの名無しさん:2011/09/20(火) 23:58:54.98
移譲はeclipseで自動生成してるで
37デフォルトの名無しさん:2011/09/21(水) 00:13:30.79
>>31
Javaだと、っていうより
近代的な言語は変数スコープを狭めるのが
良いコーディングプラクティス

冒頭で変数宣言がずらずらずら
そのあと代入が始まって、ってのは言語問わず時代遅れ
3837:2011/09/21(水) 00:14:52.29
途中で送信しちまった

だから、一行で書くかどうかは余り本質じゃない
3937:2011/09/21(水) 00:16:25.82
>>34
継承も移譲も、まるでわかってないようだな
40デフォルトの名無しさん:2011/09/21(水) 00:55:17.79
JPAでトランザクションを自分で操作してinsertやupdateしたいのですが、どんな感じにやるのでしょうか?
41デフォルトの名無しさん:2011/09/21(水) 01:05:21.81
API定まってるだろ。見てこいよ
42デフォルトの名無しさん:2011/09/21(水) 01:12:57.56
>>39
http://www.nurs.or.jp/~sug/soft/java/java32.htm
>この「委譲」は「継承」の代わりとして、「クラス継承」の手法として使えるのであり、
>もう1つは「委譲」と呼ばれ、形式的にはクラス継承ではないのだが、クラス継承とほぼ同様の効果を得ることができる。

委譲って実質的に継承をメソッド単位にしたものでしかないんじゃないの?
考えがあるなら言えよ。
43デフォルトの名無しさん:2011/09/21(水) 01:28:16.74
オレオレ用語乙な記事読むと
頭悪くなりませんか?
44デフォルトの名無しさん:2011/09/21(水) 01:35:46.45
記事ってより便所の落書きだな
わかってないことがわかってない
そいつがまたわからない奴を量産する
45デフォルトの名無しさん:2011/09/21(水) 02:57:20.41
>>23
具体的にやりたいことが分からないと答えようがない。
> JAppletを継承しているクラスが複数あり、それらを抽象的に扱いたい
だけ見るとJAppletにアップキャストすりゃいいじゃん、となる。
46デフォルトの名無しさん:2011/09/21(水) 08:37:30.15
>>42
すごいなそれ。
47デフォルトの名無しさん:2011/09/21(水) 20:00:33.42
前スレ >>995 だけど、
ネット繋がらないところでJava開発環境構築したいなら、
くれぐれもMavenには手を出さない方がいい。
48デフォルトの名無しさん:2011/09/21(水) 20:13:59.28
しつこく何回も連投でJTextAreaでログ出力する方法を訪ねている人は、
とりあえずjavax.swing.text.Document通じて
JTextComponentのコンテンツを更新する方法をググろうな。
49デフォルトの名無しさん:2011/09/21(水) 20:21:41.41
swingって趣味的要素が強い?
業務でも利用してたりするの?

GUIならC++で作っちまえって感じなのかな

簡単以外でJava良さってよくわからない
通信関係が楽とかいう噂を耳にしたけど

そういうライブラリやらメソッドが多い?
50デフォルトの名無しさん:2011/09/21(水) 20:31:59.59
Javaでかけたら、C++でもかけるとおもう
Javaでかいとけば、WindowsでもLinuxでもうごくとおもう
51 ◆QZaw55cn4c :2011/09/21(水) 20:35:09.63
>>50
new と delete の整合性はどうする?
52デフォルトの名無しさん:2011/09/21(水) 20:37:12.57
NetBeansでマウス操作でGUI作ってたら自作のPanelを追加した途端にGUI画面が表示されなくなったり、
excelみたいなソフトを自作してて一つのセルの中に複数行の文字を入れようとしたらできなかったりして、
C#でやったらどっちの問題も起きずにスムーズにいったからもうJavaでGUIアプリは作りたくない
53デフォルトの名無しさん:2011/09/21(水) 21:25:39.26
トレーディングツールのいくつかはSwingで書かれていたな
通信関連が楽と言うのはあるのかもしれないね
54デフォルトの名無しさん:2011/09/21(水) 21:27:09.55
馬鹿には無理w
55デフォルトの名無しさん:2011/09/21(水) 22:51:39.05
>>49
俺は業務アプリもJavaで書いてるプロジェクトにいたけど、
元々VBとかMFCのものを移植しようと思ったときには、やっぱり.NET系の選択になるんじゃないかな。
あと、商用コンポーネントは.NETの方が揃ってるよね。

>>53
それってApplet全盛期に作られたもの(の後継)だったりしないかな。
そういうのもやっぱり選択肢としてはJava以外にはなりにくいと思う。

>>52
良かったね。
56デフォルトの名無しさん:2011/09/21(水) 23:07:09.74
Javaの業務システムだと帳票はどうするのが普通?
57デフォルトの名無しさん:2011/09/21(水) 23:09:48.95
>>56
PDFで出力してたな
58デフォルトの名無しさん:2011/09/21(水) 23:21:20.09
うちのところはこんなの使ってたわ
http://poi.apache.org/
59デフォルトの名無しさん:2011/09/21(水) 23:25:54.68
>>56
下記はいかがでしょうか。
http://www.hitachi.co.jp/Prod/comp/soft1/eur/
60デフォルトの名無しさん:2011/09/22(木) 01:15:49.97
プログラミングを始めてする初心者が、eclipseでjavaを勉強しようと思うのですが、参考になる本などを教えてください。
お願いします。
61デフォルトの名無しさん:2011/09/22(木) 01:47:55.73
eclipseのヘルプ
JavaのAPIドキュメント
62デフォルトの名無しさん:2011/09/22(木) 02:05:32.33
日経ソフトウェア java
63デフォルトの名無しさん:2011/09/22(木) 02:23:33.21
jna(jni)にて、WinAPIのSendInput関数を呼び出しているんですが、
その中でVK_SNAPSHOTというWindowsAPIの定数を使います。

javac でコンパイルすると当たり前のようですが、「シンボルを見つけられません」というエラーがでます。

どうすればいいんでしょうか?

ちなみに、WindowsAPIプログラムだとSendInput関数はこう書きます。↓
SendInput(VK_SNAPSHOT, 0, 0, 0);
6463:2011/09/22(木) 02:24:52.80
要するに、VK_SNAPSHOTの取得方法を知りたいのです。
65デフォルトの名無しさん:2011/09/22(木) 03:19:24.99
SendInputの使い方おかしい気がするけど置いといて。
ヘッダからVK_SNAPSHOTの値しらべて
static final byte VK_SNAPSHOT=0x2cとか
6663:2011/09/22(木) 11:38:23.73
>>65
どうもありがとうございます。
ヘッダに書いてある値をそのまま使えばいいんですね。なにしろ、jnaとかjniは
初めて使うので、よく分かりません。

SendInputの使い方、やはりおかしいですか。
こちらは、WindowsAPIのスレで聞いてみます。

どうもありがとうございました。ヘッダの値を使えばいいということが分かり
大変ありがたいです。
67デフォルトの名無しさん:2011/09/22(木) 13:34:20.60
すいませんが、調べても理解できなかったので質問させて下さい。
今朝から java.lang.OutOfMemoryError: PermGen space が発生してしまい、
対策を考えています。
Permanent領域のサイズを変更するってネットでは書いてあるのですが、
レンタルサーバー(共有)の為できないと思います。

まず確認なのですが、これはメモリ不足って事でいいのでしょうか?
68デフォルトの名無しさん:2011/09/22(木) 14:03:44.95
>>67
単純に言えばメモリ不足、と言う認識で合ってる。
で、そのエラーはハードウェアとしてのメモリが不足しているわけではなく、
JVMに割り当てるメモリが足りていない場合に出る。

つまりjavaコマンドのパラメータで設定できるわけで、OSのユーザ権限は気にしなくて良い。
-XX:MaxPermSizeオプションだったかな?詳しくはそのエラーメッセージでググってくれ。
アプリケーションサーバの話なら、起動スクリプト辺りに設定例が載ってたりもする。
69デフォルトの名無しさん:2011/09/22(木) 14:09:09.52
>>67
メモリ不足だけど一般的なヒープ領域じゃなくて、
クラスやメソッドの情報が置いてある特別な領域。
JSPとかで実行時にバイトコード生成しまくると足りなくなる。
7067:2011/09/22(木) 14:22:46.63
ありがとうございます。
>>67
はい、アプリケーションサーバーです。趣味でjavaでゲームサイトを作成しています。
1stレンタルサーバーを使っていますが起動スクリプト設定について調べてみます!
>>69
バイトコード生成しまくるとですか。
jspは多用していますが、もっと不必要なコードは無くした方がいいと言うことですか?

System.out.println(Runtime.getRuntime().freeMemory());を書いて
メモリを見て見ましたが、同じJSPページを開くたびにメモリが減っていきます
JSP開く前  78500536
JSP開いた後 77765592
ガベージコレクションの対象にはならないのでしょうか
7167:2011/09/22(木) 15:38:33.47
サーバー上bin/catalina.sh を作って
export CATALINA_OPTS="-server -Xmx1280m -Xms640m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=128m"
を書いたらエラーが無くなり表示できました。
本当にありがとうございました。正直死ぬかと思いました
7263:2011/09/22(木) 16:39:41.18
>>65 
WinAPIのスレでも色々教えてもらって、その後できました。ありがとう。
73デフォルトの名無しさん:2011/09/22(木) 17:34:05.79
java消してしまったんですがjavaって有料なんですか?
74デフォルトの名無しさん:2011/09/22(木) 18:05:50.97
>>73
こんなとこで聞かずに入手元に聞けよ
75デフォルトの名無しさん:2011/09/22(木) 19:15:30.10
sun.security.jca.GetInstanceクラスが入ってるjarファイルの名前を教えて下さい。

よろしくお願いします。
76デフォルトの名無しさん:2011/09/22(木) 19:23:51.54
Javaで整数の累乗をしたい場合どうすればいいですか?
double Math.pow(double, double)ではdoubleなので不満です。
long Math.pow(long, long)みたいなものはないのでしょうか?
77デフォルトの名無しさん:2011/09/22(木) 19:30:44.26
78デフォルトの名無しさん:2011/09/22(木) 19:36:44.88
BigDecimalは?
79デフォルトの名無しさん:2011/09/22(木) 20:31:07.10
80デフォルトの名無しさん:2011/09/22(木) 20:49:21.07
3.4の0.5乗とかは平方根より難しい問題だけど、
整数同士の累乗ぐらい自力で書けよぉ
81デフォルトの名無しさん:2011/09/22(木) 21:11:07.34
しょーもない質問だけど、インデントってタブ派?スペース4個派?
Javaでの最大勢力を知りたい。
82デフォルトの名無しさん:2011/09/22(木) 21:15:24.13
伝統的に4スペース
http://www.oracle.com/technetwork/java/codeconventions-136091.html

個人的は2スペース
83デフォルトの名無しさん:2011/09/22(木) 21:35:58.82
eclipseのalt+shift+jとかデフォで4スペースじゃん
84デフォルトの名無しさん:2011/09/22(木) 21:36:41.51
それは表記の問題でした
85デフォルトの名無しさん:2011/09/22(木) 21:38:12.34
Javaの資格って取る価値あります?
86デフォルトの名無しさん:2011/09/22(木) 21:39:02.89
大学のプロコンでプログラムを作成するのですが、アイデアが浮かびません
aiに興味があるのでaiを使ったjavaのゲームなんかを作りたいのですが、トランプやオセロくらいしか思いつかなかったのですが
javaで作れそうなものでaiを使ったゲームって何かありませんか?
87デフォルトの名無しさん:2011/09/22(木) 21:41:37.69
資格なんて
おなじ会社にいるなら関係ない
すぐやめてあっちこっち転職するなら意味あるかな
88デフォルトの名無しさん:2011/09/22(木) 22:24:16.24
JavaからノーツへDIIOPで接続しようとしているんだが、

could not open session org.omg.CORBA.COMM_FAILURE : java.net.ConnectException:

Connection refused

のようなエラーが出て接続できない。ちなみにDIIOPサービスもHTTPサービスもあがっている

数日前まで普通に接続できていたのになぜか業者がnote.iniの設定を(クラスターがらみ)

加えた後から接続できなくなった。マイナーなノーツとJava関係だけど、知っている人いたら

教えてください。_(_ _)_
89デフォルトの名無しさん:2011/09/22(木) 23:10:22.73
>>85
会社によっては手当てがついた事もある。今はどうか知らん。
90デフォルトの名無しさん:2011/09/22(木) 23:28:23.59
>>81
可愛い後輩がネスト大好き病にかかるとかわいそうなので、
新人教育では8スペースをインデント単位にしてる。16でもいいと思っているぞ
91デフォルトの名無しさん:2011/09/22(木) 23:54:55.83
8って結構あるよね。4派だけど見慣れてるから違和感なしに読める。
92デフォルトの名無しさん:2011/09/23(金) 00:01:44.57
return this.num < 5;としているところで、
ClassCastException occured : java.lang.String cannot be cast to java.lang.Integer
というエラーが起きてしまいます。
numはintで定義しているのですが、原因わかりますか?
93デフォルトの名無しさん:2011/09/23(金) 00:10:15.63
ソース晒せ。エスパーは居らん。
94デフォルトの名無しさん:2011/09/23(金) 00:11:09.19
ggr
95デフォルトの名無しさん:2011/09/23(金) 01:12:40.91
>>90
おまえにあたる後輩がかわいそう
96デフォルトの名無しさん:2011/09/23(金) 01:23:06.16
>>86
今までに無いゲームを新しく作り出してくれるソフト。
若しくはai作成のゲームの面白さを競うゲーム。
97デフォルトの名無しさん:2011/09/23(金) 01:26:48.78
WEBフレームワーク+Javaで書かれた検索エンジン

という事をやろうとした時に、検索エンジンをどう常駐化させるのが良いと思いますか?

Java Service Wrapperを使って常駐プロセス化するか
そうするとプロセス間通信が必要になりプラットフォームに依存するんじゃないか

あるいはWEBフレームワークにそういう機能が無いか探してみるか
(常駐させたいオブジェクトを登録できるような)
98デフォルトの名無しさん:2011/09/23(金) 01:29:14.23
焼酎させたい理由をかけよ
それからだ
9997:2011/09/23(金) 01:37:21.00
検索エンジンのコンストラクタの実行にかなりの負荷がかかるから

JSW+ODBCならプラットフォームに依存せずに書けそう
ただ他のアプリケーションから利用されるものではないから別段常駐プロセス化する必要は無い
使用するWEBフレームワークはまだ決めていないので
主要なフレームワークで、各アクセスでオブジェクトを共有する機能があればいいんだけど
10097:2011/09/23(金) 01:51:37.63
シングルトンパターンをやったら、
1つのWEBコンテナ内で1つのインスタンスしか作られないのかな?

staticメンバの初期化がどのタイミングで行われるのかが分からない。
Webコンテナの役割が分かってない。
101デフォルトの名無しさん:2011/09/23(金) 02:24:23.53
>>89
「ObjectOriented を理解している」と周囲にアピールすることはできませんかね?
102デフォルトの名無しさん:2011/09/23(金) 02:27:17.93
ArrayListと配列のパフォーマンスの違いを定量評価してるHPあったら教えてください
103デフォルトの名無しさん:2011/09/23(金) 02:37:43.43
>>97
ユーザインタフェースは、HTML5 + jQuery + ajax-solr
検索エンジンは、Apache Solr ではだめなの?

>各アクセスでオブジェクトを共有する機能があればいいんだけど

object を application スコープ(HttpServlet#getServletContext())
に入れておけば、共有できるけど、
排他とかめんどい & 「検索エンジン」を使う処理は1多重でしか
動かなくなる のでやらない方がいい
104デフォルトの名無しさん:2011/09/23(金) 13:51:11.47
>>99
APサーバ再起動しても、検索エンジンの再起動はしたくない
位の要望か
得られるメリットの割りに、わかつてないこと大杉なら
わさわさわ複雑化にすることはない
APサーバの起動時に初期化すればいい
シンプルにいけ。
105デフォルトの名無しさん:2011/09/23(金) 19:19:41.71
JDBCからPostgreSQLの幾何演算子を使いたいんですが、
これらの演算子には ? を含むものがあります(?#とか)。

しかし、PreparedStatementでは ? がプレースホルダーとして認識されてしまいエラーになります。

PreparedじゃないStatementなら使えるのはわかってるのですが、
PreparedStatementで何とかする方法ご存知の方いませんか?

106デフォルトの名無しさん:2011/09/23(金) 20:58:09.53
なんでこれ文字化けするの?
public static void main(String args[]){
String test = "aiueo";
byte[] btest;
try {
btest = test.getBytes("UTF-8");
System.out.println(btest.toString());
System.out.println(test);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

出力結果
[B@10b30a7
aiueo
107デフォルトの名無しさん:2011/09/23(金) 21:00:45.40
108デフォルトの名無しさん:2011/09/23(金) 21:04:07.37
>>106
なぜ文字化けだと思うんだ?
109デフォルトの名無しさん:2011/09/23(金) 21:09:20.72
>>108
System.out.println(new String(btest));
これでいけたわ
110105:2011/09/23(金) 21:23:41.34
>>107
thx
演算子の代わりに関数呼ぶようにしときます。
111デフォルトの名無しさん:2011/09/23(金) 22:30:08.04
>>82
これがJavaでのもっとも一般的なコーディング規約ですかね。
ここに翻訳らしきものがあった。
ttp://numata.designed.jp/javacodeconv/CodeConventions.doc3.html#262
> インデントの単位として,4個分の半角スペースを推奨する.
> そのインデントが実際に半角スペースによって行われるかタブによって行われるかについては,これを規定しない.
> タブはすべて(4個ではなく)8個分の半角スペースでなければならない.

インデントに半角スペースとタブが混在するのはさけたいので、
半角4つぶんが推奨されるなら、半角だけをつかってインデント
することにする。

どうもありがとうございました。




112デフォルトの名無しさん:2011/09/23(金) 23:08:18.44
>>109
"aiueo"ならいけるけどnew String(btest, "UTF-8")にすべし。
113デフォルトの名無しさん:2011/09/24(土) 01:06:40.32
だまってろハゲ
114デフォルトの名無しさん:2011/09/24(土) 01:46:49.18
まだのこっとるわ
115デフォルトの名無しさん:2011/09/24(土) 01:56:14.23
あるクラスからデータを取得したいとして、
そのデータはクラス内の変数に格納しておくか
取得する都度計算するのはどっちの方がいいんですか?
116デフォルトの名無しさん:2011/09/24(土) 02:00:31.25
よしなにどーぞ
117デフォルトの名無しさん:2011/09/24(土) 04:24:54.39
継承やデザインパターンの質問なんですが、
サブクラスを作るにあたって、スーパークラスのある定数さえ上書き(?)できれば後は記述不要、
という状況でうまいやり方はあるでしょうか?

class MySuperClass{
private int HOGE_TEISU = xxx; // ※得に private である必然性はナシ
public void hoge(){
// HOGE_TEISUを使ってなんか処理
HOGE_TEISU
}
}

class MySubClass extends MySuperClass{
private int HOGE_TEISU = yyy; // これをSuper#hoge()で使ってくれればおk
}

定数をprivate にしてgetterを作れば解決なんですけど、なんかダサいような。
118デフォルトの名無しさん:2011/09/24(土) 04:47:04.76
可変なのに定数にしてる奴www
119デフォルトの名無しさん:2011/09/24(土) 04:56:49.04
>>118
いや定数だし・・

と思ったけどコンストラクタで定数を上書きすればいいのね。ありがとう。
120デフォルトの名無しさん:2011/09/24(土) 05:20:06.66
getterはダサいのにそれはダサくないのか…
てか定数つったらfinalだろJK
121デフォルトの名無しさん:2011/09/24(土) 05:45:31.95
ぐはぁfinalフィールドはサブクラスのコンストラクタから代入できないじゃん・・。
というわけでスマートな方法引き続きお願いします。

>>120
定数なんだからfinalだよ。
122デフォルトの名無しさん:2011/09/24(土) 05:58:43.20
>>121
initializer
protected
finalを取ってgetterを使う
123デフォルトの名無しさん:2011/09/24(土) 06:23:23.26
Javaはダサいから、定数が可変になる他の言語を見つけるといいよ
124デフォルトの名無しさん:2011/09/24(土) 06:49:40.67
定数じゃないのに定数って言い張るからおかしくなってるだけだろ
125デフォルトの名無しさん:2011/09/24(土) 06:53:23.71
定数がひとつ違うだけのサブクラスを作りたいって要望だろ?
定数が可変かどうかはまったく関連性ないと思うが
126デフォルトの名無しさん:2011/09/24(土) 07:00:31.49
定数が可変かどうかw
相変わらずアホすれですなw
127デフォルトの名無しさん:2011/09/24(土) 07:54:23.34
定数を派生させる必要が生じた事がない
128デフォルトの名無しさん:2011/09/24(土) 08:18:12.92
>>117
そもそも継承にする必然性が全くない
129デフォルトの名無しさん:2011/09/24(土) 08:30:03.90
>>117
public static final int DEFAULT_HOGE = xxx;
private final int HOGE;
public MyClass(){ this(DEFAULT_HOGE); }
public MyClass(int hoge) { HOGE = hoge; }
public void hoge(){ /* HOGE を使うなんらかの処理*/ }

みたいにしちゃいかんの?
同一インスタンス内では定数、デフォルト値は固定みたいな感じで。
130デフォルトの名無しさん:2011/09/24(土) 08:47:02.85
HOGEを大文字で書くな
intじゃなくenumかクラスにしろ
131デフォルトの名無しさん:2011/09/24(土) 09:01:58.33
定数もenumで列挙される要素も大文字が基本
文字数減らすためだけにint使ってるのか
実際にintが必要なのか判断つかんのに
enumかクラスにしろとか阿呆すぎる
132デフォルトの名無しさん:2011/09/24(土) 09:05:29.10
下手くそは精神性からして下手がしみついてる。
xxx以外の値わたされたらどーすんの?とか想像力がかけてる
133デフォルトの名無しさん:2011/09/24(土) 09:09:12.97
そもそもintを選んだのは質問主だし
そんぐらい自分で対応できんだろ
134デフォルトの名無しさん:2011/09/24(土) 10:04:22.65
バカの一つ覚え見たく、何かっていうと
継承継承いうやついるよなー
135デフォルトの名無しさん:2011/09/24(土) 11:25:59.80
今回もめでたく解決できませんでした。終了
136デフォルトの名無しさん:2011/09/24(土) 11:40:45.80
finalって言語仕様じゃ一度代入したら変更できない変数じゃなかったっけ?
何で定数が広まったん?javaで定数言ったらリテラル一択じゃん。
137デフォルトの名無しさん:2011/09/24(土) 14:01:39.65
文字列定数全否定はいりました!
138デフォルトの名無しさん:2011/09/24(土) 14:03:26.26
文字列リテラル……
139デフォルトの名無しさん:2011/09/24(土) 14:04:43.12
一般的にジャバの話題での定数とはfinal変数のことです。
140デフォルトの名無しさん:2011/09/24(土) 14:05:22.85
文字列をnewしたっていいじゃない
人間だもの
141デフォルトの名無しさん:2011/09/24(土) 14:06:11.85
staticついてないfinalなんて定数ぢゃない
142デフォルトの名無しさん:2011/09/24(土) 14:07:12.23
意味ゅーたぶるぢゃないfinalなんて定数是正ぢゃない
143デフォルトの名無しさん:2011/09/24(土) 14:07:45.77
一般的にジャバの話題での定数とはpublic static final変数のことです。
144デフォルトの名無しさん:2011/09/24(土) 14:18:56.51
finalで修飾されてて初期化子が定数式なら
ローカル変数だろうがインスタンスフィールドだろうが定数
145デフォルトの名無しさん:2011/09/24(土) 14:25:18.23
初期化子という語の使い方まちがってね?
146デフォルトの名無しさん:2011/09/24(土) 14:26:30.39
ジャバからプログラミングの世界に入った人は定数なら普通はenumを使うよう教わります。
147デフォルトの名無しさん:2011/09/24(土) 14:28:11.14
トラ世代、馬世代か。
昔カマキリとかいたんだよ?
148デフォルトの名無しさん:2011/09/24(土) 14:30:52.39
定数とかfinalとかこのあたりはちゃんと勉強してるとわかるんだけどジャバ言語とシー言語は全然違うんだよねw
149デフォルトの名無しさん:2011/09/24(土) 14:36:19.81
>>146
んなこと言うけど、1.0.2にはenumなんてなかったし
150デフォルトの名無しさん:2011/09/24(土) 14:37:39.94
せめて1.3位で申告しろよw
151デフォルトの名無しさん:2011/09/24(土) 14:38:51.25
pcエミュレータを使ってjdk 1.0とかjdk 1.1とか昔の開発環境を整えたいのでが昔のはどこにあるんですか?
152デフォルトの名無しさん:2011/09/24(土) 14:44:50.90
Javaにはタイガーとかドルフィンとか
コードネームに動物名つける文化があるけど、
少しずつ付けられる動物名が減ってる。
でも、予約済の動物もいる。
そう人間だ。
いつ使うかというと、世界がもう滅びるけどどうしようもない
という時に使うんだと。
人類の功績、足跡を讃えた最後のリリース
そのコードネームがヒューマン

信じられないかもしれないけど全部デタラメです
153デフォルトの名無しさん:2011/09/24(土) 14:46:48.12
ジャヴァの言語仕様上、10進整数リテラルで負の数が扱えないことを
知らない人は意外と多い。

だからといって負の整数の定数が書けないわけではない。

※ 8進や16進や浮動小数点なら、負の数もリテラルで扱える。
154デフォルトの名無しさん:2011/09/24(土) 14:52:57.48
みんな知ってると思うけど
Eclipseの名前の由来は月食。
月が太陽を隠すお馴染みのデザインは
Sunを食ってやる!という野心的なジョークだ。

そして。
JavaがSunからオラクルの手に渡ったのは
本当にたべられちゃったから。
155デフォルトの名無しさん:2011/09/24(土) 14:55:12.06
>>152
俺、信じるよ
156デフォルトの名無しさん:2011/09/24(土) 14:56:18.52
1999年当時、プログラミンの世界にもしダイブするならカプセル化はやっぱりジャバを選択しましたよね?
157デフォルトの名無しさん:2011/09/24(土) 15:00:11.46
ハローワールド
158デフォルトの名無しさん:2011/09/24(土) 15:08:39.55
>>153
負の数が扱えないのはfloatリテラルも同じだが・・・
159デフォルトの名無しさん:2011/09/24(土) 15:11:53.59
言語仕様上、負の数が扱えない
ってどういう意味ゅー?
160デフォルトの名無しさん:2011/09/24(土) 15:18:47.96
>>159
単項マイナスとリテラルは別々に定義されてるよって話なんじゃね?
本人じゃないから良くわからんが。
161デフォルトの名無しさん:2011/09/24(土) 15:19:48.20
2147483648とか9223372036854775808Lとか
単項マイナス付かないと使えない場合もあるけどな
162デフォルトの名無しさん:2011/09/24(土) 15:24:48.36
>>145
VariableInitializerは冗長に訳しても変数初期化子だし初期化子と訳してる文書もある
StaticInitializerやらInstanceInitializerと区別がつかない文脈ならともかく
この場合は変数を削って初期化子で通じると思うがな
163デフォルトの名無しさん:2011/09/24(土) 15:31:59.35
>>162
勉強不足
164デフォルトの名無しさん:2011/09/24(土) 15:46:19.22
将来的にジャバコーダー目指すなら英語程度が出来れば問題ないけどハッカーレベルを目指するなら数学センスもみがいておかないとジャバとか英語とかいくら勉強しても自分で何もデザインできない
165デフォルトの名無しさん:2011/09/24(土) 15:56:22.08
うちの三姉妹
♪ふー!すー!ちー!あい!あい!
♪負!数!値!あい!あい!
166デフォルトの名無しさん:2011/09/24(土) 15:59:59.08
two dimensional arrayを使って

-----------------
| | | | |
| | | | ! |
| | | | |
-----------------
| | | | |
| | * | | |
| | | | |
-----------------
| | | | |
| | | o | |
| | | | |
-----------------
| | | | |
| | | | ^ |
| | | | |
-----------------

こんな感じの4x4のボード表示させて中の^を動かしたいんですけど
4x4のボードが10x10までダイナミックに変えられるとしてどういうグリッドの表示方法がありますかね?
-と|はasciiです。

167デフォルトの名無しさん:2011/09/24(土) 16:04:53.79
>>166
★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/
168デフォルトの名無しさん:2011/09/24(土) 17:50:29.25
>>121
諦めてテンプレートメソッドを使えばいいのに
169デフォルトの名無しさん:2011/09/25(日) 00:17:27.26
Javaって今後5年くらいは使われますか?
170デフォルトの名無しさん:2011/09/25(日) 00:40:03.60
>>169
Java 自体の寿命は案外短いかもしれないが、Java習得で得たObject-Oriented の知識はかなり役に立つだろう
171デフォルトの名無しさん:2011/09/25(日) 00:55:41.16
Smalltalkは廃れたがObject-OrientedはJavaに生きている
172デフォルトの名無しさん:2011/09/25(日) 01:03:15.23
Javaに代わるものって何だろう?
Rubyとか?
173デフォルトの名無しさん:2011/09/25(日) 01:23:27.07
Javaのプラットフォーム非依存は、サーバ側や組み込みシステムのアプリケーションに関しては、非常に成功している。

サーバ側(Java EE)では、Javaのサーブレット、Webサービス、EJB(Enterprise JavaBeans)などの技術が広く使われている。
組み込みシステムの分野においても、組み込みシステム向けのJava環境(Java ME)を使った OSGi を基にした開発が広く行われている

Java - Wikipedia
174デフォルトの名無しさん:2011/09/25(日) 03:41:36.69
GAEがJava採用してC#採用してない時点でJavaはまだまだ続く
Googleが提供してるオープンソースもJavaかC++かPythonで役割が分かれてる
Javaを殺すとしたらC#しかないが、言語仕様は優れていても敵だらけだ
175デフォルトの名無しさん:2011/09/25(日) 03:44:43.47
kyotocabinetのTreeDBってB+木使ってるのに
1つのキーで複数のレコードをまとめて取れないの?
JavaラッパーのAPIしか見て無いけど。

match_prefix()でキー一覧とってそれから各キーで完全一致して、とかじゃなくて
match_prefix()みたいなのでそのまま該当したキー全ての全レコードを取得するAPIが欲しいんだけど
明らかにそういうのが無いとTreeDBのメリット生かし切れ無いよね
176デフォルトの名無しさん:2011/09/25(日) 03:48:22.81
>>174
MS自身が敵だからなw
いつ気まぐれで言語仕様を根本から変えるかわからんw
177デフォルトの名無しさん:2011/09/25(日) 04:27:59.35
swingで作ったプログラムを、
タスクバーボタンを非表示にしたいんだが、いい方法ないかな?
タスクトレイにすら入れたくない

Delphiだと
Application.ShowMainForm := False; 
で出来るってのはググって見つけたんだが、こいつのjavaバージョンが欲しい
178デフォルトの名無しさん:2011/09/25(日) 09:50:25.82
>>177
JDialog使うくらいしか方法なさそう
179デフォルトの名無しさん:2011/09/25(日) 15:36:12.45
File sead = new File(path);
String[] filelist1_ = sead.list(new exceptFileFilter());
File finalfiles = new File(filelist1_)
//String[]の配列に選別したファイルパスリストをFile型finalfilesにセットしたい

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/class-use/File.html
をページ内検索してもわかりませんでした。
何か適切な方法があればご教授お願いします
180デフォルトの名無しさん:2011/09/25(日) 15:40:16.32
>>179
最初からFile#listFiles(FilenameFilter)使うのはダメなんか?
181デフォルトの名無しさん:2011/09/25(日) 15:56:12.85
>>179
コンストラクタ定義見直してこい
182デフォルトの名無しさん:2011/09/25(日) 16:07:39.96
>>180
>>181
180の方法でできました。ありがとうございます。
183デフォルトの名無しさん:2011/09/25(日) 17:01:19.47
>>172
俺Ruby好きだけどそれはない
184177:2011/09/25(日) 20:59:38.97
>>178
試してみたらその方法で上手くいきそうです
ありがとう
185デフォルトの名無しさん:2011/09/25(日) 22:09:03.56
Swingを用いて、画面上に、タイトルバー等を含まないクライアント領域だけのウィンドウを
表示させることは可能でしょうか?もし可能であれば方法を教えて頂けないでしょうか?
186デフォルトの名無しさん:2011/09/25(日) 22:17:47.95
馬鹿には無理
187デフォルトの名無しさん:2011/09/25(日) 22:32:32.55
>>185
setUndecorated(true)
188デフォルトの名無しさん:2011/09/25(日) 22:47:59.96
>>187
出来ました、ありがとうございます
18967:2011/09/26(月) 02:54:14.59
一般的な現在の観覧者数ってカウンターは何を表示してるんですか?セッション数?
190デフォルトの名無しさん:2011/09/26(月) 02:55:53.03
スレチ
191デフォルトの名無しさん:2011/09/26(月) 04:44:56.23
これより速い実装ある?
public static boolean isZero(byte[] b){
int i=0;
for(byte here : b){
i+=here;
}
return i==0;
}
192191:2011/09/26(月) 04:46:41.03
-serverオプション付きで。
193デフォルトの名無しさん:2011/09/26(月) 05:09:20.88
それが世界一速いよ!
194デフォルトの名無しさん:2011/09/26(月) 08:14:27.37
おれはJavaがすきだ
195デフォルトの名無しさん:2011/09/26(月) 09:33:02.28
妹の枕をくんかくんかしてたら下半身に違和感を感じたので
こんにゃくをたべてみたらカルピスが出てきたのですがこれが恋ですか?
196デフォルトの名無しさん:2011/09/26(月) 09:55:14.84
なんでこれmap.size()が2になるの?
同じキーなら上書きになって1になるんでは?

public void testHashMap(){
HashMap<byte[], String> map = new HashMap<byte[], String>();
map.put(new byte[]{1,1,1,1}, "a");
map.put(new byte[]{1,1,1,1}, "b");

System.out.println(map.size());//2
}
197デフォルトの名無しさん:2011/09/26(月) 10:03:32.85
同じキーなら1になるな
198デフォルトの名無しさん:2011/09/26(月) 10:12:45.00
>>191
それ全部0でなくてもtrueになるぞ
199デフォルトの名無しさん:2011/09/26(月) 10:12:54.29
>>196
System.out.println(new byte[]{1,1,1,1}.equals(new byte[]{1,1,1,1}));
200デフォルトの名無しさん:2011/09/26(月) 11:48:06.59
>>195
価値観は人それぞれなので否定はしないけど
それは恋じゃなくて変だ
201デフォルトの名無しさん:2011/09/26(月) 14:53:02.74
>>191
せめてHadoopぐらい使おうな
202デフォルトの名無しさん:2011/09/26(月) 15:44:12.45
>>201ワロタ

まあ頻度にもよるけど、0じゃないことが多いなら、
if(here!=0)return false;
にするとか、ループの途中に適度に
if(i!=0)return false;
入れるとかすると途中で撃ち切れて早いかもね
203デフォルトの名無しさん:2011/09/26(月) 17:02:16.84
足し算じゃなくてor使えよ。
204デフォルトの名無しさん:2011/09/26(月) 17:14:58.23
>>177
setDefaultCloseOperation(HIDE_ON_CLOSE);
でできない?
205デフォルトの名無しさん:2011/09/26(月) 18:14:03.65
javaでのグローバルフックについて質問です
C++で作ったグローバルフックのDLLをjavaで読み込んで使うことはできますか?
206デフォルトの名無しさん:2011/09/26(月) 19:17:48.68
JNIを挟むってことか?
207デフォルトの名無しさん:2011/09/26(月) 19:40:18.13
>>206
はい、JNIやJNAを使った場合です
こういった方法でDLLを読み込んでもグローバルフックは機能するのでしょうか?
208デフォルトの名無しさん:2011/09/26(月) 20:42:08.86
JUnit4がメソッド単位じゃなく同じクラス内の全テストケースを勝手に実行するので
JUnit3がデフォルトで使われるようにしたいんですがどうすればいいですか?
209208:2011/09/26(月) 20:45:39.39
すみません、JUNIT4にいらつくあまり書き忘れました
Eclipseの話です
210デフォルトの名無しさん:2011/09/26(月) 21:50:59.52
>>209
> Eclipseの話です
へいけ
211デフォルトの名無しさん:2011/09/26(月) 21:58:26.33
>>207
なぜ出来ないと思ったんだ?
まず試してみろ。話はそれからだ。
212デフォルトの名無しさん:2011/09/26(月) 22:02:36.05
>>211
すみません、c++で作ってたのをjavaに移植するために勉強したいと思ったんだけど、
フックが使えないならjava勉強する理由が一つ減ってしまうので先に質問させていただきました
ということはできると思っていいのでしょうか?
勉強してみます
213デフォルトの名無しさん:2011/09/26(月) 22:04:05.79
出来ないよ
214デフォルトの名無しさん:2011/09/26(月) 22:18:23.32
HexDumpEncoder hexdumpencoder = new HexDumpEncoder();
out.println(hexdumpencoder.encodeBuffer(byteArray));

を、独自に実装しているのですが、出力が変なので教えてください。

int no = 0x0000;
BLOCK: for (int i = 0; i < byteArray.length; i++) {
 for (int j = 0; j < 16; j++) {
  if (i*16+j >= byteArray.length) break BLOCK;
  if (j==0) {
   out.print(
     ((i==0)?"0":"")+Integer.toHexString(0xFF & no*16).toUpperCase());
   out.print(
     ((i==0)?"0":"")+Integer.toHexString(0xFF & no).toUpperCase()+":");
   no+=16;
  }
  if (j==6) out.print(" ");
  out.print(" "+Integer.toHexString(0xFF & byteArray[i*16+j]).toUpperCase());
 }
 out.println();
}
out.flush();
215デフォルトの名無しさん:2011/09/26(月) 22:19:57.08
結果は以下のようになってしまいます。

0000: 61 62 63 64 41 42 43 44 E3 81 82 E3 81 84 E3 81 abcdABCD........
0010: 86 E3 81 88 E3 81 8A E3 81 8B E3 81 8D E3 81 8F ................
0020: E3 81 91 E3 81 93 E3 81 95 E3 81 97 E3 81 99 E3 ................
0030: 81 9B E3 81 9D E3 83 86 E3 82 B9 E3 83 88 E3 83 ................
0040: 86 E3 82 B9 E3 83 88 E3 83 86 E3 82 B9 E3 83 88 ................
0050: E3 83 86 E3 82 B9 E3 83 88 E8 A9 A6 E9 A8 93 E8 ................
0060: A9 A6 E9 A8 93 E8 A9 A6 E9 A8 93 E8 A9 A6 E9 A8 ................
0070: 93 .

0000: 61 62 63 64 41 42 43 44 E3 81 82 E3 81 84 E3 81
10010: 86 E3 81 88 E3 81 8A E3 81 8B E3 81 8D E3 81 8F
20020: E3 81 91 E3 81 93 E3 81 95 E3 81 97 E3 81 99 E3
30030: 81 9B E3 81 9D E3 83 86 E3 82 B9 E3 83 88 E3 83
40040: 86 E3 82 B9 E3 83 88 E3 83 86 E3 82 B9 E3 83 88
50050: E3 83 86 E3 82 B9 E3 83 88 E8 A9 A6 E9 A8 93 E8
60060: A9 A6 E9 A8 93 E8 A9 A6 E9 A8 93 E8 A9 A6 E9 A8
70070: 93
↑ここが変になります。上の例ように出力するには、どうしたらよいのでしょうか?
216デフォルトの名無しさん:2011/09/26(月) 22:20:15.97
>>213
できないんですね・・・。
ありがとうございます
217デフォルトの名無しさん:2011/09/26(月) 22:23:03.23
>>216
おまえには出来ない
218デフォルトの名無しさん:2011/09/26(月) 22:24:57.44
>>215
入力はどこいった?
219214-215:2011/09/26(月) 22:33:39.28
自己解決しました。
220デフォルトの名無しさん:2011/09/26(月) 22:37:12.50
どう解決したか位書いてけよクズ
二度と来るな
221デフォルトの名無しさん:2011/09/26(月) 23:46:50.47
教えてもらったわけでもないのにそんなことする義理はありません^^
222デフォルトの名無しさん:2011/09/27(火) 00:01:52.75
利用することだけ一丁前ってか
図々しさが隠しきれない生ゴミ
223デフォルトの名無しさん:2011/09/27(火) 00:07:58.02
ジャバラーならそろそろ「馬鹿みたく答える方が馬鹿丸出し」ってことに気がついた方が
224デフォルトの名無しさん:2011/09/27(火) 00:17:02.60
答えられないなら黙ってれば良いのに全レスする馬鹿は死ね
225デフォルトの名無しさん:2011/09/27(火) 00:24:17.74
せめてHadoopぐらい使おうな
226デフォルトの名無しさん:2011/09/27(火) 00:29:27.57
このスレは馬鹿生成工場です
227デフォルトの名無しさん:2011/09/27(火) 00:31:39.74
バカには無理
228デフォルトの名無しさん:2011/09/27(火) 00:31:44.43
もういっそ
ggrksをテンプレにしとけ
全レスそれでおk
229デフォルトの名無しさん:2011/09/27(火) 00:37:02.56
〇〇には無理さんがスレの雰囲気を悪くしてる諸悪の根源
消えてくれ
230デフォルトの名無しさん:2011/09/27(火) 00:56:05.93
231デフォルトの名無しさん:2011/09/27(火) 01:04:11.46
>>226
もちろんジャバなんで使うのはファクトリー・パータンですよ
232デフォルトの名無しさん:2011/09/27(火) 01:08:51.60
そんなパターンない
わかってるフリしてわかってない典型
233デフォルトの名無しさん:2011/09/27(火) 01:10:49.99
馬鹿には無理w
234デフォルトの名無しさん:2011/09/27(火) 01:14:21.87
とある生徒が職員室に来て数学教師に相談していた。
浮かない顔の学生に数学教師は笑って答えた。
「数学なんて簡単だよ。結局はパターンだよ。ぱ・た・あ・ん」

と。
それを見ていた英語教師が「違う!」と叫んだ。
「パターンじゃない!」





「パ↑ターンだよ。パ↑ターン。発音は正確にね☆」
235デフォルトの名無しさん:2011/09/27(火) 01:32:53.60
ていうか、長音よりも「ジャバ」の方にツッコミを入れるんじゃないの普通?
236デフォルトの名無しさん:2011/09/27(火) 01:37:10.67
Factory Method Pattern
無知は黙ってろ
237デフォルトの名無しさん:2011/09/27(火) 01:38:48.80
Hadoop関連やってる奴いる?
238デフォルトの名無しさん:2011/09/27(火) 01:41:04.42
Factory Method Patternのことを
ファクトリーパターンって呼んじゃうやつは
コード書かせると大抵かけないよね
Abstract Facotryとの違いもわかってなくて
亜流の麺用なのをファクトリーパターンってよんで
それがGOFのアレだと思い込んでたりする
239デフォルトの名無しさん:2011/09/27(火) 01:44:03.90
>> 237
いる。
.NETの方がいろいろ親切だと思う。
240デフォルトの名無しさん:2011/09/27(火) 01:49:29.18
241デフォルトの名無しさん:2011/09/27(火) 01:49:58.55
>238
factoryパターン知らないなら黙ってればいいのに…
242デフォルトの名無しさん:2011/09/27(火) 01:56:06.07
>>238
GoFだけがデザインパターンだと思ってる人ってまともなコードが書けなさそう
アンテナ低いっていうか世界が狭いっていうか
243デフォルトの名無しさん:2011/09/27(火) 01:56:28.31
>>241
真性のアホ降臨
244デフォルトの名無しさん:2011/09/27(火) 01:59:16.67
GOF以外にもファクトリパターンなんてのはないよ。
正式名称知ってれば>>238の方が正しいのは自明なのに。
無知が増えたなあ。。。
245デフォルトの名無しさん:2011/09/27(火) 02:00:28.17
俺のターン!俺のターン!
246デフォルトの名無しさん:2011/09/27(火) 02:04:11.89
正式名称もクソもFactoryとFactory Methodは別物
247デフォルトの名無しさん:2011/09/27(火) 02:05:21.00
俺のパターン!俺のパターン!

ファクトリ関連で一般認知されてるのは3つでしょ
うちGOF2つ、他1つ。
無知からか無思慮からか、それらをグチャ混ぜにして
ファクトリってよぶ奴が蔓延した時代背景がある
頭がぐちゃぐちゃの奴は知ったかするのはなしの方向でね
248デフォルトの名無しさん:2011/09/27(火) 02:08:15.58
馬鹿にはムリだわなw
249デフォルトの名無しさん:2011/09/27(火) 02:10:32.40
スレが伸びる時はたいてい下らない話題だな
ファクトリ→実はわかってない or 間違って覚えてる
なんだからggrksで最初から終わってる
>> 223
250デフォルトの名無しさん:2011/09/27(火) 02:12:22.12
初心者同士、仲良くしろよ
251デフォルトの名無しさん:2011/09/27(火) 02:13:44.92
ググってばかりだから間違った情報を鵜呑みにしてるんでしょ
ggrksは万能じゃない
252デフォルトの名無しさん:2011/09/27(火) 02:19:01.89
10年くらい前に出尽くしたような話題だと
おまえら元気になるなw
253デフォルトの名無しさん:2011/09/27(火) 02:25:33.68
こっそりググって今ごろ顔真っ赤なんだろうなー
254デフォルトの名無しさん:2011/09/27(火) 02:29:07.91
>>1-1000
ggrks
255デフォルトの名無しさん:2011/09/27(火) 03:05:07.41
256デフォルトの名無しさん:2011/09/27(火) 03:14:21.70
ネットで顔も見えない相手にムキになったり顔真っ赤にするなんて
2ちゃんねらーって意外とナイーブなんですね!!!
257デフォルトの名無しさん:2011/09/27(火) 03:36:50.98
ねらーっていってもただの一般人じゃん
258デフォルトの名無しさん:2011/09/27(火) 03:48:31.91
一般人は2chなんてやりません
2chするのはねらーだけ
259デフォルトの名無しさん:2011/09/27(火) 03:52:25.09
ねらーだから2chするのか
2chするからねらーなのか
260デフォルトの名無しさん:2011/09/27(火) 06:00:15.74
>>230
>>216ですが、>>229は自分の書き込みではないです
261デフォルトの名無しさん:2011/09/27(火) 09:25:42.39
javaとは何か、仕組みは何かを絵で説明してくれるところはどこにありますか?
私じゃ調べてもわかんなくて困ってます…
262デフォルトの名無しさん:2011/09/27(火) 09:58:06.34
なんでも絵で説明出来ないことを絵で説明しているのは見たことがない
263デフォルトの名無しさん:2011/09/27(火) 10:23:37.94
でもJAVAの仕組みやJAVAとは何かを絵で書いて説明しろって言われたんです
だから私じゃどうしたらいいかわからなくて;
264デフォルトの名無しさん:2011/09/27(火) 10:43:37.11
>>263
入門書に最初の方に図でos/jvm/javaアプリの関係描いてるの在るけど、ああ言うのじゃ無いの?
265デフォルトの名無しさん:2011/09/27(火) 11:22:38.75
鉄格子付きの砂場で、人形遣いにあやつられる
マリオネットの絵はひどかったな…
266デフォルトの名無しさん:2011/09/27(火) 11:48:44.13
main関数の位置はどうするのが正しいスタイルなんですかね。

1. class{フィールド main コンストラクタ メソッド}
2. class{フィールド コンストラクタ メソッド main}
3. class{フィールド コンストラクタ main メソッド}
267デフォルトの名無しさん:2011/09/27(火) 11:50:35.94
アルファベット順にしろ
268デフォルトの名無しさん:2011/09/27(火) 11:51:39.04
main以外のメソッド、コンストラクタ持たないクラス作れ
269214-215:2011/09/27(火) 15:30:47.65
>>266
俺は2だな。
mainで簡易テスト書いて、あとでJUnitに置き換えて消したりすることが多い。
その延長で、アプリケーションでもmainは最後に書くようにしている。
270デフォルトの名無しさん:2011/09/27(火) 16:29:54.64
oracle + jdbcでvarray項目の値を取得しているのですが
なぜか取得した値が???となってしまいます。
通常のvarchar2項目は問題ないのですが、どのような対処が必要でしょうか?

java.sql.Array array = rs.getArray("hoge");
String[] mv = (String[])array.getArray();
for (String s : mv) {
System.out.println("s=" + s);
}
271デフォルトの名無しさん:2011/09/27(火) 19:36:05.61
//メンバー
private List list = new ArrayList();

とあって、

//何かのメソッド内
list.add(data);

となっているのを

private void add(SomeClass data){
list.add(data);
}

このメソッドで置き換えるとパフォーマンスが20〜30%程度悪化した
-serverオプションつきだから最適化でインライン展開されるんじゃないかと思ったけどなぜ悪化するんですか?
272デフォルトの名無しさん:2011/09/27(火) 20:54:59.75
例えばArrayList#addのインライン展開から、
private void add(SomeClass)のインライン展開+ArrayList#add()のメソッド呼び出しに切り替わったから遅くなったとか。
273デフォルトの名無しさん:2011/09/27(火) 20:55:05.76
ジャバじゃだめなら、ジャヴァ?
274デフォルトの名無しさん:2011/09/27(火) 21:03:53.18
>>271
最適化をどこまでやるかはVM依存なので
そういうこともあるかもしれないとしか言えない
下手に複雑なJITをかけると、最適化自体にコストがかかるせいで
全体の実行時間は逆に悪化する可能性すらある
275デフォルトの名無しさん:2011/09/27(火) 21:17:25.35
>>273
ノーノー!
じゃば。
♪ドレミファじゃばこで フォーリンラ〜ブ
276デフォルトの名無しさん:2011/09/27(火) 21:48:03.59
visualvmで非常駐アプリをプロファイリングするにはどうしたらいいですか?
277デフォルトの名無しさん:2011/09/28(水) 01:00:07.09
ダウンロードダイアログを放置した後。
保存とか押しても保存されずにダイアログが閉じちゃいます。

ただ。
httpの場合が上記の現象で。
httpsの場合は大丈夫でした。

エラーログはClientAbortExceptionでio.Exceptionでした。
httpとhttpsではコネクションの持ち方とか何かしら違うんでしょうか?
タイムアウトの設定とかは同じです。
278デフォルトの名無しさん:2011/09/28(水) 02:33:19.85
>>276
NetBeansを使う。
実行コマンドも出力に表示してくれてるから、引数メモっとけばコマンドラインからでも実行可能でしょう。

>>277
かなり高レベルのエスパーが必要な質問内容だな。
279デフォルトの名無しさん:2011/09/28(水) 02:39:05.56
>>277
違うよ。何かしらは。
280デフォルトの名無しさん:2011/09/28(水) 08:49:02.03
XML、INI、Apache等の設定ファイルなど
テキストファイルのパースは良く行われていると思いますが
テキストをパースする一般的な手法やライブラリって何がありますか?
正規表現でガリガリ書く以外に何か良いアプローチはあるでしょうか。
281デフォルトの名無しさん:2011/09/28(水) 09:00:29.87
自前で再帰下降パーサ書くとかすりゃいいんじゃね?
282デフォルトの名無しさん:2011/09/28(水) 09:04:55.99
XMLやINIに再帰下降は使わんだろ
283280:2011/09/28(水) 09:34:39.21
JavaCC,ANTLR,YACCなどがあるのはわかりました
まずJavaCCについて調べてみたところほとんどのサイトがリンク切れで大分古いものだと感じ
ツール間の格差が開いているのではないかと思いました
どれが一番オススメですか?
284デフォルトの名無しさん:2011/09/28(水) 11:13:25.36
ほとんど字句解析だけで終わりでしょ?
普通に手書きでいいよ。ジェネレータ使っても正規表現並べるだけで変わらん。
君が挙げてるようなのは字句解析の後にプログラミング言語の複雑な文法を解析するのがメイン。
285デフォルトの名無しさん:2011/09/28(水) 12:20:57.68
まぁ、xmlならsaxが単純でやりやすいかな
個人的によく使うのはjson
使えればいい程度ならカンマ区切りで十分
>>283であげらてるのは主にオリジナルフォーマット自作する人向けだから、検討違い
286デフォルトの名無しさん:2011/09/28(水) 12:45:20.66
元の質問はテキストをパースする一般的な方法を聞いているから、別に違ってる訳ではないと思う
だけど、大抵扱うテキストのフォーマットは事前に分かるわけだから、何かしらライブラリがあるだろよ
287デフォルトの名無しさん:2011/09/28(水) 13:05:02.91
YACCだけは純粋なパーサジェネレータでスキャナが別途必要だから完全に間違い。
正規表現の代わりにはならん。スキャナジェネレータ使ってもどっちみち正規表現だけど。
288デフォルトの名無しさん:2011/09/28(水) 17:17:11.24
xmlを正規表現でパースする奴よくいるけどxml自体は再帰的だから全部が正規表現使えるわけじゃないぞ。
そもそもxmlみたいな単純な仕様を馬鹿でかい正規表現ライブラリつかってトロトロパースすることは無駄なだけだが。
パースするテキストというのに自然言語が含まれないなら手書きで十分だろう。
289デフォルトの名無しさん:2011/09/28(水) 18:12:03.37
メソッドをOverrideするときにつける @Override ですが、そのメソッドに
javadocを付けたい時、javadocのためのコメントは @Override の前、後
どちらの行に書くべきでしょうか?
290デフォルトの名無しさん:2011/09/28(水) 18:28:48.29
普通は前ですな。
というか後ろにつけてるのは見たことが無い。
291デフォルトの名無しさん:2011/09/28(水) 21:51:53.83
Commons Configuration とかどうなの
使ってるの見たことないけど
292デフォルトの名無しさん:2011/09/28(水) 22:31:18.06
>>290
ありがとうございます。
やはり前がみためてきにも判りやすいですね

eclipseで前に書こうとするとjavadocのテンプレートが動作しないような
気がしたので ? と思ったので

293デフォルトの名無しさん:2011/09/29(木) 08:11:55.00
JavaScriptで書かれたライブラリをJava(サーバーサイド)で使いたいんだけど
JavaScriptのオブジェクトをラップしてJavaで受け取ったりとかできないかな?
JNIみたいなかんじで

その手の技術について何かキーワードだけでも教えて下さい。
294デフォルトの名無しさん:2011/09/29(木) 09:09:21.31
Rhinoつかえ。
classファイルにAOTコンパイルできるからRhinoのランタイムをパス通してクラスローダで呼ぶかインポートすれば普通にjavaとして使える。
295デフォルトの名無しさん:2011/09/29(木) 12:44:03.09
>>291
ぐぐったけど、XML使うなら良いソリューションなんじゃないかな。

>>280
単純なINIファイルもどきの読み込みならこれが使えるかも
http://bit.ly/rl965E
296デフォルトの名無しさん:2011/09/29(木) 13:08:49.92
質問ですが、JavaのWeb系のPGを作成しているのですが、
JOptionPane.showMessageDialogで、既存(作成したもの)のjspを親フォームの指定のやり方でどうすればいいですか?
色々調べてみたのですがわからなくて・・・。
どなたかよろしくお願いします。
297デフォルトの名無しさん:2011/09/29(木) 13:14:37.19
何をどう色々調べて見たんだよ
298デフォルトの名無しさん:2011/09/29(木) 13:37:38.66
>>296
サーバサイドJavaはServletとJSP
JOptionPaneはSwing(クライアントサイドJava)

根本的に違う。火と水くらい違う。

まあ、JSPでグラフィカルなダイアログが欲しいなら、
JavaScriptで別ウィンドウでも開いてろってこった。
299デフォルトの名無しさん:2011/09/29(木) 14:31:54.97
>>298
そうですか・・・。
ログイン画面で、該当なしの場合、
その旨を表示するメッセージを表示しようとしたのですが、
JavaScriptで出すしかないですか・・・。
300デフォルトの名無しさん:2011/09/29(木) 17:48:06.17
クライアントサイドのjavascript向けウィジェットが腐るほどあるんだからそういうコード吐けばいいんじゃないの?
301デフォルトの名無しさん:2011/09/29(木) 17:48:42.59
>>291
俺は普通に使ってるけど。
302デフォルトの名無しさん:2011/09/29(木) 18:31:41.80
ant で exec を使って外部コマンドを実行する時に、'*' や '?' をシェルに解釈させるにはどうしたらいいの?
たとえば du -sk * を実行したかったので
<exec executable="du">
 <arg line="-sk *" />
</exec>
としてみたら
[exec] du: *: No such file or directory
といわれて実行できない。
303デフォルトの名無しさん:2011/09/29(木) 18:39:41.75
execにshを指定してargに-c 'du -sk *'じゃダメなん?
304デフォルトの名無しさん:2011/09/29(木) 19:27:23.41
>>303
えっ、そんなやり方しかないの?
いくらなんでも、antがそんな低機能なわけない・・・と思いたい。
305デフォルトの名無しさん:2011/09/29(木) 19:54:27.43
だって、
「make は unix (shell) に依存しすぎてて、
 Makefile のポータビリティが無くて困るから、
 環境に依存しない make を作ろうぜ。」
って言って作ったのが ant だから、 sh 依存の機能なんてあるわけない。
306デフォルトの名無しさん:2011/09/29(木) 20:06:30.98
filesetとかdirsetを使ってechoかなんかで一旦ファイルに書き出してからプロパティに読み込んで使うとか?
307デフォルトの名無しさん:2011/09/29(木) 20:12:42.62
どっかからglob解釈するdu持ってくればいい
308デフォルトの名無しさん:2011/09/29(木) 20:21:03.64
du持ってるならshぐらいあるだろうって考えで>>303で良いような気もするが。
309デフォルトの名無しさん:2011/09/29(木) 20:44:48.97
>>305
なんでそんな結論になるの?
osに依存しないように、antがshellの機能を実装すればいいだけだよね。
shellの全機能なんて望みはしないけど、せめてglobぐらいサポートしてくれてもいいんじゃない?

しかしexecタスクが「*」をサポートしてくれないとは、困った。
duコマンドはunix限定としても、windowsでもunixでもとてもうまく動くpythonを、antのexecタスクで実行するつもりだったのに。
310デフォルトの名無しさん:2011/09/29(木) 20:53:37.26
ならpythonで展開したら
311デフォルトの名無しさん:2011/09/29(木) 21:00:44.91
>>309
だから、(shell に依存しない glob として) fileset があるじゃん。
312デフォルトの名無しさん:2011/09/29(木) 21:03:21.28
java関係ない
313デフォルトの名無しさん:2011/09/29(木) 21:37:52.09
>>305
そもそも*がshell依存だろうが
314313:2011/09/29(木) 21:38:37.88
すまん、レスアンカーミスった
315デフォルトの名無しさん:2011/09/29(木) 22:51:18.19
アプレットでの画像表示の方法について質問です。

import java.applet.*;
import java.awt.*;

public class k extends Applet{
Image img;
public void init(){
img= getImage(getCodeBase(),"Image.jpg");}
public void paint(Graphics g){
g.drawImage(img,10,10,this);

}
}

Eclipceでこのようにコードを打って実行したのですが
画像が表示されません。
getCodeBaseあたりが間違っていると思うのですが…
画像は実行するJAVAファイルと同じディレクトリにあればよいのでしょうか?
それとも根本的に何か間違っているのでしょうか?

初歩的かもしれませんがお願いします。
316デフォルトの名無しさん:2011/09/29(木) 23:27:43.66
ヒント:
antのapplyタスク
317デフォルトの名無しさん:2011/09/29(木) 23:32:06.07
Rhino 1.7R3のPACKAGEオプションって機能しますか?
318317:2011/09/29(木) 23:46:23.55
小文字で書いたら動きました
マニュアル大文字なのに・・・
319デフォルトの名無しさん:2011/09/30(金) 00:09:55.76
>>309
自分で書けばいんでねーの?文句言ってる時間でかけるだろ
320デフォルトの名無しさん:2011/09/30(金) 00:20:06.08
javaの開発者たちって、何でguiまわりの発展を放置しちゃったの?
swingもappletも皆が必要とする良いアプローチだったのに、
結局、かつて蹴散らしたはずのc++に、naclやgtk3でその領域を侵されそうだし
デスクトップすらjavascript+html5にすら置き換わりそう
321デフォルトの名無しさん:2011/09/30(金) 00:32:42.65
別に放置はしてないと思うけど。
Java6u10があったり、JavaFXを従来のJavaのようにしちゃったり。
全然シェア取れてないよね、というのは同意だけれども。
322デフォルトの名無しさん:2011/09/30(金) 01:01:05.75
>>316
すいません・・・
よくわからないです
323デフォルトの名無しさん:2011/09/30(金) 01:28:58.93
>>315

Javaファイルと同じディレクトリでいいけど、
Eclipseのパッケージエクスプローラでファイルがk.javaの並びに表示されてるか確認しろ
見えてなければプロジェクトをF5で更新しろ
そしてコンパイル後にbinディレクトリ配下のk.classと
同じディレクトリにImage.jpgがコピーされればおk
324デフォルトの名無しさん:2011/09/30(金) 02:13:03.62
Javaからウェブページを取得して、そのウェブページ上のフォームを操作(テキストエリアに入力)して、
submitしてリダイレクト先のページも取得したい。
何を使えば出来ますか?
325デフォルトの名無しさん:2011/09/30(金) 02:23:38.01
32642:2011/09/30(金) 02:35:20.99
>>324
Jsoupオヌヌメ
327デフォルトの名無しさん:2011/09/30(金) 02:42:18.29
HashMapクラスって、どんな時に有効か誰か例をあげて説明してくれないですか?
328デフォルトの名無しさん:2011/09/30(金) 04:27:02.54
>>320
JavaFX始めるためにSwing Labの投資やめたのが転落の始まり。
329デフォルトの名無しさん:2011/09/30(金) 15:51:28.17
斜め読みして、FXに投資して大損失出したのかと誤解した。
330デフォルトの名無しさん:2011/09/30(金) 17:47:26.64
今手に入る日本語Javaドキュメントの中で最新のzipはどこにあるのでしょうか?
英語版はあるようなのですが日本語版はいろんなルート辿ってもリンク切れで見つけられません。
331デフォルトの名無しさん:2011/09/30(金) 18:28:22.61
できる人は今まで解いてきたいろいろな問題や、ファンクションの作り方とかをノートに書き溜めてるんだろうけど
どうやってんの?
332デフォルトの名無しさん:2011/09/30(金) 18:52:41.78
うごいてるソースコードに//でコメントをいれて、バックアップをとってるんじゃね?
333デフォルトの名無しさん:2011/09/30(金) 19:24:33.00
>>331
gistとかどうよ
334デフォルトの名無しさん:2011/09/30(金) 19:40:51.11
そんなの脳内と既存のコードで十分じゃないの?
335デフォルトの名無しさん:2011/09/30(金) 19:56:23.05
基本、既存コードで事足りるけど、職場が変わったとき困るんだよなー。
336デフォルトの名無しさん:2011/09/30(金) 20:42:51.29
プログラミング超初心者ですがjavaを始めたいと思っています。
入門でお勧めの本があれば教えてください。
337デフォルトの名無しさん:2011/09/30(金) 21:00:33.87
groovyっておもろい?
338デフォルトの名無しさん:2011/09/30(金) 21:25:50.04
scala人気で消滅
339デフォルトの名無しさん:2011/09/30(金) 23:06:48.98
つーか、なんやかやと色々やっても、結局、SwingでしこしことGUIプログラム組むことに戻ってきちまうんだよな●ぷぅ〜!!!
340デフォルトの名無しさん:2011/10/01(土) 00:14:48.11
>>339
スイングっておもしろい?
勉強になる?
341339:2011/10/01(土) 01:11:42.21
>>339
おもしろいし、勉強になるけど、実務では使うことはあんまりと思うよ。俺の周りだけかもしれんけど・・
342デフォルトの名無しさん:2011/10/01(土) 01:37:37.31
GUIはどうせ分離するように作るから設計の美しさとかどうでもいい
まず見た目をなんとかしてくれ
343デフォルトの名無しさん:2011/10/01(土) 01:57:47.50
String.splitだと区切り文字が消えてしまうんですが
区切り文字を残してsplitするにはどうすればいいですか
344デフォルトの名無しさん:2011/10/01(土) 02:10:34.88
何処に残るんだか知らないが、後からくっつければ?
345デフォルトの名無しさん:2011/10/01(土) 02:23:25.60
splitは正規表現に対応していてどんな文字列に一致したのか取得する手段が無いので後からくっつける事はできません
346デフォルトの名無しさん:2011/10/01(土) 02:32:22.55
javaなんかもういいよ
objcでやろうぜ!
347デフォルトの名無しさん:2011/10/01(土) 07:39:53.98
>>343
適当に作ってみたが、こういう感じ?
http://ideone.com/k56zX
348デフォルトの名無しさん:2011/10/01(土) 09:25:14.21
引数で渡されたStringを変更しても呼び出し元の変数では変わっていないので
Stringは値渡しですよね?
349デフォルトの名無しさん:2011/10/01(土) 09:43:11.26
Javaには値渡ししかないよ、

参照を値渡して状態変更できても参照渡しができる事にはならん。
350デフォルトの名無しさん:2011/10/01(土) 10:35:42.37
またいつものやつか
351デフォルトの名無しさん:2011/10/01(土) 10:49:44.06
・Javaには値渡ししかない
・Javaのクラスには基本的に参照型しかない
・ゆえに、引数のクラス型の変数は参照の値が渡される。
・String 型は、クラス型だが例外的に参照では無く、値がコピーして渡される。
352デフォルトの名無しさん:2011/10/01(土) 10:50:52.08
そんな例外ないわw
353デフォルトの名無しさん:2011/10/01(土) 10:55:03.58
StringBufferを渡せばいい
354デフォルトの名無しさん:2011/10/01(土) 10:57:58.46
>>348
String は内容変更不可と覚えておくこと。>>353 のいうとおりStringBuffer を使う

っていつもの煽りか。
355 ◆QZaw55cn4c :2011/10/01(土) 11:08:44.62
>>351
>・String 型は、クラス型だが例外的に参照では無く、値がコピーして渡される。
そう思った根拠は?
356デフォルトの名無しさん:2011/10/01(土) 11:27:31.61
String immutable でぐぐれ
357デフォルトの名無しさん:2011/10/01(土) 11:48:38.29
参照型と参照渡しの区別がつかない奴が多くて困るな。

Javaにあるのは値型の値渡しか参照型の値渡しのみ。
C++やC#にある参照渡しの概念はJavaに無い。
358デフォルトの名無しさん:2011/10/01(土) 12:06:59.12
お前らこの話題になると元気になるな
359デフォルトの名無しさん:2011/10/01(土) 12:13:53.62
言語規定にちゃんとかかれてるのに、入門書で参照渡しって書いてるものが多いから
区別がつかない人があふれるんだろうな
360デフォルトの名無しさん:2011/10/01(土) 12:57:00.06
文字列というのは文字の配列で配列の先頭のアドレスをコピーして渡すのが値渡しか?
361デフォルトの名無しさん:2011/10/01(土) 13:11:08.95
Java では char[] と String は違うぞ?

C言語でリテラル破壊した結果が未定義だか不定だかいうのと
ポインタを渡すのが値渡しか参照渡しかってのも別問題だし。
362デフォルトの名無しさん:2011/10/01(土) 13:15:12.91
>>358
初心者が初心者相手にドヤしやすい話題ではあるな
363デフォルトの名無しさん:2011/10/01(土) 13:26:59.12
JAVAアプリケーションはダイアログベースで作るのですか?
マルチプラットフォームとのことで、Macでどうやって動かすのか疑問に思っています。

スマートフォンやアンドロイドでも動かせますか?

JAVAアプレットとJAVAscriptの2つの違いは何ですか?それぞれできないこととかメリットなどありますか?

よろしくお願いします。
364デフォルトの名無しさん:2011/10/01(土) 13:31:42.38
ダイアログベースの定義を言ってみ
365デフォルトの名無しさん:2011/10/01(土) 13:33:46.74
じゃば じゃばお
366デフォルトの名無しさん:2011/10/01(土) 13:58:26.45
単語の大文字小文字の区別がつかないとかperlerなら罵声を浴びせるレベル
367デフォルトの名無しさん:2011/10/01(土) 14:32:30.63
>>363
Macにもターミナルはあるからコマンドラインアプリケーションも普通に動かせるぞ
無理にダイアログベースにする必要はない
っていうことを聞きたいのだろうか
368デフォルトの名無しさん:2011/10/01(土) 15:00:28.41
>>351
例外吹いたw
369デフォルトの名無しさん:2011/10/01(土) 16:15:43.86
String の本当の例外な点は定数オブジェクトが文法的にサポートされてて、
String s = "hello";
見たいに書けちゃうこと、 ってことででいいのかな。
だから、プリミティブ型と紛らわしいけど、
本当は参照型だから、やっぱり値は参照だよ、と。
370デフォルトの名無しさん:2011/10/01(土) 17:42:15.82
文字列プールとかintern()の話をしたほうがいいんじゃないか
371デフォルトの名無しさん:2011/10/01(土) 17:47:59.11
372デフォルトの名無しさん:2011/10/01(土) 18:25:58.36
>>354
StringBufferって今も現役なの?
もはや特殊な用途じゃない限り、StringBuilderを使うのが常識になってると思ったんだが…
373デフォルトの名無しさん:2011/10/01(土) 18:37:20.58
スレッドセーフ
374デフォルトの名無しさん:2011/10/01(土) 18:42:32.50
複数スレッドから文字列追加とかやったことあるか?w
375デフォルトの名無しさん:2011/10/01(土) 18:48:35.50
Java4 のころ、処理が遅いのは文字列直接演算してるせいじゃないかってことで、
軒並み StringBuffer に書き換えたけどあんまり速くならなかったことがあったけど、
あのプログラム今から StringBuilder に書き換えたら、多少は速くなるかなあ。
376デフォルトの名無しさん:2011/10/01(土) 18:49:06.53
それにもし複数のスレッドからappendするとしても
sb.append("x=").append(x) とかになるとどうせロックしなきゃいけないので
ほとんど無意味
377デフォルトの名無しさん:2011/10/01(土) 18:58:43.77
StringBufferを介してProducerとConsumerがやりとりする、っていう用途はどうだろ?
ま、俺は使わないけどw
378デフォルトの名無しさん:2011/10/01(土) 19:00:49.35
それも>>376のような箇所があったらアウトだよ?
使うときに明示的にロックする約束でStringBuilderでやるべき
379デフォルトの名無しさん:2011/10/01(土) 19:08:03.55
>>374
そうそう。
まずこういうニーズがあまりない気がするな。

StringBuilderで置き換えるのが浸透してるもんだと思ってたが…

380デフォルトの名無しさん:2011/10/01(土) 19:09:23.80
そもそもマルチスレッドなプログラムが必要ないしな
381デフォルトの名無しさん:2011/10/01(土) 19:10:34.25
>>375
多分変わらんよ。
Stringで文字列結合してネックになるのって、ループが絡むとかで相当な回数インスタンス生成が行われるときだけのはず。

ループで結合している箇所を置き換えるなら効果あるけど。
382デフォルトの名無しさん:2011/10/01(土) 19:10:58.44
コレクションやStringBuilderみたいな小さい単位でスレッドセーフってあんまり意味ないしな
大抵複数の操作をアトミックに行う必要が出てきて無意味になる
383デフォルトの名無しさん:2011/10/01(土) 20:20:47.86
>>378
当然、業務的にアトミックな単位で読み書きするのさ
384デフォルトの名無しさん:2011/10/01(土) 21:19:55.81
>>381
なるほど、そうすると、処理の内容によっては、わざわざ StringBuffer/StringBuilder 使わずに、
s += " and next word";
みたいにしたほうが、書くのも読むのも楽だから、ってのはある程度ありかな。
385デフォルトの名無しさん:2011/10/01(土) 22:39:29.06
>>376みたいな書き方はマルチスレッドのときは普通やらんだろ。
386デフォルトの名無しさん:2011/10/01(土) 22:50:09.59
StringBuilderが入ったのっていつからだっけ?gcjで使おうとしたらコンパイル通らなくてStringBufferに書き直した気がする
387デフォルトの名無しさん:2011/10/01(土) 22:53:38.02
>>385
もっともだけど、どうせ使うときにマルチスレッドをはっきり意識しないといけないんなら
StringBuilderで使うときにロックしても別に変わんなくね
388デフォルトの名無しさん:2011/10/01(土) 22:53:41.34
タイガーからですのん
389デフォルトの名無しさん:2011/10/01(土) 22:56:15.18
>>387
ちょーおま、
俺のアンカーなしのレスが台無しじゃないか
390デフォルトの名無しさん:2011/10/01(土) 23:06:00.76
ボトルネックになってなければどっちでも良いです
391デフォルトの名無しさん:2011/10/02(日) 00:55:24.74
つかなんか、コンパイラが最適化で勝手に StringBuilder にしてくれるらしい。
まあ、処理系依存の話になっちゃうけど。
すると、普通に文字列結合書くより、 明示的に StringBuffer を使った場合のほうが
遅くなる可能性があるのか。
392デフォルトの名無しさん:2011/10/02(日) 01:01:32.95
>>384
その通り。
内容によっては、あえてStringuBuiderで書いて可読性を落とすよりも、割り切ってStringの+でさくっと書いたほうがいいと思う。

昔、JDBCのSQL文をご丁寧にStringBufferで書いてる奴がいて、そんなのほとんど意味がないというと唖然としてた(笑)。
今のJVMはどうか知らんが、

String sql = "select"
+ " name,"
+ " email"
+ " from"
+ " table_a"
+ " where"
+ " id = ?";

と書く場合と、

StringBuilder buffer = new StringBuider();
buffer.append("select");
buffer.append(" name,");
buffer.append(" email");
buffer.append(" from");
buffer.append(" table_a");
buffer.append(" where");
buffer.append(" id = ?");

では、確かほとんど変わらないか、むしろ前者の方が速かったような気がする。

393デフォルトの名無しさん:2011/10/02(日) 01:05:07.04
コンパイルしたコードを実際に見てみればいいよ
394デフォルトの名無しさん:2011/10/02(日) 01:20:20.24
指定したディレクトリ下の全ファイルをリスト化するソースを書いてWindows上で動かしたいのですが、うまくいきません。
public void list(File file) {
 fileがディレクトリなら list(file.listFiles())で再帰。
fileがファイルならファイル名をArrayListに追加。
}

うまくいかないのは、下位のディレクトリを再帰的にみていくときに、上のディレクトリに戻ってきてしまうハードリンクがあるためです。

2つのHDDが C:\、D:\ になっているのですが、
Dドライブは C:\HDD\D というパスからも見れるようにドライブパスを設定しており、
Cドライブからは、D:\HDD\C というパスからも見れるようにドライブパスが設定してある状況だと、
 C:\HDD\D\HDD\C\HDD\D\HDD ・・・
というように循環してしまいます。

UNIX環境下のシンボリックリンクやハードリンクのループのようなものだと思い
JDK7 出導入された java.nio.file.Files のシンボリックリンクのチェック(ttp://download.oracle.com/javase/tutorial/essential/io/links.html) や
JDK6 でできる ttp://stackoverflow.com/questions/813710/java-1-6-determine-symbolic-links
の方法を試したのですが C:\HDD\D = D:\ということを検出できず、循環を防げませんでした。

何かいい方法はないでしょうか。

環境は Windows 7、JDK7です。
395デフォルトの名無しさん:2011/10/02(日) 01:28:12.75
File#getCanonicalPathでいけなかったっけ?
396デフォルトの名無しさん:2011/10/02(日) 01:28:38.50
1.6でコンパイル結果見ると
”select name, email from table_a where id = ?”
と連結済みなので当然+使った方が速い
397デフォルトの名無しさん:2011/10/02(日) 01:36:12.22
ループでもnew StringBuilder()が再利用できるから普通はString +よりはStringBuilder/StringBufferを使った方がいい
398デフォルトの名無しさん:2011/10/02(日) 01:42:00.43
コンパイル時に確定できる文字列なら単なる無駄
399デフォルトの名無しさん:2011/10/02(日) 01:42:54.28
>>394
msdn.microsoft.com/en-us/library/aa364570.aspx
ファイル・ディレクトリに対する一意な識別子を取得して比較したらいいんじゃね
400デフォルトの名無しさん:2011/10/02(日) 01:53:02.03
>>395>>399 アドバイスありがとうございます。

>>395
だめでした。普通にFile#getAbsolutePathのときと同じように、C:\HDD\D\・・・になってしまいました。

>>399
それですかねえ。
これを Javaから呼び出すのって JNI とかからなんでしょうか。このあたりは全く知識なしです。
ちと勉強しないと。

他に何かスパッとJava内だけで解決できるいい方法があればいいんですが。
401デフォルトの名無しさん:2011/10/02(日) 02:13:28.90
自分も同じようなことやってるからあわてて調べてみた。

ttp://stackoverflow.com/questions/3249117/cross-platform-way-to-detect-a-symbolic-link-junction-point

>There doesn't appear to be any cross platform mechanism for this in Java 6 or earlier, though its a fairly simple task using JNA
(ノ∀`)アチャー
402デフォルトの名無しさん:2011/10/02(日) 02:24:16.88
>>392
ほとんど変わらないのでフォーマッタのためにStringBuilder使ってるよ。
403394:2011/10/02(日) 02:25:11.87
>>401 ありがとうございます。

やっぱり>>394で挙げたシンボリックリンクやジャンクションへの対応方は Windows以外用であって、Windowsでは無効ってことですね。

>There doesn't appear to be any cross platform mechanism for this in Java 6 or earlier, though its a fairly simple task using JNA
2010投稿の内容なので、「JDK6以前ではできない=Pure Javaではできない」っと言っているっぽいですね。
JDK7の java.nio を見ても、>>399で挙げていただいた FSCTL_GET_OBJECT_ID を取るメソッドはなさそうです。

挙げていただいたサイトの JNAでkernel32を呼ぶやり方がいけるかもしれません。
トライしてみます。
404デフォルトの名無しさん:2011/10/02(日) 02:25:39.67
nio2 使えばいんでねーの?
download.oracle.com/javase/7/docs/api/java/nio/file/attribute/BasicFileAttributes.html
405デフォルトの名無しさん:2011/10/02(日) 02:26:07.44
>>394
話題そらして申し訳ないけど、Windowsってそういうのをハードリンクって呼ぶの?
406デフォルトの名無しさん:2011/10/02(日) 02:29:57.49
mklink /h でハードリンクだよ、じゃば関係ないけど
407デフォルトの名無しさん:2011/10/02(日) 02:34:36.51
C:\とD:\でもできるの?
> 指定されたファイルが見つかりません。
なんて出るんだけどやりかた間違ってる?
408デフォルトの名無しさん:2011/10/02(日) 02:52:47.19
>>404 ありがとうございます。
BasicFileAttribute も java.nio.file.Files とともに シンボリックリンクをチェックをできる1.7からの新機能みたいですが、やっぱりだめでした。なんでだー?

BasicFileAttribute#fileKey でも
>On some platforms or file systems it is possible to use an identifier,
> ... On UNIX file systems, for example, the device ID and inode are commonly used for such purposes.
となっていて、暗にWindowsではダメと言っている感じです。

>>407
GUI上でなら、管理ツール→コンピュータの管理で、ドライブ名をつける所でドライブパスの追加もできます。
mklink /h だと確かにできないですね・・・。fsutil hardlink からだとドライブのパス化も行けるんだろうか?
409デフォルトの名無しさん:2011/10/02(日) 03:04:37.84
裏技的になるけど、getFreeSpace() とかでサイズが変わったら別のドライブに飛んだと判定するとか。
410デフォルトの名無しさん:2011/10/02(日) 03:06:11.42
Linuxにはinode番号という同じように一意な識別子があってそれをJavaで取る方法をさくっと調べたけど見つからなかった
じっくり調べれば見つかるかもしれんが
411デフォルトの名無しさん:2011/10/02(日) 03:12:32.36
ディレクトリ再帰の無限ループなんて 10 年前から諦めている。
412デフォルトの名無しさん:2011/10/02(日) 03:14:41.65
ハードリンクとシンボリリックの区別できてます?
413デフォルトの名無しさん:2011/10/02(日) 03:21:37.01
Windowsにはハードリンク・シンボリックリンク・ジャンクションの3つがあるんだな、これが
414394:2011/10/02(日) 03:23:45.94
>>404
java.nio.file.Files#isSameFile を使うと、
C:\foo.txt と、C:\HDD\D\HDD\C\foo.txt
が同じファイルであることをチェックできました。nio2 いいなぁ。

C:\から *.* のリスト化を始めて
ArrayList<File>か ArrayList<java.nio.Path>にリストに放り込んでいって、
追加しようとしているファイルがすでにあるかを isSameFile(Path, Path)でチェックすれば可能
ということまでは確認できました。
が・・・・
ファイル数 n に対して比較が n^2 で処理コストがかかる時点で現実的ではなさそうですね。
415デフォルトの名無しさん:2011/10/02(日) 03:34:16.13
個人的にi-nodeで判断できないのなら>>409の方法はかなり頭のいい方法だと思う

それとループして困るのはディレクトリだけだろ?ディレクトリに限定してチェックして
ループしてると分かったらそれ以下は全部重複だから見なくていい。でもやっぱまだ多いか
416デフォルトの名無しさん:2011/10/02(日) 03:34:55.13
再帰開始のディレクトリに一時ファイル作って128bitくらいのマジックナンバー書いておく。
再帰中にそのファイルと同じファイル名、内容、タイムスタンプのファイル発見したら停止。

もう一段階加えるなら、発見したディレクトリに別の一時ファイルを作り、開始ディレクトリに
同じファイルが出来てたらアウツ。
417デフォルトの名無しさん:2011/10/02(日) 03:40:47.21
>>408
オプションが違う。ドライブをまたぐときはジャンクションにしないといけない
Vistaからはシンボリックリンクもサポートしたから、それでもいける

調べてないけど、そのGUIでの方法はハードリンクでもジャンクションでもシンボリックリンクでもない気が
Linuxならmount --bind相当だったかと。実際ドライブレター割り当ててないボリュームもマウントできる
418デフォルトの名無しさん:2011/10/02(日) 03:41:59.15
>>416
権限がなくてファイルが作れなかったら?
419デフォルトの名無しさん:2011/10/02(日) 03:48:10.01
>>415
>それとループして困るのはディレクトリだけだろ?ディレクトリに限定してチェックして
まさにそれを実験してみてますw
ただ、それでもクソ重いです。フォルダの数も結構多いもんですね。

java.nio.file.Files#isSameFile もちょっと挙動が重めっぽいかな?

>>409
これもたしかに簡易な方法としていいかも。
自己ループ C:\HDD\C\HDD\C というように Cドライブ内だけでループしているのでなければ行けるかも。

>>416
それでもできそうですね。ちとファイルが数千〜数万個増えそうですけれどw

>>412
ドライブを別ドライブのフォルダにするのって、どれにあたるんですかね?
ジャンクション? vista以降のシンボリックリンク?どちらにしても isSymbolicLink()じゃだめっぽいんですが・・・

やっぱJNA で FSCTL_GET_OBJECT_ID を取りに行くのが正攻法なのかなぁ・・・?
420394:2011/10/02(日) 03:55:13.51
>>417 ありがとうございます。
>>412の指摘で >>419 書いているときにアレー?って感じで気づきましたw

mklink /J C:\HDD\D D:\
で作れますね。

>>415
すでに10分くらいやっていますが、実用とは言えないくらい遅いですw
n^2 オーダはやっぱだめかぁ。
421デフォルトの名無しさん:2011/10/02(日) 04:23:43.96
>>394はマウントだからフルパスの文字列からからマウントポイントフォルダパス取り出せばいいだけじゃないの?
C:\foo.txtが実体でHDDがマウントポイントフォルダパスでHDDにドライブレターのCとDが追加されてるからry
面倒だからあとは分かるな。

>>405
ハードリンクじゃないよ。ジャンクションっていう機能によくあるマウントがある。ドマイナーでwinのアプリもまともに対応してない。
winのハードリンクはlinuxのハードリンクと同じ。vistaからソフトリンクって名前のシンボリックリンクも使える。
ちなみにnio2で取得できるのはnio2がファイルシステムの属性を扱えるからでジャンクションやソフトリンクはリパースっていう属性だからだと思う。
422デフォルトの名無しさん:2011/10/02(日) 05:07:22.58
いずれにしても、システムダウンに繋がる可能性があるから、
用途によっては、決めうちでリミッターつけといたほうがいいかも。
この問題に対応できても、将来的にファイルシステムにどんな機能が追加されるかわからないし、
無限ループでリソース食いつぶしてダウンされると、
影響がでかいし、原因の解明に手間取るかもしれない。
423デフォルトの名無しさん:2011/10/02(日) 07:27:19.95
>>330
日本語ドキュメントなら過去ログに上げてくれた人がいた。
リンクはまだ生きてるようだから、

javaスレッド jdk-6u21-docs-ja.zip

で検索しる!
424デフォルトの名無しさん:2011/10/02(日) 10:38:39.90
皆さんはJDK6に入っているJavaDBを使ってますか?
なんかJDK7では無くなってるようですが、これから勉強する意味はあるんでしょうか?
425デフォルトの名無しさん:2011/10/02(日) 11:07:03.22
Oracle10g+JDBCでSQL文の長さ制限はありますか?
426デフォルトの名無しさん:2011/10/02(日) 12:10:04.54
JLabelをクリックしたときのイベント処理ってこれであってる?
"mouse clicked"が表示されないんだけど

label.addMouseListener(new MouseAdapter() {
 public void mousePressed(MouseEvent event) {
  System.out.println("mouse clicked");
 }
});
427デフォルトの名無しさん:2011/10/02(日) 12:33:44.97
>>424
使ってる。
便利だけどセキュリティー面ではいまひとつ信用できない。
428デフォルトの名無しさん:2011/10/02(日) 12:38:46.85
ヒープエラーが出るんですがオーソドックスな回避方法教えてください。
429デフォルトの名無しさん:2011/10/02(日) 12:45:13.63
原因によって違うような。
本当に処理内容が大きくて出るのか、そんなに使ってないはずなのに出るのか。
後者なら要はバグだから、回避じゃなくて修正しないと。
430デフォルトの名無しさん:2011/10/02(日) 12:51:13.35
>>428
使うヒープサイズ<使えるヒープサイズ
にすれ
431デフォルトの名無しさん:2011/10/02(日) 13:09:33.11
俺のヒップもエラーが出ます。
432デフォルトの名無しさん:2011/10/02(日) 13:25:18.84
http://www.bmsi.com/java/posix/index.html
linuxならPosix.lstat()でinode取れるかな >>421
433デフォルトの名無しさん:2011/10/02(日) 15:06:23.35
>>428
プロファイラで無駄があるかどうか調査。
無駄が無ければ>>430
無駄があればそれを修正。
434デフォルトの名無しさん:2011/10/02(日) 15:29:00.74
SWTを使って作られたJAVAアプリケーションを実行するには、JRE以外にランタイムなどが必要になりますか?
ちなみに、SwingはJREだけで実行できますよね?
435デフォルトの名無しさん:2011/10/02(日) 15:36:21.52
>>434
その通り。
436デフォルトの名無しさん:2011/10/02(日) 16:49:00.38
しらんけど、SWTってまだ流行ってんの?
437デフォルトの名無しさん:2011/10/02(日) 19:30:46.23
swingがクソであるかぎりはね
438394:2011/10/02(日) 20:45:26.70
うまくいきました。感謝>みなさま
java.nio.file.Files#walkFileTree(...) を使うと行けるみたい。JDK7用です。

DirLister.java
-----------------------
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
import static java.nio.file.FileVisitResult.*;
import java.util.*;

public class DirLister {
public static void main(String[] args) {
if (args.length < 1 || args[0].equals("-h") || args[0].equals("--help")) {
System.out.println(help());
System.exit(1);
} else if (args[0].equals("-all")) {
File[] roots = File.listRoots();
args = new String[roots.length];
for (int i = 0; i < roots.length; i++) {
try {
args[i] = roots[i].getCanonicalPath();
} catch (IOException e) {
System.out.println("自動的にルートを取得できませんでした。\n明示的にディレクトリを指定してください。");
System.exit(3);
}
}
}

EnumSet<FileVisitOption> opts = EnumSet.of(FileVisitOption.FOLLOW_LINKS);
439394:2011/10/02(日) 20:47:29.11
FileVisitor<Path> fVisitor = new SimpleFileVisitor<Path>() {
/* @Override
//なにもせんぞ。
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {return CONTINUE;}
@Override
//なにもせんぞ。
public FileVisitResult visitFile(Path dir, BasicFileAttributes attrs) {return CONTINUE;}
*/
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
System.out.println("Dir: " + dir);
return CONTINUE;
}

@Override
public FileVisitResult visitFileFailed(Path dir, IOException exc) {
if (exc instanceof FileSystemLoopException) {
System.out.println("!?ループしたぞ?" + dir); //基本的にこないはず
} else {
System.out.println(dir + "は読めぬ。"); //パーミッションの関係で出てくる
}
return CONTINUE;
}
};
440394:2011/10/02(日) 20:49:44.48

try {
for (String arg: args) {
Files.walkFileTree(Paths.get(arg), opts, Integer.MAX_VALUE, fVisitor);
// Files.walkFileTree(Paths.get(arg), fVisitor); //これではダメ。
}
} catch (FileSystemLoopException e) {
e.printStackTrace();
System.err.println("ループ発見!" + e); //こないはず。
} catch (IOException e) {
e.printStackTrace();
}
}

private static String help() {
return "Usage: java DirLister directory [directory2 ...]\n" +
" java DirLister -h (--help) ... ヘルプ表示\n" +
" java DirLister -all ... 全ドライブを対象に。\n";
}
}
--------------------------
ここまで。引数なしで java DirLister するとヘルプ表示。 引数のディレクトリ下を一覧表示。
オプション -all をすると勝手に全ドライブを対象に実行(ネットワークドライブの割り当てをしているとそっちまで見に行くので注意。

これでちゃんと循環せずに見てくれるリスターができました。いろいろ捗りそう。
441394:2011/10/02(日) 21:16:56.74
補足。

public FileVisitResult visitFileFailed(Path dir, IOException exc) {
 if (exc instanceof FileSystemLoopException) {
   System.out.println("!?ループしたぞ?" + dir); //基本的にこないはず
 } else {
 ...
ここの!?ループしたぞ? には来るようです。
ちゃんとここでFileSystemLoopExceptionが投げられているのを確認できました。
442デフォルトの名無しさん:2011/10/02(日) 22:06:47.18
荒すな
443デフォルトの名無しさん:2011/10/02(日) 22:08:39.50
>>394
java.nio.file.Files#walkFileTree使うと良いよ!
444デフォルトの名無しさん:2011/10/02(日) 22:47:18.78
コード張るときはpastebin使ってよ。ためになったよ。乙
445デフォルトの名無しさん:2011/10/03(月) 01:10:21.36
>>423
ありがとうございます。
446デフォルトの名無しさん:2011/10/03(月) 11:08:24.01
JavaScriptでJSONにしたデータをJavaで受け取ろうと思ったら
クラスが分からないから無理ですか?
447デフォルトの名無しさん:2011/10/03(月) 14:14:36.89
String hoge1 = "hoge1";
String hoge2 = "hoge2";

hoge1 = hoge2.clone();

としたいのですができません。
Stringをクローンコピーするにはどうしたらいいでしょうか?
448デフォルトの名無しさん:2011/10/03(月) 14:17:44.74
不変値であるStringのコピーを生成して何か良いことあるのか?
449デフォルトの名無しさん:2011/10/03(月) 14:29:35.06
そうか
hoge1 = new String(hoge2);
でいいのか。
450デフォルトの名無しさん:2011/10/03(月) 14:36:18.06
hoge1 = hoge2;
で何か問題があるのか?
451デフォルトの名無しさん:2011/10/03(月) 14:39:48.28
cloneをインプリメンツしたかったので。
452デフォルトの名無しさん:2011/10/03(月) 14:40:13.94
コラ
453デフォルトの名無しさん:2011/10/03(月) 20:05:52.41
>>451
Stringはfinalだから無理
454デフォルトの名無しさん:2011/10/03(月) 20:07:23.00
>>446
標準ライブラリにはJSON機能ないから、
どこかでライブラリを探すしかない。JSON.org 公式ライブラリもあるけど

構文としてはかなり易しめの部類だから、
自分でJSONパーサを再発明するのもよし。
455sage:2011/10/03(月) 20:12:55.03
プロパティファイル内の他の値を参照するのってどうすればよいのかしら?

hoge.hoge1 = value
hoge.hoge2 = <hoge.hoge1のvalue>+何か追加

っていう使い方をプロパティファイル内でしたいのです。
456デフォルトの名無しさん:2011/10/03(月) 20:24:42.66
>>446
自分も詳しくないけど…
http://stackoverflow.com/questions/338586/a-better-java-json-library
見てると、Gsonのアプローチは>>446が想定してるものだと思うけど、
JSONLibなんかではJSONArrayっていう一般的なクラスのインスタンスで受け取ったあと
getString(hoge)とかで要素の値を取得するみたいね。
457デフォルトの名無しさん:2011/10/03(月) 20:34:32.40
458デフォルトの名無しさん:2011/10/03(月) 20:58:18.89
java.exeって、
C:\Program Files\Java\jdk1.7.0\bin
C:\Program Files\Java\jdk1.7.0\jre\bin
C:\Program Files\Java\jre7\bin
に3つもあるけど、どうして?

環境変数でpathを切るのは、
C:\Program Files\Java\jdk1.7.0\bin
でいいの?
459デフォルトの名無しさん:2011/10/03(月) 21:09:09.02
>>458
C:\Windows\System32
にもあるぜ
460デフォルトの名無しさん:2011/10/03(月) 21:13:21.23
なので、java.exeは明示的にパス切ってやらなくても初めからパスとおってる。

C:\Program Files\Java\jdk1.7.0\bin
を指定するのは、
・javac.exeなども一緒にパスを通したいとき
・バージョンを明示したいとき
じゃないかな?
ちなみにjre下のjava.exeとjdk下のjava.exeでは若干挙動が違う状況があったはず。セキュリティ関係だったかな?
461デフォルトの名無しさん:2011/10/03(月) 21:22:03.21
なるほどね〜。
たしかにコンパイルするときにはjavac.exeを使うし、それは
C:\Program Files\Java\jdk1.7.0\bin
にしかないのでした。

で、C:\Windos\System32にもあるんですか…。
で、挙動が違うんですか…。

いろいろありがとうございますっ!!
462デフォルトの名無しさん:2011/10/04(火) 01:37:53.86
土方乙
463デフォルトの名無しさん:2011/10/04(火) 01:55:22.55
明解JAVAで勉強してるんだけど
forだのifだのの使い方は理解できても
これでなにかプログラムつくれる気がしねぇ

みんなこうやって関数みたいの覚えて
あとは自分で例題(電卓つくるとか)を決めて
適当にやって躓いたらネットで調べる みたいな感じでプログラミング覚えていくの?
464デフォルトの名無しさん:2011/10/04(火) 02:18:34.40
forだのifだのはほんとにやる気がある奴を振り分けるふるいみたいなもの
そこらへんのCやJavaでの違いはあって無いようなもの
GUIやイベントとかネットワークプログラミング学ぶまでは
誰も何も作れる気はしてないから安心しろ
465デフォルトの名無しさん:2011/10/04(火) 02:46:09.36
といっても馬鹿は何やっても無理
466デフォルトの名無しさん:2011/10/04(火) 09:39:45.71
>>458
C:\Program Files\Java\jdk1.7.0\binはJDKに付いてくるpublic JRE。
C:\Program Files\Java\jdk1.7.0\jre\binはJDKに付いてくるprivate JRE
C:\Program Files\Java\jre7\binはJREのみインストールした時のpublic JRE
JREのみの方はclientVMしかないserverVMがない。
JAVA_HOME設定したいならツール群の関係でC:\Program Files\Java\jdk1.7.0\bin。
けど、public JREはシステムの実行環境用だから-cpとかextとかが実行環境と共有されるから
開発環境専用の環境作りたいときは明示的にJDKのprivate JRE指定する。
IDEはJDKのpublic JREがデフォで指定されてることがあるから必要なら設定変える。
純粋にエンドユーザーとしてシステムでjava走らせたいならC:\Program Files\Java\jre7\binの方のpublic JRE使う。
JREのみインストールしたときにC:\Windows\System32にもjavaコマンド入るのはエンドユーザーがパス通す必要ないから。
467デフォルトの名無しさん:2011/10/04(火) 09:56:33.24
ご苦労だな
468デフォルトの名無しさん:2011/10/04(火) 11:49:13.93
MVCを採用したGUIアプリケーションで規約的にViewからModelへの参照は許されるがModelからViewへの参照が許されない場合に、
スレッド内で発生した例外をViewでユーザに通知したいのですが、スレッド内で発生した例外はスレッド内で処理しなければならないので、スレッドクラスはView層におかなければならないのでしょうか?
469デフォルトの名無しさん:2011/10/04(火) 12:34:11.64
普通に例外の発生をイベントとして通知すればいいんじゃね?
470デフォルトの名無しさん:2011/10/04(火) 14:07:11.99
DBにアクセスするメソッドを実装したSampleDaoというクラスと
獲得してくるレコードの格納とアクセサを実装したSampleDtoっていうクラスを用意して
SampleADao dao = new SampleADao()
List<SampleDto> dto = dao.findAll();
みたいな形でオブジェクトをリスト形式で処理上に持たせるつもりでいたんですが、
dtoに格納した各SampleDtoから値を獲得する方法が分かりません

for(init i = 0; i< dto.size(); i++) {
code[i] = dto[i].getCode();
}
みたいな感じでループでList内のそれぞれのSampleDtoのアクセサメソッドから
処理で使ってる配列に返り値を格納していくつもりだったのに、
Eclipseのエラーで「式の型は配列型で、List<SampleDto>に解決済のものである必要がある」って
言われちゃってます

dto[i].getCode()
↑これが悪いんだと思うんだけど、そうなるとListに格納したクラスのメソッドって
どうやって使えばいいんでしょうか?
471デフォルトの名無しさん:2011/10/04(火) 15:02:32.18
>>470ですが自己解決しました

for(init i = 0; i< dto.size(); i++) {
SampleDto dto2 = (SampleDto)dto.get(i);
code[i] = dto2..getCode();
}

みたいな感じで上手く行きました…が、
これで本当にいいのでしょうか…
472デフォルトの名無しさん:2011/10/04(火) 15:20:17.97
完璧ですよ!
473デフォルトの名無しさん:2011/10/04(火) 16:52:35.36
HashMapを定義する際に、1行で初期値を入れるようなことは可能ですか?
クラスのメンバなどで配列を定義する際に、
String strArray[] = {"aaa","bbbb", "ccccc"};
とすることができるように、HashMapにも初期値を入れた状態で定義したいです。

以下のように後からputしていくのと同様の処理を、1行で済ます方法があったら教えてください。

HashMap<String, String> map = new HashMap<String,String>();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
map.put("5", "e");
map.put("6", "f");
474デフォルトの名無しさん:2011/10/04(火) 17:42:44.05
Javaじゃ無理。
Groovyならできたと思うけど。
475デフォルトの名無しさん:2011/10/04(火) 17:48:23.63
自分でstaticなジェネリクスを作ればいいんでね。
476デフォルトの名無しさん:2011/10/04(火) 17:56:54.69
private static <Key,Value> void putAll(Map<Key,Value> map, Key[] key, Value[] value ){
  int length = Math.min(key.length,value.length);
  for( int i = 0; i < length; i++ ){
    map.put(key[i],value[i]);
  }
}
477デフォルトの名無しさん:2011/10/04(火) 18:34:43.03
keyとvalueが別個とか…変態だな
478デフォルトの名無しさん:2011/10/04(火) 18:57:10.92
爺乙
479デフォルトの名無しさん:2011/10/04(火) 19:23:55.42
>>477
ぜひ他の解決策をご教示ください。
480デフォルトの名無しさん:2011/10/04(火) 19:56:31.88
>>473
>>473 >>479
JunkUtilという変態ライブラリを使うと1行で書ける。

Map map = new LzMap(
  "1", "a",
  "2", "b",
  "3", "c",
  "4", "d",
  "5", "e",
  "6", "f"
).map();

ジェネリクス?何それおいしいの?
481480:2011/10/04(火) 20:10:05.41
書き込みミスった。

Map map = new LzMap(new String[]{
  "1", "a",
  "2", "b",
  "3", "c",
  "4", "d",
  "5", "e",
  "6", "f"
}).map();

こうだった。全然スマートじゃないな。忘れてくれ。
482デフォルトの名無しさん:2011/10/04(火) 20:18:12.05
Properties map = new Properties(); // Properties は Map を実装
map.load(new StringReader("1=a\n2=b\n3=c\n4=d\n5=e\n6=d"));
483デフォルトの名無しさん:2011/10/04(火) 20:20:04.04
static <K,V> Map.Entry<K,V> p(K key, V value) { return new AbstractMap.SimpleEntry<K, V>(key, value); }
static <K,V> Map<K, V> map(Map.Entry<K, V>... entries) {
  Map<K, V> map = new HashMap<K, V>();
  for (Map.Entry<K, V> entry : entries) map.put(entry.getKey(), entry.getValue());
  return map;
}
Map<String, String> map = map(p("1", "a"), p("2", "b"), p("3", "c"), p("4", "d"), p("5", "e"), p("6", "f"));
System.out.println(map);

とか。
484デフォルトの名無しさん:2011/10/04(火) 20:49:04.40
Mapぐらい{ "key1" : "value1", "key2" : "value2" } みたいに作れればいいのに
あとArrayも [ "value1", "value2" ] ry
485デフォルトの名無しさん:2011/10/04(火) 21:00:27.56
Scalaerはやくぅー!
486デフォルトの名無しさん:2011/10/04(火) 21:26:06.81
commons CollectionUtilsあたりに配列→マップのユーティリティがあった気がするが
487デフォルトの名無しさん:2011/10/04(火) 21:56:00.07
>>473
匿名クラス+インスタンス初期化子という方法がある。
変態的なのでお勧めしないけど。
488デフォルトの名無しさん:2011/10/04(火) 22:01:36.31
CollectionUtilsでなくってArrayUtilsだったわ
Map<String, String> map = ArrayUtils.toMap(new String[][] { { "key1", "val1" }, { "key2", "val2" } });
489デフォルトの名無しさん:2011/10/04(火) 22:11:23.33
>>471
よくない
490デフォルトの名無しさん:2011/10/04(火) 22:43:22.86
>>488
キャストしないとエラーになんね?
491デフォルトの名無しさん:2011/10/04(火) 23:34:30.33
>>479>>484
>>474

>>480
お前はもう来んなって
492デフォルトの名無しさん:2011/10/04(火) 23:42:03.04
なぜライブラリによる解決策を排斥するのか
493デフォルトの名無しさん:2011/10/05(水) 01:20:41.44
MVCを採用したGUIアプリケーションで規約的にViewからModelへの参照は許されるがModelからViewへの参照が許されない場合に、
スレッド内で発生した例外をViewでユーザに通知したいのですが、スレッド内で発生した例外はスレッド内で処理しなければならないので、スレッドクラスはView層におかなければならないのでしょうか?
494デフォルトの名無しさん:2011/10/05(水) 01:43:03.06
いっそ、>480 の Map を自作でいいんじゃないの

public class HentaiMap extends HashMap<String, String> {
  public HentaiMap(String... args) {
    for (int i = 0; i < args.length / 2; i ++) {
      put(args[2*i], args[2*i+1]);
    }
  }
}

HashMap<String, String> map = new HentaiMap(
  "1", "a",
  "2", "b",
  "3", "c",
  "4", "d",
  "5", "e",
  "6", "f"
);
495デフォルトの名無しさん:2011/10/05(水) 01:56:21.61
経験を積むとkeyとvalueが別個なのが変態じゃないのかと思えてくるようになる
496デフォルトの名無しさん:2011/10/05(水) 02:01:52.73
経験を積むとkeyとvalueが別個なのが変態じゃないのかと思えてくるようになる

ごめん。何言ってる分からないな。

経験を積むとkeyとvalueは別個の方が変態じゃないのかと思えてくるようになる(つまり別個引数にすべき)
497デフォルトの名無しさん:2011/10/05(水) 02:06:02.00
ん?まだ変なにほんごだな
お前ら当然エスパーしろよな
498494:2011/10/05(水) 02:15:44.75
× 経験を積むとkeyとvalueが別個なのが変態じゃないのかと思えてくるようになる
△ 経験を積むとkeyとvalueは別個の方が変態じゃないのかと思えてくるようになる(つまり別個引数にすべき)
◎ 経験を積むとkeyとvalueとを別個にしない方が変態じゃないのかと思えてくるようになる
ちなみに、同感です。
499デフォルトの名無しさん:2011/10/05(水) 03:40:42.54
どうも変態です。
http://ideone.com/su5f9
500デフォルトの名無しさん:2011/10/05(水) 04:04:10.59
変態乙
501デフォルトの名無しさん:2011/10/05(水) 09:05:53.58
列ごとに別個の配列にするのか自然とかいつの時代だよ
502デフォルトの名無しさん:2011/10/05(水) 09:27:24.80
土方乙
503デフォルトの名無しさん:2011/10/05(水) 09:41:14.59
FORTRAN的発想ですね
504デフォルトの名無しさん:2011/10/05(水) 10:01:56.35
自然じゃないけど汎用性考えたらそうなる
505494:2011/10/05(水) 10:07:24.68
@ void putAll(String[] keys, String[] values)
  ⇒「キーと値のリストを指定して、複数エントリを保持させる」と、直感的に読める
A void putEntries(String[] entries)
  ⇒「(恐らく)キーと値の繰り返しを指定して、複数エントリを保持させるのだろう」と、エスパーすれば読める
Aよりは@の方が意味を捉えやすいでしょ、という事。
時代は関係ない。・・・と思いたい。
506デフォルトの名無しさん:2011/10/05(水) 10:22:26.38
そんなことよりキーと値が離れることによるデメリットの方が遥かに大きい
507デフォルトの名無しさん:2011/10/05(水) 10:31:11.99
と、確かに昔は思っていたんだけれど、一周回ってここに来てしまったわけですよ。
こ、後悔なんかしてないんだから/////
508デフォルトの名無しさん:2011/10/05(水) 10:33:12.99
直交性の話題はデザインパータンですらもさんざん書いてあるのにこれを直観で理解できなかったのは経験不足というより勉強不足
509デフォルトの名無しさん:2011/10/05(水) 10:39:24.70
そりゃ、どうもすんません。
510デフォルトの名無しさん:2011/10/05(水) 10:56:00.49
初期化の方法の一つとしてキーと値を別個に与えられるようにするのはアリだけど、
明らかにリテラルで書くのには向いてない
511デフォルトの名無しさん:2011/10/05(水) 12:05:47.34
パーたんパーたん
512デフォルトの名無しさん:2011/10/05(水) 12:53:27.80
リテラルで初期化する話でしょ?
キーに対応する値を探したりペアを削除したり途中に追加したりするのに
いちいち前から順に数えないといけないとかクソすぎ
513デフォルトの名無しさん:2011/10/05(水) 12:58:38.15
>>508
もう少し詳しく
514494:2011/10/05(水) 13:56:18.72
もちろん、初期化の書きやすさ(と格好良さ)で言えば>494で問題ないと思うけど、
>505で言いたいのは、もう少し別の次元の話。

開発現場では、他人様が書いたソースコードを読むことが多々ある。そこに、
  void replaceElements(List list, String[] replaceInfo)
なんてメソッドがあっても使い方ピンとこないでしょ。でも、
  void replaceElements(List list, String[] targets, String[] replacements)
だと、なんとなく分かるでしょ。

もちろん、ドキュメントなりコメントなりには書いてあるんだけど、ぱっと見で分かんないと、読むのが辛いの。
分かりづらい理由は、置換対象の要素+置換後の値という、性質の異なる値を1つの配列に押し込めてるためだから、
>494の引数も、同じように2つに分けてしまいたいな、と思うわけ。

おまいら、PGだったらこの気持ち、分かってくれるよな?
515デフォルトの名無しさん:2011/10/05(水) 14:02:43.58
我ながらアホス

String initString =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<java version=\"X.X.X_XX\" class=\"java.beans.XMLDecoder\">" +
// X.X.X_XX any value
"<object class=\"java.util.HashMap\">" +
"<void method=\"put\">" +
"<string>1</string>" +
"<string>A</string>" +
"</void>" +
"<void method=\"put\">" +
"<string>2</string>" +
"<string>B</string>" +
"</void>" +
"<void method=\"put\">" +
"<string>3</string>" +
"<string>C</string>" +
"</void>" +
"</object>" +
"</java>";
InputStream bais = new ByteArrayInputStream(initString.getBytes());
XMLDecoder d = new XMLDecoder(
bais
);
HashMap<String,String> obj = (HashMap<String, String>) d.readObject();
516デフォルトの名無しさん:2011/10/05(水) 15:10:58.10
きもぢばるいおお
せめてクラスを別にして
517デフォルトの名無しさん:2011/10/05(水) 15:25:28.37
直交性を考えるならString[][] 一択だろう
518デフォルトの名無しさん:2011/10/05(水) 15:45:46.06
だから何と何の直交性だよ
519デフォルトの名無しさん:2011/10/05(水) 15:50:57.31
KeyとValueだろ。
520デフォルトの名無しさん:2011/10/05(水) 16:06:14.55
キーと値のペアを1単位としたとき、という意味。
それぞれを別個の引数に分けるのはよろしくない。
521518:2011/10/05(水) 16:10:09.33
>>519
俺もそれを直交性と言いたいんじゃないかと一瞬考えた。
しかしそれはさすがにアホだろ。keyとvalueが直交してんだったらmap使う意味ないだろ。

あーあれか。データ構造とアルゴリズムの分離ってやつ?
今回のだとインタフェースと実装が適切か?
インタフェースとして(>>505が言うところの)「意味を捉えやすい」のはどれか、ってことだな。

それなら>>517の言いたいことは分かった。
>>508はデザパタ言いたかっただけか。「デザイン」パターンなんだから当たり前だろ。
「デザインパータンですらもさんざん書いてある」んじゃなくて、そのものが書かれてるんだよ?
522デフォルトの名無しさん:2011/10/05(水) 16:17:58.47
えーと?>>521が言いたいのは、
>>495-498
変態 && アホ == true
だってこと?
523デフォルトの名無しさん:2011/10/05(水) 17:00:49.97
デザインパターン持ち出すならこういう場合は
new MapBuilder<String, String>().add("1", "a").add("2", "b").toMap()
だろ
524デフォルトの名無しさん:2011/10/05(水) 17:15:20.11
いやFactoryMethodも使って
MapBuilder<String, String> mb = new HashMapBuilder<String, String>();
Map<String, String> map = mb.add("1", "a").add("2", "b").toMap();
こうかな
525デフォルトの名無しさん:2011/10/05(水) 17:20:35.41
>>524
何が変わってるんだよw
526デフォルトの名無しさん:2011/10/05(水) 18:18:56.77
お前らasMap({K1 : K1,...Kn : Vn})の場合とnewMap(Keys[], Values[])の場合の話が混在してないか?
527デフォルトの名無しさん:2011/10/05(水) 18:22:46.55
----ここまで読み飛ばした----
528デフォルトの名無しさん:2011/10/05(水) 18:58:06.04
>>521
519=520
語弊があったので言い直した。
529518:2011/10/05(水) 19:00:09.93
>>520
俺へのレスかな?
「keyとvalueは直交してないことを考慮して」という意味で「直交性を考える」と言っているのであれば理解した。
>>519が言いたかったのも、もしかしてそういうことか。
「keyとvalueは依存関係があるので」とでも言ってくれればすんなり理解できたのだが。
>>508>>517が言ってる「直交性」はそれぞれ別の物を指してるってことだな。

>>522
ご理解痛み入る。
530529:2011/10/05(水) 19:02:21.55
>>528
すまぬ、入れ違いにカキコしてしまったようだ。
531494:2011/10/05(水) 19:18:26.97
そりゃあ、Mapなんだから、>520の発想が自然なのは当たり前だと思ってる。
どの方法が一番かを気にしたつもりは全く無くて、
String[] よりは String[], String[] の方が、総合点高くね?とだけ言ったつもり。
>476 >477 >494 >495-498 の流れ。

>>529
じゃあ、>508の「直交性」は、どういう意味なの?
532デフォルトの名無しさん:2011/10/05(水) 19:49:28.32
>>531
> じゃあ、>508の「直交性」は、どういう意味なの?
知らんがな。正にそれを俺が>>513>>518で聞いてるわけだ。

俺は「直交性」と聞いて「直交する性質」と理解したわけだ。この話題で何と何が直交してるのかと。
その結果>>521に行き着いた。
「直交しない性質」をして「直交性」と呼んでいることに考えが及ばなかったことはあるにせよ、
デザパタ引き合いに出している以上>>521の推測は妥当だろう?
533デフォルトの名無しさん:2011/10/05(水) 19:58:37.62
連想配列・ベクタの初期化子もジェネレータもある言語ならともかくjavaでkey:valueをひとつの配列にしたら
for(i=0; i<len; i+=2){key = record[i]; value = record[i+1]}みたいな低レベルなfor回さなきゃいけないのは気持ち悪い。
かといってObject[][]は扱いにくいしだからといってjavaにyieldがあるわけでもないからどうしようもないな。
534デフォルトの名無しさん:2011/10/05(水) 20:05:29.38
まずは、KeyとValueの内積を定義してから、直交性を議論しようぜ
535デフォルトの名無しさん:2011/10/05(水) 20:06:20.47
Javaの欠陥
536デフォルトの名無しさん:2011/10/05(水) 20:18:10.95
とはいえ、perl みたいななんでもありもどうかと思う。
537デフォルトの名無しさん:2011/10/05(水) 20:33:27.58
HSSFCell cell = row.getCell((short) 1);

メソッド getCell(short) は型 HSSFRow で使用すべきではありません

じゃあどうすればいいの?
538デフォルトの名無しさん:2011/10/05(水) 20:35:32.98
ソース見ればdeprecatedになってない似たような名前のメソッドがあるからそれ使え
539デフォルトの名無しさん:2011/10/05(水) 20:44:43.37
540デフォルトの名無しさん:2011/10/05(水) 20:57:08.99
>>537
http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFRow.html#getCell(short)
> Deprecated. (Aug 2008) use getCell(int)
似たような名前、ちゅーか同じ名前だな。
541デフォルトの名無しさん:2011/10/05(水) 21:04:13.60
ありがとう
542デフォルトの名無しさん:2011/10/05(水) 21:39:13.32
>>541
どういたしまして。
543デフォルトの名無しさん:2011/10/05(水) 21:41:19.98
>>541
いいってことよ( ´ー`)y-~~~
544デフォルトの名無しさん:2011/10/05(水) 21:47:43.56
じゃあ俺からもありがとう。
545デフォルトの名無しさん:2011/10/05(水) 22:40:54.41
ジャバをいくら勉強しても馬鹿には無理
546デフォルトの名無しさん:2011/10/05(水) 22:42:52.11
じゃばじゃば夫
547デフォルトの名無しさん:2011/10/05(水) 22:44:43.39
>>545よりバカはこのスレにはいません
548デフォルトの名無しさん:2011/10/05(水) 22:47:32.22
javaがわからないくらいバカ
549デフォルトの名無しさん:2011/10/05(水) 22:52:18.89
馬鹿がわからないくらいjava
550デフォルトの名無しさん:2011/10/05(水) 22:55:12.52
>>534
おおっ、ジャバだけじゃなく数学の方もよく理解してるな
551デフォルトの名無しさん:2011/10/05(水) 22:55:36.44
      人__人__人__人__人__人__人__人__人__人__人
    Σ                           て
    Σ  javaがわからないくらいバカ!       て人__人_
    Σ         馬鹿がわからないくらいjava !    て
     ⌒Y⌒Y⌒Y)                          て
             Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒
 _______
 |__       ヽ(゜∀゜)ノ
 |\_〃´ ̄ ̄ ヽ..ヘ(   )ミ
 | |\,.-〜´ ̄ ̄   ω > (∀゜ )ノ
 \|∫\   _,. - 、_,. - 、 \ (  ヘ)
   \   \______ _\<
    \  || ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
      \||_______ |
552デフォルトの名無しさん:2011/10/05(水) 23:41:42.97
Excelのファイルからxmlファイルを出力するんだが、木構造をどう出力すりゃいいんだ?
有名な再帰的アルゴリズムみたいのある?
553デフォルトの名無しさん:2011/10/06(木) 00:18:14.36
Excel からわざわざ Javaで変換するのか?
VBA使ったほうが速くないか?
554デフォルトの名無しさん:2011/10/06(木) 00:44:11.19
551 名前:デフォルトの名無しさん [sage] :2011/10/05(水) 22:55:36.44
      人__人__人__人__人__人__人__人__人__人__人
    Σ                           て
    Σ  javaに関係ない話題と気づかない程にバカ! て人__人_
    Σ         馬鹿がわからないくらいjava !    て
     ⌒Y⌒Y⌒Y)                          て
             Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒
 _______
 |__       ヽ(゜∀゜)ノ
 |\_〃´ ̄ ̄ ヽ..ヘ(   )ミ
 | |\,.-〜´ ̄ ̄   ω > (∀゜ )ノ
 \|∫\   _,. - 、_,. - 、 \ (  ヘ)
   \   \______ _\<
    \  || ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
      \||_______ |
555デフォルトの名無しさん:2011/10/06(木) 00:47:35.35
邪馬ジャバ夫
556デフォルトの名無しさん:2011/10/06(木) 00:48:14.91
ユーザーがアップロードしたExcelファイルを
サーバー側でVBA動かしてXML出力しろってか

頭悪いんじゃないか?
557デフォルトの名無しさん:2011/10/06(木) 00:51:03.40
558556:2011/10/06(木) 00:52:12.63
ごめん、俺、エスパーすぎた?
俺、エスパーすぎた?
559デフォルトの名無しさん:2011/10/06(木) 01:01:46.57
VBA使いなら>>556を問題なく構築出来るんだがな
Javaしか触れない奴には、
自分が無理だから技術的に無理、ないしはすべきではない
とか固定的なものの見方しか出来ない
560デフォルトの名無しさん:2011/10/06(木) 01:28:26.41
VBA理解できる頭があったらjavaなんかやらんのじゃ
561デフォルトの名無しさん:2011/10/06(木) 01:33:29.83
VBA使いごときじゃ、VBAを動かすサーバーを
構築することすら出来んだろうってw

当たり前だけど、サーバーは常識的な選択。
Linux + Apache + Tomcatの構成だからな。
562デフォルトの名無しさん:2011/10/06(木) 01:37:57.97
お前の常識なんか興味ねーよ
要件に応じて構築中しろよカスが
563デフォルトの名無しさん:2011/10/06(木) 01:40:18.77
普通客によって変わるわな
564デフォルトの名無しさん:2011/10/06(木) 01:49:40.64
っていうか、木構造云々言ってるから、 Excel ファイルを扱うという問題自体は
なんらかの方法で解決してるんだろう。
そんで、そのデータを XML で出力しようとしたときに、木構造をどうにかする
再帰的アルゴリズムが要るんだろうな。
565デフォルトの名無しさん:2011/10/06(木) 02:08:20.08
用は木構造のデータを入れたらXMLを吐いてくれる便利ライブラリがあればいいんだろ
566デフォルトの名無しさん:2011/10/06(木) 02:16:57.03
それだとExcelって単語を出す必要が
そもそも無かったってことに。。。
567デフォルトの名無しさん:2011/10/06(木) 02:52:19.81
馬鹿って質問の仕方ひとつとっても馬鹿をアピールしてるからな
568デフォルトの名無しさん:2011/10/06(木) 03:24:34.85
569デフォルトの名無しさん:2011/10/06(木) 03:52:41.18
この無理男がjavaスレを荒らしまくってる
なんとかしてくれ
570デフォルトの名無しさん:2011/10/06(木) 04:34:19.63
放っとけよ
571デフォルトの名無しさん:2011/10/06(木) 04:55:08.18
572デフォルトの名無しさん:2011/10/06(木) 06:27:41.69
確かに大元が何を言ってるのかよくわからない。
木構造ならそのまま再帰使ってXML出力できると思うが。
573デフォルトの名無しさん:2011/10/06(木) 07:11:04.16
再帰を書けないコーダーなんじゃね?
574デフォルトの名無しさん:2011/10/06(木) 07:19:45.18
ポインタと再帰が理解できないとプログラマとは言えない

って誰か言ってた
575デフォルトの名無しさん:2011/10/06(木) 07:41:52.66
>>574
意外と敷居ひくいな
576デフォルトの名無しさん:2011/10/06(木) 07:46:17.95
敷居が低いは誤用
577 忍法帖【Lv=14,xxxPT】 :2011/10/06(木) 08:18:07.42
明解Javaのあと、パーフェクトjavaに移ったのですが
20章のサーブレットになった瞬間意味が分かりません。

誰かこの本持ってる人いませんでしょうか?

tomcatやantは勝手にダウンロードしとけ。みたいに書かれてるのですが
ダウンロードした後にどう使うのか、そもそもxmlファイルの例が書かれても
どこに書くのかとか(今まで通りterapadのようなものに書いて保存時にjavaにするのかなど)
一切書いてないので意味がわかりません。
578デフォルトの名無しさん:2011/10/06(木) 08:33:29.90
tomcatってまだServlet+JSPだけのコンテナだよな。
そろそろGlassfishのWeb Profileで入門とか出てきても良さそうなんだがなー。

>>577
まずEclipseかNetBeansあたりの統合開発環境を導入したほうが良さそうかな。
ソース1つ2つをさわる程度ならエディタでもいいけど、プロジェクトって概念を学んだ方がいいと思う。
Web用プロジェクトのテンプレートもあるからどこに何を書くか、そしてどこに保存すべきなのかはそれで学ぶといい。
ただし、ものによって保存する場所が決まっているもの(web.xmlとか)と比較的自由に変更できるものがあるので注意を。
579 忍法帖【Lv=14,xxxPT】 :2011/10/06(木) 08:37:31.32
>>578 ということはeclipseとかの書籍を読んだ方がよいということですか?
ただのjavaとは別でEclipseで始めるjava。みたいな本があったと思いますが。
580デフォルトの名無しさん:2011/10/06(木) 08:40:13.97
連投失礼。

>>577
tomcatとAntの設定なんてネットにいくらでも転がってるからそっちみるといいよ。
Antはちと面倒だけどtomcatでアプリをデプロイして見るだけならそんなに難しくない。

参考書籍がその1冊限定なんて変な縛りは無いんでしょ?
自分の今の知識レベルに沿った書籍やwebサイトを探すんだ。
581 忍法帖【Lv=14,xxxPT】 :2011/10/06(木) 08:46:31.93
>>580 ありがとうございます。
とりあえず今の書籍を読み直すのと、書籍探しもしてみます。
582デフォルトの名無しさん:2011/10/06(木) 10:49:02.76
>>552だけど、朝起きたらお前ら喧嘩しててワロタw
583デフォルトの名無しさん:2011/10/06(木) 11:42:24.35
調子に乗るなカス
584デフォルトの名無しさん:2011/10/06(木) 12:01:58.22
JVMはSandyBridgeのAVXを使いこなせますか?
585デフォルトの名無しさん:2011/10/06(木) 14:40:37.59
使いこなせます
586デフォルトの名無しさん:2011/10/06(木) 16:22:37.34
>>582
喧嘩はしてないし、質問内容が不明瞭と言ってる
ほんとに頭悪そうだな
587デフォルトの名無しさん:2011/10/06(木) 16:32:42.91
最低学歴だらけのこの業界で頭悪そうとか言うなよ
588デフォルトの名無しさん:2011/10/06(木) 16:38:38.16
年収も学歴も日本最底辺だなんてもう人生終わってるよな
589デフォルトの名無しさん:2011/10/06(木) 16:39:20.12
>>584
No
590デフォルトの名無しさん:2011/10/06(木) 18:31:01.42
JNIって引数や返り値のデータの大きさによってオーバーヘッドが変化しますか?
それともポインタ的なものを操作するだけで終わるとかでデータの大きさは関係ありませんか?
591デフォルトの名無しさん:2011/10/06(木) 18:42:59.51
Javaにはユーザが定義の値型はないし参照型はポインタ的な渡し方しかできないから
データの大きさっても引数の数ぐらいだな。

引数で渡されたオブジェクトのフィールド触ったりメソッド呼び出したりも含めて
JNI経由の呼び出しのオーバーヘッドの方がでかい。
592デフォルトの名無しさん:2011/10/06(木) 19:10:57.15
JNI経由の呼び出しオーバヘッドが大きい、というのはその通りだが、
糞でかい配列やりとりしたりするとコピーのオーバヘッドの方が問題になる(場合もある)…と思う。
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/jni/spec/functions.html#wp17382


http://java.sun.com/docs/books/jni/html/objtypes.html
見ると
> The overhead of copying a small number of array elements is negligible.
なんて書いてあるけど、逆に言うとsmallじゃなければ、ってことだな。
593デフォルトの名無しさん:2011/10/06(木) 19:59:11.10
その辺はいざとなったらGetPrimitiveArrayCritical使うとかNewDirectByteBuffer使えばいいんじゃね
594デフォルトの名無しさん:2011/10/06(木) 21:14:27.62
パーフェクトjavaいまやっているので便乗質問
この本の次に読んだら良い本ってありますか?
595デフォルトの名無しさん:2011/10/06(木) 21:37:58.14
パーフェクトjavaがどんな本か知らないけれど、
取り敢えずEffective Javaは読んどけ。
596デフォルトの名無しさん:2011/10/06(木) 23:59:37.65
出たーw

時代遅れのeffective信者wwww
597デフォルトの名無しさん:2011/10/07(金) 00:06:53.02
自己紹介乙
598デフォルトの名無しさん:2011/10/07(金) 01:30:29.19
煽りでないなら、どの部分が時代遅れなのか大いに興味がある
599デフォルトの名無しさん:2011/10/07(金) 02:56:33.36
>>596じゃないけどわざわざ読むような本じゃないことは覚えてる
Effective XXに便乗しただけの本
600デフォルトの名無しさん:2011/10/07(金) 03:14:08.60
>>598
未だにそれを盲目に信じてるから信者といわれ君は影で馬鹿にされている
601デフォルトの名無しさん:2011/10/07(金) 05:15:05.20
パブリックなメソッドを作ると永遠にメンテしなければならなくなる。
とか書いてあったけどそれはJavaのライブラリを作る時の話で
使う人には必要ない話が多かった気がする。
602デフォルトの名無しさん:2011/10/07(金) 05:21:24.93
Effective シリーズは執筆者も監査者も一流なのに…。
Java厨は相変わらず見た目だけのアホばっかりだな。
603デフォルトの名無しさん:2011/10/07(金) 05:23:58.98
604デフォルトの名無しさん:2011/10/07(金) 05:31:30.40
執筆者が一流だろうと何だろうと大したこと書いてないんだから仕様がない
超初学者向けだし
605デフォルトの名無しさん:2011/10/07(金) 05:34:49.08
初学者向けの本を勧めてるんだからそれでいいだろ。
606デフォルトの名無しさん:2011/10/07(金) 05:37:09.68
初学者向けというか為になる話は何一つ書いてないw
607デフォルトの名無しさん:2011/10/07(金) 05:48:19.35
Effective C++は初学者が陥りがちな間違いがうまくまとめられてたけど
Effective javaは…
608デフォルトの名無しさん:2011/10/07(金) 05:52:16.08
>Effective C++は初学者が陥りがちな間違いが
あの本はそんな低レベルじゃないわ。
出た当時は意味不明な経験則だった。
609デフォルトの名無しさん:2011/10/07(金) 06:05:06.25
610デフォルトの名無しさん:2011/10/07(金) 06:25:45.85
プログラミング言語なのに意味不明な経験則ってw
611デフォルトの名無しさん:2011/10/07(金) 06:33:46.19
シンプルなサイトを作るにあたって
特に実行性能が良いWEBフレームワークをいくつか教えて下さい。
比較記事とかもあったら教えて下さい。
612デフォルトの名無しさん:2011/10/07(金) 07:58:03.05
>>594
俺もEffective Javaに一票。
俺の評価が当てになるかはググるなり立ち読みするなりして確かめて。
613デフォルトの名無しさん:2011/10/07(金) 08:01:32.67
あ、あとJava: The Good Partsは全くお勧めしない。
評価が高いのはJavaScriptのやつなんで間違えないように。
614デフォルトの名無しさん:2011/10/07(金) 08:10:54.80
>>611
Servert + JSP
余計なフレームワークが無いほうが速い
615デフォルトの名無しさん:2011/10/07(金) 09:07:11.45
よ〜し、Effective Java 買いに行くぞ ε=ε=(っ・∀・)っ ゴーゴー♪
616デフォルトの名無しさん:2011/10/07(金) 13:29:50.20
数年前に読んだときは、
「ふーん、まあ、そんな考えもあってもいいんじゃない?」
的に思ったくらいにしか記憶がない。

ソフトウェアって動けば正義的な圧力があるからね。

しばらく経験を積んで、オブジェクトを生成するにも
そのままコンストラクタを使うのか、ファクトリメソッドを使うのか、ビルダを使うのが適切なのか
それはどうしてなのか、などを実際に悩むようになると、
その指針・考え方のヒントとして役に立った。
617デフォルトの名無しさん:2011/10/07(金) 13:33:56.47
>>613
JSの方も、読むとこそんな多くない
618デフォルトの名無しさん:2011/10/07(金) 13:38:53.15
>>616
ツンデレ書評乙
619デフォルトの名無しさん:2011/10/07(金) 14:39:29.77
Javaって文字列をまとめて定義する方法ってないの?
PHPのEOTみたいなやつ!
620デフォルトの名無しさん:2011/10/07(金) 15:00:54.48
そんなことしてソースを汚すより、リソースファイルとして読み込んだ方がいいよ
621デフォルトの名無しさん:2011/10/07(金) 16:35:30.33
プログラム初心者ですが「明解Java入門(柴田望洋著)」を読み終わったので次のステップに進みたいのですが何を読めばいいでしょうか?

上記の本が分かり易かったので同じ著者の「解きながら学ぶJava入門」のようなタイトルの本が良さげなのですが、
amazonのレビューに解答ソースにバグが多いと書いてあるので心配です
622デフォルトの名無しさん:2011/10/07(金) 16:35:40.02
>>619
Stringで纏めればいいだけだろ。
623デフォルトの名無しさん:2011/10/07(金) 16:36:29.88
解きながら学ぶJava入門以外には考えられません
624デフォルトの名無しさん:2011/10/07(金) 16:38:05.86
本いっぱい買っても>>619見たいな単純なことが出来ないのは
言語以前の問題だと思うが。
625デフォルトの名無しさん:2011/10/07(金) 17:08:27.27
よ〜し、Effective Java 買いに行くぞ ε=ε=(っ・∀・)っ ゴーゴー♪

さえ読めばJavaを制覇できちゃうと勘違いしてるんだろう
626デフォルトの名無しさん:2011/10/07(金) 17:10:49.81
そもそも本一冊読んだ程度で特定のプログラム言語を制覇できたら世話無い
627デフォルトの名無しさん:2011/10/07(金) 17:13:57.33
>>623
バグが多いのは関係ないですか?
628デフォルトの名無しさん:2011/10/07(金) 18:34:03.57
バグが多いのは関係ないですよ
629デフォルトの名無しさん:2011/10/07(金) 18:57:18.19
分かりました
買ってみます
630デフォルトの名無しさん:2011/10/07(金) 19:17:44.02
お買い上げありがとうございます
631デフォルトの名無しさん:2011/10/07(金) 19:31:28.24
学校の課題わからねぇ。わからねぇとこがわからねぇ。そこがまたわからねぇ。

プログラマーに委託すっか。
632デフォルトの名無しさん:2011/10/07(金) 20:38:04.39
バカとの交渉は疲れるのでやめてください
633デフォルトの名無しさん:2011/10/07(金) 20:43:55.72
バカには委託しないので安心してください^^
634デフォルトの名無しさん:2011/10/07(金) 20:46:06.74
>>631
>学校の課題わからねぇ。わからねぇとこがわからねぇ。そこがまたわからねぇ。

わらた
635デフォルトの名無しさん:2011/10/07(金) 21:07:16.36
自分は馬鹿だと認めているところは謙虚じゃないか
636デフォルトの名無しさん:2011/10/07(金) 21:33:23.69
自分が答えられる質問はないかとわくわくしながらスレに来てるくせに
そんな憎まれ口叩くもんじゃありません
637デフォルトの名無しさん:2011/10/07(金) 21:52:33.49
>プログラマーに委託すっか

待ってるw
638デフォルトの名無しさん:2011/10/07(金) 21:54:56.87
>>610
経験則を批判する時点でこの世界の人間じゃないな。
Effective C++はそういうのを理詰めにして説明した本だよ。
639デフォルトの名無しさん:2011/10/07(金) 22:06:54.35
自分が理解できてなかったからって逆切れは…
640デフォルトの名無しさん:2011/10/07(金) 22:17:18.21
経験則で仕事するのがこの世界の人間だって開き直っちゃったw
641デフォルトの名無しさん:2011/10/07(金) 22:28:00.78
確かにすんなり理解できなかった部分もあるが、
ほとんどは画期的すぎて戸惑ってた部分が多かったよ。
642デフォルトの名無しさん:2011/10/07(金) 22:37:42.46
>>640
そう何も意見が言えないよりはマシかと思ってるわ。
643デフォルトの名無しさん:2011/10/07(金) 22:50:30.81
本に書いてあることが正しくて、書いてないことは間違ってるんです
644デフォルトの名無しさん:2011/10/07(金) 23:02:17.78
>>631
★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/
645デフォルトの名無しさん:2011/10/07(金) 23:52:56.89
最近は自分の無能っぷりを自慢するのが流行ってんのか
646デフォルトの名無しさん:2011/10/08(土) 00:30:12.60
今度JavaのWebアプリでWordファイル作れないか調べてくれと言われた。
POIでいけるでしょと思って生返事したのはいいけど、
いざ調べてみるとExcelは山ほど情報あるけどワードないですね。

3年くらい前に使い物にならないとかいう風にまで酷評してたページ見つけたけど、
今はどんな感じなんだろうか、というか使ったことある人いますか…。

とりあえず、明日起きたらちょっと使ってみようとは思ってます。
休みだけど…。気になる。不安。
647デフォルトの名無しさん:2011/10/08(土) 00:48:59.10
POIでのWord出力は出来ないと思ったほうがいい。
648デフォルトの名無しさん:2011/10/08(土) 00:55:33.50
HTMLで出力すれば良いんじゃない?
649デフォルトの名無しさん:2011/10/08(土) 01:06:39.25
>>647

なんか寝つけずにネットで調べてますが、
調べれば調べるほどPOIでWORDはダメっぽいですね…。

代替案を探したほうがいいかなと思い始めてます。

>>648

WORDは客先の希望なんですよねー。
PDFで提案したんだけど(PDFはitext使う予定・というか自分はよくこれ使ってるんで)
「PDFだとこっちで変更できないから変更できるWORDでもほしい」んだとか。
HTMLでもこれは満たせないし、
EXCELじゃダメかなー。
でもEXCELで長文文書というのも(私個人的にはよくやるけど)
さすがに客に出すもんじゃないだろうし。

出来ねーよというしかないような気もだんだんしてますが。
650デフォルトの名無しさん:2011/10/08(土) 01:10:59.41
>>649
HTMLなら、Wordで編集できるでしょ?
651デフォルトの名無しさん:2011/10/08(土) 01:17:21.26
あとは rtf にするか、OpenOffice から OpenDocument を出力とか。
652デフォルトの名無しさん:2011/10/08(土) 01:18:47.70
>>650
HTMLでいったん保存したものをWORDで編集するって話ですか?
うーん。できると言えばできますが・・・。
あの客あんまりパソコンに詳しくないんで、それやらせるの難しい…。
開くだけ言えば開くだけなんですけどね…。
それならまだテキストに出すんで勝手にWORDに張り付けてねの方が通りそうです。
653デフォルトの名無しさん:2011/10/08(土) 01:24:28.08
>>651
rtfならitextあるし簡単そうですね。
ただ、客素人なんで納得させるの大変そうです。
650さんのHTML案にあまり積極的になれないのと同じ理由です。
何回か文句言わせながらでも使わせれば案外なれるのかもしれませんが。

OpenOfficeはちょっと使ったことないので判断できませんがちょっと調べてみます。
654デフォルトの名無しさん:2011/10/08(土) 01:28:02.74
Wordなら.NETとの組み合わせが楽でええよ
655デフォルトの名無しさん:2011/10/08(土) 01:37:38.91
>>654
まったくもってその通りだと思うのですが、
なにぶん、LinuxサーバーのApacheTomcatで動いてるStrutsウェブアプリへの追加なもので・・・。

さらにちょっと調べてたのですが、rtfファイルってWORD入ってれば、
ダウンロードの際よっぽど変な設定しない限りWORDで開くように設定されるっぽいですね。

ひとまずは、
1、rtf案を第1案にする。
2、HTMLまたはテキストを第2案にする。
3、一応まだ時間はあるのでそれ以外(OpenOfficeとかほかになりかあるかとか)調べる

…でいきたいなと思います。

こんな夜分にアドバイスをくれた皆さん本当にありがとう。
656デフォルトの名無しさん:2011/10/08(土) 01:39:47.30
何度もすいません。

>>655の修正

ほかになりかあるかとか)調べる→他に何か手がないか)調べる
657デフォルトの名無しさん:2011/10/08(土) 02:52:42.75
客「なんだこれわあああ!これインターネッツじゃないかきみいいいい!!」
658デフォルトの名無しさん:2011/10/08(土) 02:58:17.95
客「おや?ワードで編集した内容が何故かインターネッツに反映されないぞ?」
659デフォルトの名無しさん:2011/10/08(土) 03:00:42.62
客「ワードでダウンロード出来ると言っていたのに編集出来ないパソコンがあるじゃないか!ん?インストールが必要?きいてないぞわしは!」
660デフォルトの名無しさん:2011/10/08(土) 06:27:41.95
661デフォルトの名無しさん:2011/10/08(土) 08:39:24.81
素直にExcelでええやん
いずれはワードもできるようになりますけど今はExcelで
我慢してねっていえば。
ワードで出力するには3億円かかりますよって言えば
納得するでしょ。
662デフォルトの名無しさん:2011/10/08(土) 09:03:01.21
じゃあWordで出力できるところに頼みます
663デフォルトの名無しさん:2011/10/08(土) 09:08:25.95
できるところがあればいいねww
664デフォルトの名無しさん:2011/10/08(土) 09:56:37.13
665デフォルトの名無しさん:2011/10/08(土) 10:04:04.97
こっちのほうがいいかも、MS製
http://danadler.com/jacob/

import com.ms.com.*;
import com.ms.activeX.*;
・・・
ActiveXComponent word = new ActiveXComponent("Word.Application");
で出来そう
http://msdn.microsoft.com/ja-jp/library/aa288636%28v=VS.71%29.aspx

ただ、やったことないからわからない
666デフォルトの名無しさん:2011/10/08(土) 10:04:54.99
サーバーがlinuxっつってんだろ
667デフォルトの名無しさん:2011/10/08(土) 10:05:57.23
wine入れれば動くんじゃね
668デフォルトの名無しさん:2011/10/08(土) 10:08:58.16
そこだけWindowsのワークステーションに処理させればいいじゃない
669デフォルトの名無しさん:2011/10/08(土) 10:15:00.55
ごもっとも
670デフォルトの名無しさん:2011/10/08(土) 10:15:02.53
それがいい
671デフォルトの名無しさん:2011/10/08(土) 10:21:54.09
msofficeって今いくらで売ってるんですか?
672デフォルトの名無しさん:2011/10/08(土) 10:23:27.47
ggrks
673デフォルトの名無しさん:2011/10/08(土) 16:29:59.17
Java3D使ってみようと思うんだけど
これって公式だと1.5.1までしか出てないっぽいのにJava.netとかいうところで1.5.2がリリースされてるんだな
どうちがうんだ?
674デフォルトの名無しさん:2011/10/08(土) 17:03:26.54
> Wordで出力
やったことないけど、Office2007 以降なら XML として docx 形式 で出力すれば
Word で読めるんじゃないの?
675デフォルトの名無しさん:2011/10/08(土) 17:14:38.04
OOXMLを自前で書くの?って思って調べたらPOIにもあるみたい。使えるかは分からない
jOpenDocumentってのもあるみたい
676デフォルトの名無しさん:2011/10/08(土) 17:27:13.62
凝ったことするんじゃなきゃ、XMLの構造に踏み込まなくても、
適当な雛形をWordで出させて、
文字列置換して出力すればそれで事足りるんじゃね?

どうせ自動出力する文書なんて形式が決まりきってるんだから、
必要なところに、「@@TITLE」とか「@@HONBUN」とか、
あらかじめ決めた置換用の文字列入れたのを Word で作っておいて、
それを読み込んで文字列置換で置き換えたものを出力すればいい。
ユーザがテンプレート登録できるようにすれば、出力形式の変更もユーザで対応できるし。
677デフォルトの名無しさん:2011/10/08(土) 18:13:30.34
すみません。ここにJSPのスクリプトレットはマルチスレッドセーフじゃない
って書いてあるんですがマジですか?
今までスクリプトレット書いてきてしまったんですがまずいですか?
http://www.ne.jp/asahi/hishidama/home/tech/java/j2ee/servlet.html#コーディングの注意
678デフォルトの名無しさん:2011/10/08(土) 18:29:27.09
そんなもんスレッドセーフなスクリプトレットを書けばスレッドセーフだし
スレッドセーフでないスクリプトレットを書けばスレッドセーフでないというだけのことだ
その今まで書いたスクリプトレットがスレッドセーフでないならまずいかもしれんね
679デフォルトの名無しさん:2011/10/08(土) 18:30:53.10
マジかどうか分からないとしたら
絶対的に知識不足か、致命的にバカか
いずれかだ
680デフォルトの名無しさん:2011/10/08(土) 18:33:16.25
そういえば
JSP考えたの日本人だって以前きいたな
681デフォルトの名無しさん:2011/10/08(土) 18:36:35.09
じゃあ大丈夫そうですね
682デフォルトの名無しさん:2011/10/08(土) 18:38:36.45
頭が大丈夫じゃなかったでござる
683デフォルトの名無しさん:2011/10/08(土) 18:56:48.42
よく考えればスクリプトレットがスレッドセーフじゃなかったら
誰も使わないよなw
まったく適当なこと書いてくれるぜ
684デフォルトの名無しさん:2011/10/08(土) 19:00:53.06
クスクス
685デフォルトの名無しさん:2011/10/08(土) 19:09:05.43
LibreOfficeってJavaのインタフェース持ってなかったっけ?
それで加工してWord形式で保存、とかできないのかな?
余計な問題増やしそうな気もするけど…
686デフォルトの名無しさん:2011/10/08(土) 19:11:38.48
客「あ、このあいだのWordの件ね?あれ無くていいから。その分値段やすくして」
687デフォルトの名無しさん:2011/10/08(土) 19:22:30.63
AWTで複数Frameを表示しています。
Frameのxボタンが押された時アプリを終了するために
windowClosing内でSystem.exit(0);を呼んでいるのですが
他のFrameにwindowClosingが来ません
それどころかwindowClosedが来ないのでリソースの解放が出来ません。
Javaのバグだと思いますがどうすればこれらが通知されるようになるのでしょうか。
どうしても来ないどんなトリガでリソースを解放すればよいでしょうか。
688デフォルトの名無しさん:2011/10/08(土) 19:29:23.26
JAVAはあきらめて素直にAPPLEを使うようにします。
689656です。:2011/10/08(土) 19:31:50.51
前夜ははほんとにありがとうでした。
>>665>>666さん
Linuxは変えられないし、ちょっとそれは無理なような。

>>675,>>676さん
できればいいなと思って、
ためしに適当な日本語の長文をうってdocxで保存して中のXMLをみたのですが、
すいません、ちょっと自前で扱うのは難しそうです。
ファイルだけでもdocument.xmlとかstyels.xmlとかあって、
どれもこれも結構連動してるし、document.xmlだけ変えてOKというわけでもなさそうです。
それ以前にdocumentだけとっても
何せ、パラメーターには結構長文があって、
docment.xmlはどうも一行ごとに項目わけして保存してるみたいで、
下手すればこっちで改行の管理とかまでする羽目に…。
確かにほとんど定型ファイルなんですが、
それでも長文パラメーター3行とか4行になるかもってのがあると、
直接いじる手は難しいかなと思ってます。
690デフォルトの名無しさん:2011/10/08(土) 19:32:57.32
>>689の参考までに

以下、そのXMLの一部、文章はテキトーなニュースのコピペなんで気にしないでください。

- <w:r>
- <w:rPr>
<w:rStyle w:val="fontbk16150" />
<w:lang w:eastAsia="ja-JP" />
</w:rPr>
<w:t>た。全国を6〜7地域に分けた上で、出光興産の「塩釜油槽所」(宮城県塩釜市)を含む全国数十カ所の民間設備を国家備蓄の拠点に指定する。地域外からの供</w:t>
</w:r>
- <w:r>
- <w:rPr>
<w:rStyle w:val="fontbk16150" />
<w:lang w:eastAsia="ja-JP" />
</w:rPr>
<w:t xml:space="preserve"></w:t>
</w:r>
- <w:r>
- <w:rPr>
<w:rStyle w:val="fontbk16150" />
<w:lang w:eastAsia="ja-JP" />
</w:rPr>
<w:t>給が途絶えても、3〜5日分程度は域内の需要を賄えるようにする。</w:t>
</w:r>
- <w:r>

一文くらい一つの項目で扱ってくれよ、ぶつ切りするなよ…。
私の力量では無理っぽい。rtf案で押し通してみようかな・・・。
691デフォルトの名無しさん:2011/10/08(土) 19:36:17.46
windows環境用意してくれればいいだけの話じゃないか
692690です。何度もすいません。:2011/10/08(土) 19:46:01.02
>>690の追加
すいません。よくよく見たら行単位じゃなかったです。
多分一定数の文字以上は分けるようになってるんじゃないかと思います。
なんでこの例だと供給の真ん中でぶつ切りされてるのかよくわからないです。

どっちにしろ、相当仕様を研究しないと一部の変更でさえ手に負えません。

>>691
rtfもテキストとかの代案が全部はねられるような
最悪事態にはそれやらざるを得ないかもと思ってますが・・・。
693デフォルトの名無しさん:2011/10/08(土) 19:48:42.19
なんでもかんでもJavaでやろうとする手札の少なさが問題だろ
694デフォルトの名無しさん:2011/10/08(土) 19:49:24.00
rtfなんてはねられるよ
Excelのがまだマシ
695デフォルトの名無しさん:2011/10/08(土) 19:55:03.97
>>692
jOpenDocumentはリッチテキストからOOXMLを吐けるみたいよ。別途商用ライセンスもある
696デフォルトの名無しさん:2011/10/08(土) 20:02:06.12
>>695

おお、本当ですか。さっそく試してみます。
ありがとうです。でも商用ライセンスは上司にはねられるかな…。
697デフォルトの名無しさん:2011/10/08(土) 20:04:59.16
「提案があります。役立たずなあなたの首をきって、代わりに商用ライセンス買えば
時間も節約できる上、お釣りもきます」
698デフォルトの名無しさん:2011/10/08(土) 20:05:36.77
↑これで凸するといい
699デフォルトの名無しさん:2011/10/08(土) 21:26:23.46
[tech][Java]Unix系JavaでRuntime.execをつかうときの落とし穴

もしもしなのでURL貼れなくてすみません。
このタイトルのページの記述、本当なんでしょうか?
700デフォルトの名無しさん:2011/10/08(土) 21:32:06.55
信じるものは救われない
701デフォルトの名無しさん:2011/10/08(土) 21:34:37.03
>>699
どこを疑問に思ったか?とその理由位かけよ
702デフォルトの名無しさん:2011/10/08(土) 21:47:38.64
うんちブリブリ
703デフォルトの名無しさん:2011/10/08(土) 21:47:55.97
これマジなの?酷い話だ
704デフォルトの名無しさん:2011/10/08(土) 21:56:39.32
>>699
昔 Linux の Sun JVM で vmstat の結果をひたすら取るプログラム書いてプロファイルしていたが
入出力か何かのスレッドが起動するだけだった。AIX (IBM JDK) でもそう。
Mac OS X (Apple JDK) 固有の話じゃねぇのそれ。
705デフォルトの名無しさん:2011/10/08(土) 22:25:10.65
言った手前手元の環境で試してみたが Linux, Mac OS X 共に fork したプロセスで実行されるなんて無かった。
「Unix系Javaで一般的な話」ではないな。

◆CentOS 5.6
torao@clove$ cat A.java
public class A{ public static void main(String[] args) throws Exception {
while(true){ Process proc = Runtime.getRuntime().exec("sleep 1"); java.io.InputStream in = proc.getInputStream();
while(true){ int ch = in.read(); if(ch < 0) break; System.out.write(ch); } } } }
torao@clove$ java A &
torao@clove$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
torao 22083 0.0 0.1 85144 3664 pts/0 Ss 22:00 0:00 -bash
torao 22220 0.0 0.1 85144 3664 pts/1 Ss+ 22:03 0:00 -bash
torao 22549 0.4 0.6 781092 13752 pts/0 Sl 22:18 0:00 java A
torao 22569 0.0 0.0 58916 532 pts/0 S 22:18 0:00 sleep 1
torao 22570 0.0 0.0 83608 2052 pts/0 R+ 22:18 0:00 ps u
torao@clove$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

◆MacOSX 10.5
aquamarine:a torao$ ps u
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
torao 14877 0.0 0.0 591428 284 s000 S 10:20PM 0:00.01 sleep 1
torao 14646 0.0 0.6 3047180 23204 s000 S 10:16PM 0:02.17 /usr/bin/java A
torao 14546 0.0 0.0 600176 896 s000 Ss 10:09PM 0:00.07 -bash
aquamarine:a torao$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-9M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
706デフォルトの名無しさん:2011/10/08(土) 22:31:52.05
ガキは早く糞して寝ろよ
707デフォルトの名無しさん:2011/10/08(土) 22:40:34.30
708デフォルトの名無しさん:2011/10/09(日) 01:49:41.96
whileループ内でイベントを受け取って、右上の[X]ボタンで終了させたいのですが、どんなやり方がありますか?
709デフォルトの名無しさん:2011/10/09(日) 02:23:29.04
>>699
AppleのJVMがどういう実装なのか知らないけど
OpenJDKでは、execメソッドから呼ばれるネイティブ関数は
openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c
のJava_java_lang_UNIXProcess_forkAndExecみたいだね。
ここ見てみては?

ttp://d.hatena.ne.jp/kaoskfos/20080320/p1
だと、
> fork が起動元アプリケーションと同サイズのメモリを一瞬確保する
とあるけど、forkがそんな動作するのかどうかは知らない。
710デフォルトの名無しさん:2011/10/09(日) 02:28:37.81
711デフォルトの名無しさん:2011/10/09(日) 17:47:23.44
String s = "test";
System.out.println(s == "test");

この実行結果がtrueになります。
"test"のインスタンスが同じということなのでしょうか?
"test"はメモリ上に複数できているのではないのでしょうか。。
712デフォルトの名無しさん:2011/10/09(日) 18:13:50.52
言語仕様を読む。めんどくさかったら、とりあえず、
自分が言語の設計者だったらどうするか考える。
713デフォルトの名無しさん:2011/10/09(日) 18:24:49.00
>>711
でかい釣り針だな
714デフォルトの名無しさん:2011/10/09(日) 18:49:39.85
>>711
そもそもどんな状況のときに、そんなコード書くんだ?
そういうコードを書くなでFA。
715デフォルトの名無しさん:2011/10/09(日) 18:59:15.02
>>714

専門学校での定期試験にでました。
まじめな質問です。

716デフォルトの名無しさん:2011/10/09(日) 18:59:15.38
抜打スルー検定試験の結果

     0 点
 
 
717デフォルトの名無しさん:2011/10/09(日) 19:13:23.52
スレの方針がわかんなくなってきた。
初心者お断りなのか、なんでもありなのか。
718デフォルトの名無しさん:2011/10/09(日) 19:17:14.67
まさに糞だな
719デフォルトの名無しさん:2011/10/09(日) 19:19:14.91
>>717
>>713 >>716 が自分だけのルールや思い込みでスレを荒らしているだけなんで、あまり気にしない方がいい
720デフォルトの名無しさん:2011/10/09(日) 19:20:46.34
>>715
学校で生じた疑問を学校で聞かないとか
何のために金払ってるんだ?バカなの?
721デフォルトの名無しさん:2011/10/09(日) 19:32:26.58
ここで質問していいのかあれですが。


商用のWebシステムを構築するのに、言語を何使うべきか検討しています。
何も考えずにJavaでいいとは思うのですが、上司がCだろと言っています。


そこでC/C++よりJavaのほうが良いといえる理由を教えて下さい。

Webシステムといっても画面が一切ないインターフェース的なシステムなため
速度出るCのがよいのではと上司は言っています。
(でも処理速度はそんな気にしなくて良かったり)


・生産性
オブジェクト型、有効なフレームワークの多いjavaのがよい

・難易度
そもそもWebシステムをスクラッチでCでって無理じゃね?

単価
PGの単価はあんまかわらんきがする。
言語べつの平均単価とかのってるサイトないかね

処理速度
コンパイラによるけど、まぁまずCのが早い

バグ
メモリ周りがCじゃ怖い


722デフォルトの名無しさん:2011/10/09(日) 19:35:55.54
ソレ答えるといくら貰えるの?
723デフォルトの名無しさん:2011/10/09(日) 19:38:32.13
>>721
まず>>721の首をきる
で代わりに、自ら判断できるエンジニアに一任する
これでおk
724デフォルトの名無しさん:2011/10/09(日) 19:41:14.39
>>721
cでやるのが一番良いですよ!
725 ◆QZaw55cn4c :2011/10/09(日) 19:41:55.57
>>721
プラットホームはなんですか?

>バグ
>メモリ周りがCじゃ怖い
Web システムは文字列をバンバンあつかわなければならないのに、メモリ管理に気をくばりつつ C でちまちま書いていたのでは、命がいくつあっても足らないような気がします。
スピードを気にしなければならないのなら、C と Java の間をとって、C++ なんかどうですか?
726デフォルトの名無しさん:2011/10/09(日) 19:42:57.92
プラットフォームはなんなの?
WindowsならISAPI Extensionがいいよ
727デフォルトの名無しさん:2011/10/09(日) 19:43:55.19
>>721
Cでやれ
728デフォルトの名無しさん:2011/10/09(日) 19:47:57.28
上司に逆らうのは適切ではないな
729デフォルトの名無しさん:2011/10/09(日) 19:48:23.02
730デフォルトの名無しさん:2011/10/09(日) 19:48:56.05
>>721
Scalaマジおすすめ
731デフォルトの名無しさん:2011/10/09(日) 19:49:55.79
むしろ>>721には
> 何も考えずにJavaでいい
これをそのまま言って欲しい
732デフォルトの名無しさん:2011/10/09(日) 19:52:26.00
首きるのはやめてww

プラットフォームはLinux

やっぱCはないよなぁ
733デフォルトの名無しさん:2011/10/09(日) 19:55:04.93
>>725のようなヤツが、リークしまくったり、GC発生しまくりのアプリを作るんだよなぁ。
734デフォルトの名無しさん:2011/10/09(日) 19:56:09.55
10年異常前CでCGIつくりまくってた。
735デフォルトの名無しさん:2011/10/09(日) 20:04:54.29
>>721
どう考えてもC一択
むしろなぜJavaなのか問い詰めたい
736デフォルトの名無しさん:2011/10/09(日) 20:06:33.94
>>725みたいな考えでC++使うとJavaより遅かったりするよね
737デフォルトの名無しさん:2011/10/09(日) 20:16:47.90
まず、pythonとかでサクっと作って
あとで検討したらいいんじゃないか
738デフォルトの名無しさん:2011/10/09(日) 20:19:22.99
>そもそもWebシステムをスクラッチでCでって無理じゃね?

サーバーから作るつもりなのかな?
739721:2011/10/09(日) 20:22:07.41
Cっていってる人はまじめにいってるのかようわからんな。

そもそもCでWebシステムって普通に作れるの?
そっからまったくわからん。

JDBCとマッパーないとDBさわれないです…


>737
Ruby,python,PHPあたりはさすがにちょっと処理遅くなりそうなんで敬遠。

740デフォルトの名無しさん:2011/10/09(日) 20:23:45.42
おまえじゃ無理
死ねよ
741デフォルトの名無しさん:2011/10/09(日) 20:23:56.79
いっそGAE提案するとかは?別にGAEじゃなくていいんだけどCを使う明確な理由を持ってなさそうだから
上司が全く考えてなさそうな提案したらあっさり通りそうだよね。
742デフォルトの名無しさん:2011/10/09(日) 20:24:12.74
普通にCで10システムくらいWebアプリ作ったっつーの。
743デフォルトの名無しさん:2011/10/09(日) 20:25:27.14
てかCでWebシステム作るスキルがないなら選択の余地ないじゃん。
マジレスするとこういうのは作る奴の得意な言語で作るのが一番速くてキレイに作れる。
744デフォルトの名無しさん:2011/10/09(日) 20:26:15.77
>>739
>>721
> 処理速度はそんな気にしなくて良かったり
745デフォルトの名無しさん:2011/10/09(日) 20:27:24.98
>>739
客から金取るんだろ?
正直お前、商用アプリで開発言語を選定するレベルにないと思うんだけど

上司か先輩にでも決めてもらえよ
746デフォルトの名無しさん:2011/10/09(日) 20:27:30.74
まじレスすると>>721が癌だな
首きってきちんとしたエンジニアに任せれば全て解決
747デフォルトの名無しさん:2011/10/09(日) 20:28:14.52
でも正直なところJavaおすすめ
748デフォルトの名無しさん:2011/10/09(日) 20:28:27.49
>>745で終了〜。
はい次
749デフォルトの名無しさん:2011/10/09(日) 20:29:06.94
>>739
>そもそもCでWebシステムって普通に作れるの?
>そっからまったくわからん。

普通に作れます。あなたが作れるかどうかは分からない。
750デフォルトの名無しさん:2011/10/09(日) 20:29:22.99
スクリプト言語の処理速度を気にするくせにDBはわからないってw
751デフォルトの名無しさん:2011/10/09(日) 20:31:51.56
そういえば2ちゃんもCじゃなかったっけ?
752721:2011/10/09(日) 20:36:22.52
厳しいご回答ありがとうございました。
俺も俺なんかに選定きくなよと思うもん。

こういうアーキテクチャ設計以前のあたりってあんま参考書とかないんだけど
エライ人たちは経験で学んでるもんなんすかね。
753デフォルトの名無しさん:2011/10/09(日) 20:41:52.41
>>721
Cでやれ
754デフォルトの名無しさん:2011/10/09(日) 20:50:31.34
>>752
マジレスすると、お前が提示した条件だけじゃどの言語がベターなのかなんてわかるわけない
規模とか非機能要件とか人員のスキルとか、考えないといけないことはいろいろあって
その上で最適解を出さないとさ

社内のスキルがある人に決めてもらうか、どうしてもお前が決めなきゃいけないなら
もっと詳細に要件を晒せ
755デフォルトの名無しさん:2011/10/09(日) 20:50:46.20
>>721
上司がJobs的な、スーパー独裁者であればC++。ただしBoost.Regexの利用は何があっても認めさせる。
そうでなければJavaでもPerlでもPythonでもRubyでも好きなものを。

どれもダメなら会社に見切りをつけてリクナビに登録

ほかに制約条件が無いのならC/C++にする意味はまったく無い
756デフォルトの名無しさん:2011/10/09(日) 20:53:50.17
上司がC言ってて>>721に判断能力がない時点でC一択だろ
757デフォルトの名無しさん:2011/10/09(日) 20:59:48.95
イチイチイチイチこういうチンカスの相手をするな
せっかくの休みなのに疲れるだろ
758デフォルトの名無しさん:2011/10/09(日) 21:01:10.60
>>721
Cでやれ
759デフォルトの名無しさん:2011/10/09(日) 21:04:03.16
機械語でやれ
760721:2011/10/09(日) 21:04:11.62
スキルある人に聞くべきだとは思うんだけど、人脈ないからつらいんすわ…
ずっと出稼ぎで社外にいる要員なもんで。

チンカス呼ばわりされてきたんでこれで終了にしますわ。

まじめに回答してくれた方はありがとうございました。
761デフォルトの名無しさん:2011/10/09(日) 21:11:58.87
自ら底辺土方の生活を選んでチンカス呼ばわりまでされてお前の人生は最低最悪だなw
762デフォルトの名無しさん:2011/10/09(日) 21:31:39.58
乗り遅れたか。ちょっと聞きたかったな。Webの画面は一切触らないって、そもそもWebシステムなの?
どの層で動作させようとしているのか、実際はデーモン的なものじゃないかって思うんだが、まあいいか
763デフォルトの名無しさん:2011/10/09(日) 21:43:36.29
Webサービスってもんがあるだろうよ
764デフォルトの名無しさん:2011/10/09(日) 21:45:16.56
画面がないって言うから、他サイトとの接続じゃないかと思った
765デフォルトの名無しさん:2011/10/09(日) 22:31:37.68
というか、Webシステムって何なの?
WebアプリともWebサービスともWebサーバとも違うものなの?
766デフォルトの名無しさん:2011/10/09(日) 22:33:18.71
Webサービスやってるがさっぱりわからねぇ
もうプロゴラマやめたい
767デフォルトの名無しさん:2011/10/09(日) 23:03:18.89
>>766
どんな点でつまづいてるんだ?
768デフォルトの名無しさん:2011/10/09(日) 23:05:46.12
だよな。わからないとこあることがわからない。
769デフォルトの名無しさん:2011/10/09(日) 23:11:10.42
プロゴラマというのが何かがわからない
770デフォルトの名無しさん:2011/10/09(日) 23:13:16.24
TomcatにStrutsに〜って案が出ないお前の上司は高卒か何かですか?
771デフォルトの名無しさん:2011/10/09(日) 23:14:09.05
プロのゴラマのことさ
772デフォルトの名無しさん:2011/10/09(日) 23:16:07.60
専門卒のわしらはすらっとTomcatにStrutsって案出るわ
773デフォルトの名無しさん:2011/10/09(日) 23:24:01.08
知ったかぶって無知っぷりを晒すのが流行ってるようだな
774デフォルトの名無しさん:2011/10/09(日) 23:55:50.78
jsp:includeで読み込むJSPファイルをボタンのクリックで動的に変化させたい。

jQueryのreplaceWithで要素ごと置き換えたり、page属性の値だけ変えようかと思ったんだけど、
JavaScriptはコンパイル後のHTMLに対して作用するものだから無理?かなと。

良い方法を教えてください。
775デフォルトの名無しさん:2011/10/10(月) 00:03:57.22
やろうとしてることそのもの直接は、その通り無理だが、動き自体は可能。

そのJSPファイル部分だけを返すURLを用意→ボタンクリック時にAjaxで呼び出し→innerHtmlでそっくり入れ替える
で出来る。
776デフォルトの名無しさん:2011/10/10(月) 00:04:19.47
現代の技術では無理
777デフォルトの名無しさん:2011/10/10(月) 00:43:28.88
失われたマヤ文明の技術で何とか出来る?
778774:2011/10/10(月) 01:49:15.01
>>775 >>776
そもそも無理なことだったのね。ありがとう。
innerHTMLの方法を検討してみます。
779デフォルトの名無しさん:2011/10/10(月) 09:30:41.57
>>772
既存の保守とか多いからstrutsは永遠に現役そうだけど、そろそろ新規の案件くらい脱strutsしといたがいいとも思う時はある。
sastrutsかspring辺りなんだろうか、今だと。sastrutsなら仕事で使い特に問題なかったから自分は当分こっちにしようかと。
playに興味はあるけど仕事で使うのは怖いなあ。
struts2?あんなものはなかったと言うことで。
780デフォルトの名無しさん:2011/10/10(月) 09:34:40.18
おいおい
今仕事の案件でstruts2やらされそうになってるんだよ
なんとか説得してくれよ
781デフォルトの名無しさん:2011/10/10(月) 09:40:09.03
Struts2ってヤバイの?
782デフォルトの名無しさん:2011/10/10(月) 09:44:08.90
>>780
使える技術者いないから後のメンテ大変よ?じゃダメかな?
>>781
ヤバイと言うより情報が無さすぎて黙殺されてると言った方が近い。
後、余りにもstrutsと違いすぎるのにstrutsの名を冠したことで余計に反発を食らった感もある。
783デフォルトの名無しさん:2011/10/10(月) 09:51:24.68
でも海外ではStruts2が標準でしょ?
784デフォルトの名無しさん:2011/10/10(月) 09:53:10.86
>>783
むしろspringが標準だとどこかの雑誌で見た気がする。
本当かどうかはわからないけど。
785デフォルトの名無しさん:2011/10/10(月) 10:17:09.26
Struts2 と spring は用途が被らないでしょ。
組み合わせて使ってもいいし。
786デフォルトの名無しさん:2011/10/10(月) 10:19:05.74
>>760
Cでやれ
787デフォルトの名無しさん:2011/10/10(月) 10:25:07.25
海外でStruts2が流行ってるんじゃなくて日本でだけまだStruts使ってるって状況なだけ
788デフォルトの名無しさん:2011/10/10(月) 10:25:57.39
>>785
組み合わせはそりゃ出来るけどspring使うなら普通はspringMVC使うんじゃない?
わざわざ他のフレームワークと組み合わせるってあんまり聞かない。
まあ、自分は使ったことすらないけどさ。
789デフォルトの名無しさん:2011/10/10(月) 10:35:33.70
GUIプログラムでボタンが3個あるんですが、それぞれaddActionListener(new ActionListener() {public void actionPerformed(ActionEvent e){
flag = ** ; }} )
として、内部クラスでアクションイベントを実装しています。

これは、ボタンにより、hogeの値が1から3まで変わります。

hogeはJFrame(メインウィンドウ)の変数ですが、コンパイルするとfinalで宣言してくださいとかいわれます。
finalで宣言すると、hogeの値は内部クラスの中で変えてはいけないのですか?
790789:2011/10/10(月) 10:36:37.94
hogeではなく、flagです。間違えました。すみません。
791デフォルトの名無しさん:2011/10/10(月) 11:02:48.82
>>789
変えてはいけないかどうかという回答はYES。
なぜか、というのはこれかな…?
http://javafaq.jp/S016.html#S016-14

自分が作成したJFrame継承クラス自身でActionListenerをimplementsすれば良いと思うよ。
792デフォルトの名無しさん:2011/10/10(月) 11:35:18.68
>>789
public class MyFrame extends JFrame {
  public void hoge() {
    // ↓これと
    int flag;
    button1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        // ↓これとの間でジレンマ
        flag = 1;
      }
    });
  }
}
コンパイルしてみる ⇒flag を final 宣言しろといわれる
final 宣言してみる ⇒flag に代入できませんといわれる、って意味か?

だったら、ひとまずこうしとけ。
public class MyFrame extends JFrame {
  // ↓インスタンス変数化
  private int flag;
  public void hoge() {
    button1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        flag = 1;
      }
    });
  }
}
793789:2011/10/10(月) 12:18:04.38
>>791
どうもありがとうございます。自分自身にActionListenerをimplementすれば
確かにできますね。ありがとうございます。なぜ変えてはいけないとか理由とかしらなかったので
そのサイトを良く見てみます。他にも色々と書いてあってためになりそうですので
他の部分も見てみます。どうもありがとうございました。

>>792
インスタンス変数にすればいいんですね(´・ω・`)
そっちの方がやり方としては単純といえば単純ですね。理由は、>>791さんが
載せてくださった、Webサイトに書いてありそうです。
長い、文章を書いて丁寧に教えてくださって、ありがとうございます。手っ取り早いのでインスタンス変数にしておきます(;^_^

お二方どうもありがとうございました。やり方は、色々あるんですね。とても勉強になりました。
794デフォルトの名無しさん:2011/10/10(月) 12:19:26.83
クラス変数が必須のケースってありますか
795デフォルトの名無しさん:2011/10/10(月) 12:55:33.70
設計依存。
あれば便利と思うなら作る。

File.separatorとか無いと不便だろ?
796デフォルトの名無しさん:2011/10/10(月) 15:04:49.63
プログラミング経験一切無しの超初心者なんだけど、
やさしいjavaは読み終えた。テンプレ通り次は独習javaかコアjavaに手を出してみようと考えてるんだけど、
この二冊を読むにはまだ早いかな?


797デフォルトの名無しさん:2011/10/10(月) 15:08:40.38
つうか、組みたいプログラムがあったから やさしいjava を読んだんじゃないの?
何を読むか(あるいは読まずに作り始めるか)は、
作ろうとして何が分からないかで決めればいいんじゃね?
798デフォルトの名無しさん:2011/10/10(月) 15:10:26.38
>>796
入門書一冊読んだらあとはリファレンスを見ながら
どんどんプログラムを作っていくのがいいのだけど、
別に読書が好きなら適当にどんな本でもどんどん
読んでいればいいと思うよ。
799デフォルトの名無しさん:2011/10/10(月) 15:11:08.56
独習ジャヴァって演習問題の解答も付いてない糞本じゃん
800デフォルトの名無しさん:2011/10/10(月) 15:19:42.12
本読んでてもしょうがいないよ
801デフォルトの名無しさん:2011/10/10(月) 15:23:43.06
>>796
うーん。やっぱり組みたいもの組むのが一番じゃない?
経験が一番の早道。
まあ、優しいJavaを読んだだけでいきなり銀行の仕事に放りこまれた俺に比べたらまだ自由効くでしょ。
802デフォルトの名無しさん:2011/10/10(月) 15:36:37.18
漫然と勉強を続けるうちに作りたいものが出来てくるようなこともある
興味の赴くままに走ればよいのではないのか
803デフォルトの名無しさん:2011/10/10(月) 16:08:21.36
AWTやswingのフレームで任意の座標にボタンやテキストフィールドを設置できますか?
また、フォントを任意の座標、角度でできますでしょうか?
詳しいサイトがありましたら教えてください。
804デフォルトの名無しさん:2011/10/10(月) 16:10:34.92
引数に参照型を指定することを参照渡しって呼ぶんですか?
本に基本データ型を引数に渡すことを値渡し、
参照型を渡すことを参照渡しって書いてあるのですが。
805デフォルトの名無しさん:2011/10/10(月) 16:18:54.55
走れメロン
806デフォルトの名無しさん:2011/10/10(月) 16:21:40.41
>>804
呼ばない。
807デフォルトの名無しさん:2011/10/10(月) 16:46:02.35
何の本だよ
808 ◆QZaw55cn4c :2011/10/10(月) 17:19:59.44
>>796
>独習java
悪書です。やめておいたほうがいい。
独習C++のハーバード・シルト先生ではありません。
OOのポイントである abstract/interface については本質に迫っていない、というか著者自身がわかっていない。
809デフォルトの名無しさん:2011/10/10(月) 17:24:27.93
810デフォルトの名無しさん:2011/10/10(月) 19:05:10.16
811803:2011/10/10(月) 23:04:09.69
>>810
ありがとうございます!!
812デフォルトの名無しさん:2011/10/11(火) 01:44:37.78
なんでframeのサイズをクライアント領域で設計しなかったんだろう
不便すぎる
813デフォルトの名無しさん:2011/10/11(火) 02:26:03.48
>>808
馬の骨よりも、Amazonの評価のほうを信じます。
814デフォルトの名無しさん:2011/10/11(火) 02:31:22.14
abstract/interfaceがOOのポイントというのは
Java信者の妄想。珍説
815デフォルトの名無しさん:2011/10/11(火) 02:39:28.24
敢えて逆にしてまで突っ込むとか不要。
OOを深く理解してる人は、interfceとabstractの説明がまともなのは事実でしょ
816デフォルトの名無しさん:2011/10/11(火) 02:39:54.07
また、大して自分の意見も持ってないくせに噛み付いてきたよw
言いたいことがあるならちゃんと自分の意見を言えって。
817デフォルトの名無しさん:2011/10/11(火) 02:41:05.36
おいおい俺かよ?
818デフォルトの名無しさん:2011/10/11(火) 02:41:25.69
おいおいお前誰だよ?
819デフォルトの名無しさん:2011/10/11(火) 02:41:42.07
おいおい俺は誰だよ?
820816:2011/10/11(火) 02:42:25.06
言うまでもないが、>>814のことなw
821デフォルトの名無しさん:2011/10/11(火) 03:21:57.38
どうぞどうぞどうぞ
822 ◆QZaw55cn4c :2011/10/11(火) 03:33:59.14
>>813
その amazon の評価者とやらも、やはりどこの馬の骨かわからないものなんですけれども。

>>814
ほう。
確かにオブジェクトオリエンティドの概念群は様々な概念の複合であることは認めますが、
しかし、C++ の virtual キーワード(仮想関数)と同等の abstract/interface を十分に説明できないのでは、これは欠陥と言わざるを得ないではないでしょうか?
GoF のデザインパターンから virtual を抜いたらなにが残るというのでしょうか?
823デフォルトの名無しさん:2011/10/11(火) 05:59:21.11
むしろvirtualだけでできていると言っても良いくらいです
824デフォルトの名無しさん:2011/10/11(火) 07:55:52.04
>>822
その程度じゃ無理
825デフォルトの名無しさん:2011/10/11(火) 07:58:11.94
Eclipseで動いてたアプレットがデプロイしたら動かないんだけど
どうデバッグしたらいいとおもう?
826デフォルトの名無しさん:2011/10/11(火) 08:04:43.95
>>824
「その程度じゃ」何が「無理」なんでしょうか?日本語でどうぞ。
827デフォルトの名無しさん:2011/10/11(火) 08:05:12.20
1.まず、HelloWorld レベルのプログラムがその環境でデプロイして動くかどうかを確認。
2. 1.が動いたら、現状のプログラムを順番に機能を削りながら、
  動作するまでデプロイして動作確認を繰り返す。
828デフォルトの名無しさん:2011/10/11(火) 08:17:42.12
>>822
馬の骨乙
829デフォルトの名無しさん:2011/10/11(火) 08:21:22.24
>>828
OOを知らないのならば、そういってくださればいいのに。
830デフォルトの名無しさん:2011/10/11(火) 08:38:47.19
>>827
・簡単なアプレットは動く
・アプレットの領域が灰色で、たぶんファイルは見つかってる(ファイル名を変えると真っ白に×印になる)
・機能を削るのが難しい

JVMは、たぶん何かしらエラーを吐いてるはずだけど
それを見る方法はないの?
831デフォルトの名無しさん:2011/10/11(火) 08:46:03.64
>>822
abstract/interfaceについてあなたの方が勘違いしてるんじゃないですか?
832デフォルトの名無しさん:2011/10/11(火) 08:48:47.77
>JVMは、たぶん何かしらエラーを吐いてるはずだけど
>それを見る方法はないの?

ブラウザのJavaコンソールに出るはずだけど・・・
833デフォルトの名無しさん:2011/10/11(火) 08:54:50.95
834デフォルトの名無しさん:2011/10/11(火) 09:32:09.82
>>832
firefox7.0.1ではJavaが動かない
chromeにJavaコンソールは無い
IE8でJavaコンソール起動しようとすると100%落ちる
835デフォルトの名無しさん:2011/10/11(火) 09:56:06.07
>>834
環境が特定されてない質問に一般論で答えた回答にそんなこと言われても・・・。
836デフォルトの名無しさん:2011/10/11(火) 10:01:41.95
appletのコンソールはコントロールパネルでJavaの設定から
実行時に表示させるようにできるよ
Java側でコンソール出すから
firefoxでもChromeでもIEでもブラウザ関係無く見れるよ
837デフォルトの名無しさん:2011/10/11(火) 10:15:54.39
>>836
コンパネ>Java>詳細>表示する>OK
なにか適当なアプレットのサンプルページを開く
うんともすんともいわない
838デフォルトの名無しさん:2011/10/11(火) 10:47:02.06
>>837
javaのバージョンを最新にしろ
839825:2011/10/11(火) 13:52:47.40
動いた!動いた!やったー!
840デフォルトの名無しさん:2011/10/11(火) 14:01:57.99
こんにちは、はじめまして。
文字を画像化し、その画像のpixel毎の情報を得る方法を教えてください。
(使えるメソッド名だけでも教えていただけると助かります)

すでに用意されたString[](各要素は1文字)について、
1. String[]の要素ごとに、四角形の画像上に表示(四角形の画像は文字がちょうど収まる大きさにする)
2. 1.で得た四角形の画像の各pixelのRGB情報を取得
をしたいです。

・プログラム中で画像を表示させる必要はありません
・フォントは自分で決めますが、明示する必要があります
・実行速度速度は重視しません

はじめGraphics2Dクラスを使って1.は実装しましたが、2.に該当するメソッドがなく立ち止まっています。
841デフォルトの名無しさん:2011/10/11(火) 14:24:20.11
BufferedImageをインスタンス化して
getGraphics()のGraphicsオブジェクトに対して描画
あとはgetRGB(int x, int y)でintの色が取れる



842840:2011/10/11(火) 15:39:38.18
>>841
うまくいきました、どうもありがとうございます!
843デフォルトの名無しさん:2011/10/11(火) 16:07:08.21
おい
ちょっと複雑で組むのに30分くらいかかる問題出してくれ。
暇すぎる。

844デフォルトの名無しさん:2011/10/11(火) 16:20:15.85
じゃあJavaソース整形ソフトでも作ってくれ
845デフォルトの名無しさん:2011/10/11(火) 16:20:45.93
真面目によろしく
846デフォルトの名無しさん:2011/10/11(火) 16:43:45.54
FizzBuzz問題でもやってくれ
まさかできないなんてことはないよな
847デフォルトの名無しさん:2011/10/11(火) 16:43:56.86
>>843
宿題スレにでも行ってこい
848デフォルトの名無しさん:2011/10/11(火) 16:46:58.36
849デフォルトの名無しさん:2011/10/11(火) 18:26:56.09
リストをCollectionsを使って任意の並べ替えをした後、
リストの並びを初期の状態に戻すようなメソッドってありますか?
850デフォルトの名無しさん:2011/10/11(火) 19:04:24.05
ありません
851デフォルトの名無しさん:2011/10/11(火) 19:12:20.29
ありません
初期状態を別に置いておけばいいだけなので簡単に自作できると思うけど。
852デフォルトの名無しさん:2011/10/11(火) 19:21:46.60
>>850,851
ないですか、どうもです。
自作してみます。
853デフォルトの名無しさん:2011/10/11(火) 19:22:42.10
854デフォルトの名無しさん:2011/10/11(火) 19:34:27.18
849みたいなのってMementoパターン使える?
使うまでもないっていうのはあるかもしれないけど
855デフォルトの名無しさん:2011/10/11(火) 20:25:32.88
>>834
つappletviewer
856デフォルトの名無しさん:2011/10/11(火) 20:29:07.62
>>833
アプレットとサーブレットの連携なら可
857デフォルトの名無しさん:2011/10/11(火) 21:03:45.40
>>854
ない
858デフォルトの名無しさん:2011/10/11(火) 21:23:32.92
>>854
リストの要素がimmutableなら簡単に実装できるね。
使うまでもない、というのはその通り。
859デフォルトの名無しさん:2011/10/11(火) 21:26:07.54
>>858
Javaじゃ無理だっつてんだろ
クラス図見直してこい
860デフォルトの名無しさん:2011/10/11(火) 21:29:09.42
ここ見てるといつも思うんだが、
皆さんそんなにアプレット好きなのか……?
861デフォルトの名無しさん:2011/10/11(火) 21:30:42.10
というより、アプレットの情報源が少ないのだろう。
862 ◆QZaw55cn4c :2011/10/11(火) 21:48:57.84
>>831
ん?kwsk
863デフォルトの名無しさん:2011/10/11(火) 22:00:24.88
>>860
宿題スレとか見てると、学校の課題でよくあるみたいね、アプレット
864デフォルトの名無しさん:2011/10/12(水) 05:29:16.63
BOMつきUTF8の先頭行を文字列として読み込むのに、BOM部分を安全に削除(トリミング)する方法ってどんなんがあるでしょうか。
865デフォルトの名無しさん:2011/10/12(水) 07:28:33.40
入力ストリームから自分で3バイト読み捨てる、位しかないと思う。
866デフォルトの名無しさん:2011/10/12(水) 09:35:08.96
xmlパーサの実装とかそうやってるな。
867デフォルトの名無しさん:2011/10/12(水) 10:54:48.62
あるJavaアプリがクライアントVMとサーバーVMどっちで起動されてるかって
調べる方法ある?
868デフォルトの名無しさん:2011/10/12(水) 11:12:32.51
>>867
実行してるJVMと、jpsコマンドでわかる起動引数から導出できるかと。
869デフォルトの名無しさん:2011/10/12(水) 16:42:27.21
UTF8だとそんなやり方しないといけないの?
UTF16ならBOMありならBEでもLEでも読めるのに。
870デフォルトの名無しさん:2011/10/12(水) 20:08:04.69
>>864
使ったことないが
Commons IO の BOMInputStream
871デフォルトの名無しさん:2011/10/12(水) 22:17:00.44
>>869
ググってみると経緯が分かると思う。
872デフォルトの名無しさん:2011/10/12(水) 22:26:11.71
>>870
何だよBOMInputStreamって。
BOMってのは、バイト列と「文字のシーケンス」との
変換する際に発生するもの。
クラス名からして設計ミスだ。
873 ◆QZaw55cn4c :2011/10/12(水) 22:43:54.97
>>831
一日たったのですが、ちゃんと説明できないようですね。煽り文句だけ上達しても仕方がないと思いますよ。
で、どう勘違いしているというのです?

結論:独習Java は買ってはいけない糞本。
874デフォルトの名無しさん:2011/10/12(水) 22:50:53.39
>>831ではないが、C++のvirtualに対応するのは「finalでないメソッド」だな。
Javaのabstractに対応するC++の書き方は「=delete」
875デフォルトの名無しさん:2011/10/13(木) 00:07:59.64
>>874
糞の相手をするな
876デフォルトの名無しさん:2011/10/13(木) 00:16:05.51
>>865-866,>>869-872
遅レスですが、ありがとうございます。すでに文字列にしてしまった場合の対処法はないのでしょうか?
BOMInputStreamはBOMなしのテキスト(UTF8,Shift-JIS)を読んだ場合も完全互換なのでしょうか。
877 ◆QZaw55cn4c :2011/10/13(木) 00:38:33.94
>>874
たしかに java での abstract に一対一に対応するものは c++ にはなく、java->c++ の過程で abstract は消えてしまいますが‥‥。

>>875
説得力のある内容を記述できないので糞呼ばわりしているのですね。脳細胞を使う練習、頑張ってください。
878デフォルトの名無しさん:2011/10/13(木) 00:44:44.71
>>877
脳細胞を持った糞w
なんかコワイw
呼ばれた気がした
880デフォルトの名無しさん:2011/10/13(木) 17:26:30.13
appletでinit()でボタンなどのGUIを配置したあと、ボタンを変えたりテキストエリアを消したりするにはどんなやり方がありますか?
881デフォルトの名無しさん:2011/10/14(金) 00:26:24.44
Swingのことで質問です。

Ubuntu10.10上でTrayIconを使ってアイコンをタスクトレイ(?)に追加したのですが
アイコンの背景が灰色になって透過しません。

自分なりに検索してこのページ
ttp://stackoverflow.com/questions/331407/java-trayicon-using-image-with-transparent-background
にあった
ttp://skype2gmail.blogspot.com/2011/05/java-tray-icon-transparency.html
のNative-Tray-Adapterが使えそうと思ったのですが使い方がわかりません

eclipse上でビルドパスに追加して
ttp://skype2gmail.blogspot.com/2011/05/java-tray-icon-transparency.html
に載っているサンプルコードを試したのですが
SystemTrayAdapter trayAdapter = SystemTrayProvider.getSystemTray();
のところでエラーが出ます。
試しに
SystemTrayAdapter trayAdapter = new SystemTrayProvider().getSystemTray();
にしてみましたが
最終的にtrayIconAdapterをどうすれば良いのかわかりません。

SystemTray.getSystemTray().add(trayAdapter);
とするのかと思いましたがダメでした。

英語がわからないので根本的に間違えているかもしれませんが、どなたかわかりませんか?
882デフォルトの名無しさん:2011/10/14(金) 00:27:40.40
完全に取り除くならremove
見えなくするだけならsetVisible
ボタンの文字を変えるならsetLabel
883デフォルトの名無しさん:2011/10/14(金) 02:06:37.43
下記のような比較を行いたいのですが、どうやってもtrueになってくれません。
文字コードを揃えたりもしてみたんですが・・・。

if(s.equals(a)) あるいは if(s.indexOf(a))

String s = サーバーから拾ってきた文字列データ
sをtxtに保存
String a = 同じくサーバーから拾ってきた全く同じ文字列データ
884デフォルトの名無しさん:2011/10/14(金) 02:07:34.89
あ、if(s.indexOf(a) != -1) でした。
885883:2011/10/14(金) 02:18:48.38
すみません自己解決しました。
改行を拾っていたせいでした。
886デフォルトの名無しさん:2011/10/14(金) 15:53:10.40
Runnableのクラスのstaticメンバに
new Thread(this);
みたいに書くのは無理?
スタティックロードで自分自身を実行するスレッド、という感じ

ちょっとやってみたらJVMが例外出して落ちるんだけど
887デフォルトの名無しさん:2011/10/14(金) 16:20:42.50
JVMのバグだからオラクルに報告したほうがいいよ!
888886:2011/10/14(金) 16:44:55.65
継承元のクラスもRunnableでrun()を上書きしてたから
そのせいでJVMが落ちてたのかも
とりあえず別の方法でも良かったからやめた
889デフォルトの名無しさん:2011/10/14(金) 16:55:04.52
>>886
インスタンス生成する前にthisは参照できないのでコンパイルエラーではじかれる。
890886:2011/10/14(金) 16:56:28.23
>>889
ごめん、正確にはシングルトンのクラスで
private Class instance = new Class();
のinstanceを参照してる。
891デフォルトの名無しさん:2011/10/14(金) 17:04:00.18
その説明聞くと
Threadインスタンス使いまわすような状況になっちゃってるように思えるけど…?
892デフォルトの名無しさん:2011/10/14(金) 17:12:08.41
SJISの'先'の字だけのテキストを
正しく文字コード判定する方法ってありますか?

chardet, juniversalchardet
どちらも失敗したのですが実装がまずかったのかもしれません。
893デフォルトの名無しさん:2011/10/14(金) 17:49:54.16
こんなライブラリあるのか。参考になった。
それはともかく、高々2バイトでそんな汎用的な文字コード判定は無理じゃない?
894デフォルトの名無しさん:2011/10/14(金) 18:26:36.87
特定の変数などの状態が変わったことをイベントリスナー風に自動的に通知するにはどうすれば良いですか?
895デフォルトの名無しさん:2011/10/14(金) 18:36:27.86
>>894
教科書的に答えるなら、 setter に仕込めばいいんじゃね?
896デフォルトの名無しさん:2011/10/14(金) 18:41:59.33
別のスレッドでストーキングすれば
897デフォルトの名無しさん:2011/10/14(金) 19:04:08.73
こんにちは。
Javaで書かれたCobraという名前のHTML toolkit(パーサーとレンダラーでHTML4.01に対応している)にHTML5のvideoタグとaudioタグを対応させたいのですが、どなたか分かりませんか?
HTML5の仕様書?(w3cのホームページにあるもの)と睨めっこしながら、パーサー部分やレンダラー部分と格闘しているのですが、ただインタフェースを追加してもコードが正しいのか間違っているのかも分かりません。
898デフォルトの名無しさん:2011/10/14(金) 19:07:31.33
>>894
オブなんちゃらパターン
899デフォルトの名無しさん:2011/10/14(金) 19:21:02.64
ビジーループ
900デフォルトの名無しさん:2011/10/14(金) 19:55:52.96
チンコ
901デフォルトの名無しさん:2011/10/14(金) 20:28:58.85
1.Object obj = new Class1();
2.Object obj = new Class2();
3.Object obj = new Class3();

3つのうちのどれか一つのobjがよそのクラスから渡されてきた時、
この中身の型を取得するうまい方法はないもんでしょうか。
instanceofで場合分けする以外ないんですかね。
902デフォルトの名無しさん:2011/10/14(金) 20:47:55.35
事故解決しました

obj.getClass().getName();
903デフォルトの名無しさん:2011/10/14(金) 20:52:18.35
>>901
obj.getClass().getName()とか。
904デフォルトの名無しさん:2011/10/14(金) 21:16:53.71
型を取得してどう使うか、処理の内容にもよるけど、
対象の型が final じゃないと、その処理を使う処理の方で、
継承クラスを作ったりし始めると対応できないんじゃね?
905デフォルトの名無しさん:2011/10/14(金) 21:39:59.11
日本語でおk
906デフォルトの名無しさん:2011/10/14(金) 22:28:22.64
わかりにくくてすまん。

つまり、クラス名を決めうちしてしまうと、
継承クラスを渡されたとき、処理が変わってしまうんじゃないのかと言う話。
それでいい場合もあるだろうけど、ダメな場合もあるんじゃないかと。
907デフォルトの名無しさん:2011/10/14(金) 23:57:38.71
なんどもうるさいぞ!
908デフォルトの名無しさん:2011/10/15(土) 00:30:44.09
ごめんなさい
909デフォルトの名無しさん:2011/10/15(土) 00:59:13.77
interface Foo<E extends Foo<E>> { ... }
という定義を見たのですが、これってどういう意味なんでしょうか。
ぱっと見では、Foo<E> が Foo<E> を継承しているように見えますが、
継承関係が再帰的になってしまい、おかしいように思えます。
だれか解説してください。
910デフォルトの名無しさん:2011/10/15(土) 01:18:12.05
チンコ
911デフォルトの名無しさん:2011/10/15(土) 02:06:04.92
デフォルトパッケージのクラスってimportできないのですか?
912デフォルトの名無しさん:2011/10/15(土) 03:29:14.56
デフォルトでされてる
913デフォルトの名無しさん:2011/10/15(土) 03:38:29.18
>>909
その言い方で書くと、Foo<E>を継承してるのはE。
interfaceじゃないけど、Enumなんかまさにそれ。
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Enum.html
914デフォルトの名無しさん:2011/10/15(土) 11:51:00.92
ルートエレメントとかが無くても、XMLをパースして
<tag>content</tag>
のcontentを全部抜き出してリストとかで受け取りたいんですが
何か良い方法ありますか?
915デフォルトの名無しさん:2011/10/15(土) 11:55:14.43
>>914
こういうんじゃダメ?

1.XML パーサの例外をつかまえて、足りないエレメントを補完したテキストを作りそれをパーサに食わせる
2.パーサの解析結果から補完した分を飛ばして必要な要素を取り出す。
916デフォルトの名無しさん:2011/10/15(土) 11:58:20.87
>>914
>ルートエレメントとかが無くても、・・・
そんなのXMLとは言わない。
XMLパーサに頼らず自分で解析しな。
917914:2011/10/15(土) 12:20:09.99
1.全てのタグを自前の特殊タグに変換
2.特殊タグが複数続いてたら1つに変換
3.特殊タグを区切り文字にして配列化

でやろうとしたんだけど2番がうまくいかない
誰か正規表現教えて
918デフォルトの名無しさん:2011/10/15(土) 12:27:06.86
せめて「教えて頂けないでしょうか」だろカス
919914:2011/10/15(土) 12:29:48.86
できたわ
920デフォルトの名無しさん:2011/10/15(土) 13:27:59.09
チンコ
921デフォルトの名無しさん:2011/10/15(土) 19:33:43.88
すみません、どなたか897もお願い致します。m(_ _)m
922デフォルトの名無しさん:2011/10/15(土) 21:41:07.35
>>921
現代の文明ではむり
923デフォルトの名無しさん:2011/10/15(土) 22:26:52.69
>>921
何も問題ないから、そのまま勧め
924デフォルトの名無しさん:2011/10/15(土) 22:36:17.49
すみません、わかる人以外はレス不要です。
925デフォルトの名無しさん:2011/10/15(土) 22:38:26.88
何も問題ない
926デフォルトの名無しさん:2011/10/15(土) 22:45:26.97
927921:2011/10/15(土) 23:25:43.06
>>922
そうですか、もう少し頑張ってみます
>>923
ありがとうございます、頑張ります
>>924
私のフリしないでください
>>926
誘導ありがとうございます
928デフォルトの名無しさん:2011/10/16(日) 00:35:51.17
インターフェースと抽象クラスの必要性が未だにわからん
929デフォルトの名無しさん:2011/10/16(日) 00:39:19.92
じゃあ、クラスとメンバの必要性はわかるのか?
930デフォルトの名無しさん:2011/10/16(日) 01:04:34.96
>>928
一人で小規模開発するならあんまりわからんかも知れない。
複数人で開発するとか一人でも大規模な開発すると多少ありがたみがわかってくる。
あと大規模なやつだとそのソースコード見るとああこういう風に使うんだなってのがわかる。
自分の場合は仕様自体は何となく理解してても、
プログラマになってからその辺のありがたみをわかるのには3年かかった。
931デフォルトの名無しさん:2011/10/16(日) 02:10:05.64
>>881
もう見てないかな?根本的にTrayAdapterとかって使わないような気がしますよ。
http://www.google.co.jp/search?q=java++%E3%82%BF%E3%82%B9%E3%82%AF%E3%83%88%E3%83%AC%E3%82%A4&ie=utf-8&oe=utf-8&aq=t&hl=ja&client=firefox-a&rlz=1R1GGGL_ja___JP345
↑この辺の上2つのHPが役に立つとおもう。おいらは、Windowsですが、きれいなトレイアイコンですよ。

今日は、あれなんで、良かったら、自分の書いたやつ、うpしてもいいです。
932デフォルトの名無しさん:2011/10/16(日) 03:24:22.48
単体テスト終わったらうpしといてください
933デフォルトの名無しさん:2011/10/16(日) 04:13:56.29
>>928
必要性とかいうと、必要ないようなきもする。

if文による場合分け、分岐をポリモーフィズムでなくすことができる(おれもやってみたい!とおもう)
ポリモーフィズムを実現するために、抽象クラスを継承して、いろんなクラスを用意する。
934デフォルトの名無しさん:2011/10/16(日) 04:28:00.17
if,swichの排除

「ポリモーフィズムは多態性と訳されますが、動的結合(実行時に使用するオブジェクトを決定する)によって、
switch文やelse if文を排除することができます(中略)
外に追い出したとしても、どこかでついて回ってきます」

オブジェクト指向
http://www.happiese.com/system/objectorient.html
935デフォルトの名無しさん:2011/10/16(日) 09:59:32.24
何処で分けるかが大事なんだろ。
テスト済みのコードを書き換えて追加するのはウザイって話じゃね?
936デフォルトの名無しさん:2011/10/16(日) 10:08:01.22
石の上にも3年
937デフォルトの名無しさん:2011/10/16(日) 11:52:21.55
switch,ifの排除は「その効能」でしかなくoops (Object Oriented ProgramingS)の本質的な処を知りたいなら、c++はポリモーフィズムを言語しように組み込んでいるのだからjavaだけじゃなくてc++もしっかり勉強してc++の側からも見えるようになると理解出来るようになるだろう
938デフォルトの名無しさん:2011/10/16(日) 12:29:53.81
>>937
あんま関係無いだろ、C++は
939デフォルトの名無しさん:2011/10/16(日) 14:03:22.46
クラスの抽象化による依存性の逆転が
手続き型プログラミングとオブジェクト指向プログラミングの決定的な違い
940デフォルトの名無しさん:2011/10/16(日) 14:13:32.05
>>939
javascriptも知っていればすぐ分かるが本質的にクラスは関係ない
941デフォルトの名無しさん:2011/10/16(日) 15:12:21.36
javaインストールされないんだけど・・・
942デフォルトの名無しさん:2011/10/16(日) 15:40:05.49
そうなんか
943デフォルトの名無しさん:2011/10/16(日) 17:58:49.90
抽象クラスやインタフェースは本質的にクラスは関係ありません
944デフォルトの名無しさん:2011/10/16(日) 19:14:28.56
>>939
抽象化による依存性の逆転とか初耳なんだが
もう少しkwsk
945デフォルトの名無しさん:2011/10/16(日) 19:27:21.92
Robot()で操作されたマウスの挙動はイベントリスナーで検出できない?
946デフォルトの名無しさん:2011/10/16(日) 19:29:53.60
抽象クラスっていうぐらいだからクラスは関係あるだろアホ
947デフォルトの名無しさん:2011/10/16(日) 19:31:05.01
されないと動かないじゃん
948デフォルトの名無しさん:2011/10/16(日) 19:46:40.43
>>945
Javaアプリの外にフォーカスがある場合は無理
949デフォルトの名無しさん:2011/10/16(日) 19:50:54.96
基本情報技術者のjavaの問題さっぱりわからんかった
アセンブラ言語マンセーです
950デフォルトの名無しさん:2011/10/16(日) 19:56:45.82
>>944
ロジックAからロジックBを呼び出すとき、A->Bという依存性があるが
Bを抽象化すると、{ A-> (抽象B) } <- (具象B) というように依存の向きが逆転する。

なお、(抽象B)はAに属するオマケとして配置することに注意。
Javaの標準ライブラリにおけるList<-ArrayListなどの関係は、
Listを使うクライアントが未知のために、
エロイ人がその知識と経験からエイヤと決めた妥協の産物。
本来は、使うクライアントがあってこそ、抽象化の範囲を適切に決められる。

>>946
この世の全てのものは互いに本質的に関係ないのです
951944:2011/10/16(日) 20:32:22.86
>>950
インターフェース切る時の話だったか。
未知の概念じゃなくて安心した。d
952デフォルトの名無しさん:2011/10/16(日) 20:37:21.43
ロジック間の依存性を低く抑えてるのは確かだが、逆転してるという表現には違和感が……
953デフォルトの名無しさん:2011/10/16(日) 20:43:25.13
それは中小という言葉を使ってはいるもののインターフェースの話だよな。
954デフォルトの名無しさん:2011/10/16(日) 20:53:57.92
本当に理解して説明してるのか怪しい
955デフォルトの名無しさん:2011/10/16(日) 20:54:45.49
synchronizedブロックが理解できないので誰か教えてください。

あれは、ブロック内の処理を実行中に
別のスレッドがそのブロックの処理を実行した場合、
後から来たスレッドを待機させる処理、という理解で良いのでしょうか。

だとすると、パラメータとして引き渡しているインスタンスは
何の役割を果たしているのでしょうか。
956デフォルトの名無しさん:2011/10/16(日) 21:11:06.46
ロック
957デフォルトの名無しさん:2011/10/16(日) 21:47:36.13
えーと

synchronizedブロックは、
ブロック内の処理を実行中、渡されたインスタンスをロックする処理、なのでしょうか。

他のスレッドの処理が待機するのは、
同一synchronizedブロックに入ったときではなく、
パラメータとして引き渡されたインスタンスへアクセスを試みたとき、
となるのでしょうか。
958デフォルトの名無しさん:2011/10/16(日) 21:52:19.04
マンコ
959デフォルトの名無しさん:2011/10/16(日) 21:54:17.99
インスタンスはあくまでキーと考える
同一のキーを使用して複数のスレッドが同時にロックを取得することはできないので、
他のスレッドはsynchronizedの入り口で待たされるわけです
960デフォルトの名無しさん:2011/10/16(日) 21:57:30.79
synchronizedで渡されたオブジェクトは、
そのオブジェクトがどんな実装を行っているものかは関係なく、
単なるマーカー的なもの。
だから、一貫して使っていれば、どこの馬の骨ともわからぬオブジェクトを使ってよい。

なお、synchronizedでガードする必要があるのは、処理ではなくデータ。
基本的には、ガードしたいオブジェクトへの全てのアクセスに対し、
同じオブジェクトでガードしていることが必要
(ピギーバッキングで微妙なこともできるかもしれないけど)
961デフォルトの名無しさん:2011/10/16(日) 21:57:42.52
仕様に関することは、仕様を自分できちんと読んだ方がいいぞ
962デフォルトの名無しさん:2011/10/16(日) 22:03:24.98
といっても馬鹿には無理だけどなw
963デフォルトの名無しさん:2011/10/16(日) 22:11:19.90
特定のオブジェクトへのアクセスを同期化するために
そのオブジェクトへのアクセスをロックってあんまりしないよね
だいたい一連の処理を分割させないために適当に一つ選んでロックに使う
964デフォルトの名無しさん:2011/10/16(日) 22:19:57.70
そりゃそうだ。
そのインスタンスのpublicメソッドに
synchronizedつけとけって話になるからな
965デフォルトの名無しさん:2011/10/16(日) 22:34:25.22
難解。

synchronized処理に渡されたインスタンスは、
そのブロックが抜けるまでキーとして保持される。

synchronized処理に渡されたインスタンスがすでにキーとして存在する場合、
そのスレッドはキーが開放されるまで待機する。

ゆえに、全く別の場所で実行されたsynchronizedでも、
渡されたインスタンスが同一ならば後発側が待機させられ、
同じ場所で実行されたsynchronizedでも、
渡されたインスタンスが違うならば並行して動作する、ということでしょうか。


馬鹿だから無理です、って言ったら明日からPowerd by 無職ですので。
多少は無理せねばならんのがつらいところです。
966デフォルトの名無しさん:2011/10/16(日) 22:38:19.25
マルチスレッドでファイル操作する時とか、
インスタンスメソッドでsynchronizedが付いてるのとか良く見るな
967デフォルトの名無しさん:2011/10/16(日) 22:41:38.04
>>965
お前には無理
968デフォルトの名無しさん:2011/10/16(日) 22:42:02.81
あんまり粒度の小さい操作をsynchronizedにしても
どうせ使うときに外からロックすることになるから大して意味ないけど
969デフォルトの名無しさん:2011/10/16(日) 22:57:41.67
C#の場合、Stack<Sprite> にSpriteを継承したものならなんでも突っ込めるけど、
Javaではできないじゃん?

どうすりゃいいの?
970デフォルトの名無しさん:2011/10/16(日) 23:06:23.93
どういうこと?
↓これはコンパイル通るけど、こういうのじゃダメなの?

 List<List> list = new ArrayList<List>();
 list.add( new ArrayList<String>() );
971デフォルトの名無しさん:2011/10/16(日) 23:09:14.05
できるんだからできないじゃん?って言わなければいいじゃん
972デフォルトの名無しさん:2011/10/16(日) 23:21:38.46
C#ではWPFは全然流行らなくて結局WIN FORMでやるのが正解だって聞いたんですけど本当ですか?
973 ◆QZaw55cn4c :2011/10/16(日) 23:24:05.29
>>969
うまくいかないと判断したコードを http://ideone.com/ に貼れば答えがでてくるかも
974デフォルトの名無しさん:2011/10/16(日) 23:29:42.40
今日の情報処理技術者試験受けた奴居る?
975デフォルトの名無しさん:2011/10/16(日) 23:33:36.27
976デフォルトの名無しさん:2011/10/17(月) 13:42:39.59
クラスを任意の文字列で宣言することってできますか?
例えばsampleクラスのオブジェクトを作成する際に

Sample args[0] = new Sample();

という形で作成したいんですが…
977デフォルトの名無しさん:2011/10/17(月) 15:00:21.54
Class.forName(String)じゃだめなん?
978デフォルトの名無しさん:2011/10/17(月) 15:26:24.11
変数名を任意の文字列でやんのは無理じゃね?

一番近いのはMap<String, Sample>か?
979デフォルトの名無しさん:2011/10/17(月) 17:07:08.15
Java ってインスタンスのラベルって実行時に残ってるんだっけ?
980デフォルトの名無しさん:2011/10/17(月) 17:55:34.74
インスタンスのラベルって何?
981デフォルトの名無しさん:2011/10/17(月) 18:54:52.03
オブジェクトと言うべきか。

Sample sample = new Sample();

ってやったときの、 sample って文字列がバイトコードに残ってるかって話。
982デフォルトの名無しさん:2011/10/17(月) 19:07:52.17
マンコ
983デフォルトの名無しさん:2011/10/17(月) 19:11:50.65
仕様知ってるわけじゃないけど、変数名分からなければデバッグ時に変数ウォッチできないんじゃね?
ということでデバッグ付きコンパイルでは残っているに一票。
リフレクションとかで引っ張ってこれるわけじゃないんでデバッグなしだと消えるんじゃ?
984デフォルトの名無しさん:2011/10/17(月) 19:46:24.30
仕様云々以前にデコンパイルやったことないのか?
985デフォルトの名無しさん:2011/10/17(月) 19:48:49.47
.netなら変数そのままだな
986デフォルトの名無しさん:2011/10/17(月) 21:02:55.27
次スレよろ
987デフォルトの名無しさん:2011/10/17(月) 22:21:35.18
>>981
javapでggr
988デフォルトの名無しさん:2011/10/17(月) 22:40:33.86
989デフォルトの名無しさん:2011/10/18(火) 00:59:42.03
コンパイルのオプションで変わるだろ。
例えばEclipseで作ったclassと、単純にjavac叩いてできたclassをjadにでも突っ込んでみるといい。
990デフォルトの名無しさん:2011/10/18(火) 03:15:07.38
文字列がバイトコードに残るかどうかしか訊いてません
991デフォルトの名無しさん:2011/10/18(火) 03:20:02.69
>>990は日本語読解力がなさすぎ
992デフォルトの名無しさん:2011/10/18(火) 03:38:17.36
Dukeの朝は一杯のJavaの味噌煮から始まる。
そしてJVMの帳が下りる頃、Dukeは心地よい眠りに就くのだ。
993デフォルトの名無しさん:2011/10/18(火) 05:52:05.57
>>984
そもそもデバッグなしコンパイルをやったことがありません。
994デフォルトの名無しさん:2011/10/18(火) 06:38:15.13
>>981
ローカル変数名はコンパイルするとスロット番号による管理に置き換わる。
フィールド変数名はコンパイルするとコンスタントプールへの
インデックス値による管理に置き換わる。

実行時のリフレクションで名前アクセスできるのはフィールド値だけ。

これで答えになったかな
995デフォルトの名無しさん:2011/10/18(火) 09:01:07.37
981じゃないけどさんきゅー
996デフォルトの名無しさん:2011/10/18(火) 12:36:33.06
じすれ
997デフォルトの名無しさん:2011/10/18(火) 12:39:09.40
じすれ
998デフォルトの名無しさん:2011/10/18(火) 12:39:24.37
じすれ
999デフォルトの名無しさん:2011/10/18(火) 12:39:54.93
じすれ
1000デフォルトの名無しさん:2011/10/18(火) 12:40:09.37
埋めるな馬鹿
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。