★★Java質問・相談スレッド148★★
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/09/20(火) 09:07:19.06JavaScript, 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/
0002デフォルトの名無しさん
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/
0003デフォルトの名無しさん
2011/09/20(火) 09:10:32.33NetBeans 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
0004デフォルトの名無しさん
2011/09/20(火) 09:11:18.14スレの最新化以外は全部そのままです。
0005デフォルトの名無しさん
2011/09/20(火) 09:46:21.41また、Logbackで同様のものはありますか?
0006デフォルトの名無しさん
2011/09/20(火) 10:22:45.641KB未満〜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が出るため、別の方法を検討しています。
0007デフォルトの名無しさん
2011/09/20(火) 10:27:13.46子プロセスでJavaVMを起動。その際-Xmxを望みの値にすればよい。
0008デフォルトの名無しさん
2011/09/20(火) 10:36:35.32一時ファイル使っていいなら、
ファイルAをソートした整列済みファイルA(一時ファイル)を生成、
ファイルBをソートした整列済みファイルB(一時ファイル)を生成、
整列済みファイル同士を先頭から比較。
ファイルが大きすぎて一度に整列済みファイルにできない場合は
複数に分割してソートして、その後マージする。
宿題とかでないのなら素直にヒープ増量した方がいいと思う。
0009デフォルトの名無しさん
2011/09/20(火) 10:39:45.17改行のない100Mのファイル食わせたら死ぬんじゃね?
0010デフォルトの名無しさん
2011/09/20(火) 10:49:26.56ファイルの参照、行の先頭位置と長さを保持した
CharSequenceの実装クラスでも作っておいて
比較の度に1Mぐらいで区切って読み込むとか。
0011デフォルトの名無しさん
2011/09/20(火) 11:46:15.32Aの行がBにあれば、一致した行を除いてB'に書き出し。
一致行が無ければDiffあり。
一致行があれば、B'をBに置き換える。
欠点は、ディスクIOが凄まじくなる。
最悪、Aの行数*Bのファイルサイズ分のIOになるか。
メモリとのトレードオフだ。
こりゃパズルだな。
0012デフォルトの名無しさん
2011/09/20(火) 13:01:31.650013デフォルトの名無しさん
2011/09/20(火) 13:45:35.83ググれよ
0014デフォルトの名無しさん
2011/09/20(火) 15:46:21.34>一時ファイルなどの使用は可能
1.まずAをソートしたA'と、BをソートしたB'を作る。
2.A'とB'のMD5チェックサムを求め、比較する。
0015デフォルトの名無しさん
2011/09/20(火) 16:58:12.63どのクラスがSerializableじゃないのかってどうやったら特定できますか?
001615
2011/09/20(火) 17:03:17.33http://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にならないんでしょうか。
0017デフォルトの名無しさん
2011/09/20(火) 18:14:34.66また、Logbackで同様のものはありますか?
0018デフォルトの名無しさん
2011/09/20(火) 18:14:47.90ファイルの内容を何も保持しないでソートできるか?
外部コマンド前提?
0019デフォルトの名無しさん
2011/09/20(火) 18:34:36.85という制約をinterfaceに書く事は出来ますか?
JAppletを継承しているクラスが複数あり、それらを抽象的に扱いたい場合、
どうすればいいでしょうか。
0020デフォルトの名無しさん
2011/09/20(火) 18:49:02.56もうわかってると思うけど
Exception in thread "main" java.io.NotSerializableException: sun.awt.util.IdentityArrayList
で表示されてるクラス(この場合はIdentityArrayList)が直列化可能でないクラスね。
>>16
いやimplements Serializableで例外は出なくなったけど?
elementDataフィールドがtransientなのでおそらく期待通りには動作しないと思うけど。
>>19
言葉通りの意味でとらえると、Javaでそれを実現するのはインタフェースでなく抽象クラスだね。
JApplet <- 抽象クラス <- 自作JApplet継承クラス
のように継承を作ることになる。
…けど、継承でなく委譲を使うべき典型的なパターンではないかと予想。
>>17
ここで聞くよりググれボケ。
両方あるだろ。
0021デフォルトの名無しさん
2011/09/20(火) 19:54:22.94変更前のクラスが残っててそっちがロードされてるとかじゃないの?
0022デフォルトの名無しさん
2011/09/20(火) 20:06:30.24MD5等のダイジェストを各行毎に求めて何らかの方法で足し合わせる
加算は可換なので、順序が入れ替わっても同一視される
一行が長くとも、ストリームからダイジェストを求めるようにすればOK
あとは神様に、
同一のダイジェストを生成する異なるメッセージが含まれてないことを祈る
また、足し合わせたら同じダイジェストの合計値になるような異なるメッセージの組が含まれていないことを祈る
002319
2011/09/20(火) 20:11:15.56委譲の使い方は例えばどんな形をイメージしてますか?
Appletクラスは1つだけにして委譲先のオブジェクトを外部から注入する事で異なるアプレットとして振舞わせる
という事も考えましたが、
エントリーポイントでApplet系クラスを継承しないとアプレットとして動作出来ないんじゃないかと思ったんです。
だから各エントリーポイント毎に(各アプレットアプリ毎に)Applet系クラスを継承したものを使っていました。
0024デフォルトの名無しさん
2011/09/20(火) 20:34:01.50Scanner 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文化?
0025デフォルトの名無しさん
2011/09/20(火) 21:17:03.81C++ でも C でもそういう文化になりつつある。
for (int i = 0; i < N; i++)
というのをみかけませんか?
0027デフォルトの名無しさん
2011/09/20(火) 21:21:40.63あれ?むしろCだと
const int a;
a = s.nextInt();
みたいなのができないので1文で書くのが普通なんじゃないの?
今のCだとできるのかな?
0028デフォルトの名無しさん
2011/09/20(火) 21:22:24.24それはスコープの話が絡むのでまた意味合いが異なる。
0029デフォルトの名無しさん
2011/09/20(火) 21:30:36.34int a;
s = new Scanner(略)
a = s.nexInt();
みたいに変数宣言と処理がきっちりわかれてるのが
昔のC言語風な感じ。>>24の後者のは変態的に見える。
003027
2011/09/20(火) 21:32:43.62宣言と代入は別々にするのが普通だったね。
それをひきずってるのなら>>24の通りかも。
Javaについてはどっちの書き方も普通に見かける。
書籍なんかだと行数の都合等で前者の書き方が多いのかもしれない。
あとfinal変数は宣言と同時に代入を行わないといけないという誤解をしてる人もいるので
そういう人は前者になるだろうね。
0031デフォルトの名無しさん
2011/09/20(火) 21:34:36.17実際はそういう書き方になるね
24はちょっとキモいけど分解したという事で宣言をきっちり分かれさせなかった
ただやっぱJavaだと宣言しつつ〜というのに慣れろって雰囲気というのが分かったので十分っす
0033デフォルトの名無しさん
2011/09/20(火) 21:39:53.91また、Logbackで同様のものはありますか?
URLを貼ってもらえると助かります。
0034デフォルトの名無しさん
2011/09/20(火) 22:26:36.86private DelegationClass delegation = new DelegationClass();
public void method(){
delegation.method();
}
みたいにやりますよね?
このメソッドを透過させるコードが面倒なんですが
継承とかを使って省略する方法は無いんでしょうか?
複数のスーパークラスから継承可能な仕様の言語なら‥‥‥。
0036デフォルトの名無しさん
2011/09/20(火) 23:58:54.980037デフォルトの名無しさん
2011/09/21(水) 00:13:30.79Javaだと、っていうより
近代的な言語は変数スコープを狭めるのが
良いコーディングプラクティス
冒頭で変数宣言がずらずらずら
そのあと代入が始まって、ってのは言語問わず時代遅れ
003837
2011/09/21(水) 00:14:52.29だから、一行で書くかどうかは余り本質じゃない
0040デフォルトの名無しさん
2011/09/21(水) 00:55:17.790041デフォルトの名無しさん
2011/09/21(水) 01:05:21.810042デフォルトの名無しさん
2011/09/21(水) 01:12:57.56http://www.nurs.or.jp/~sug/soft/java/java32.htm
>この「委譲」は「継承」の代わりとして、「クラス継承」の手法として使えるのであり、
>もう1つは「委譲」と呼ばれ、形式的にはクラス継承ではないのだが、クラス継承とほぼ同様の効果を得ることができる。
委譲って実質的に継承をメソッド単位にしたものでしかないんじゃないの?
考えがあるなら言えよ。
0043デフォルトの名無しさん
2011/09/21(水) 01:28:16.74頭悪くなりませんか?
0044デフォルトの名無しさん
2011/09/21(水) 01:35:46.45わかってないことがわかってない
そいつがまたわからない奴を量産する
0045デフォルトの名無しさん
2011/09/21(水) 02:57:20.41具体的にやりたいことが分からないと答えようがない。
> JAppletを継承しているクラスが複数あり、それらを抽象的に扱いたい
だけ見るとJAppletにアップキャストすりゃいいじゃん、となる。
0046デフォルトの名無しさん
2011/09/21(水) 08:37:30.15すごいなそれ。
0047デフォルトの名無しさん
2011/09/21(水) 20:00:33.42ネット繋がらないところでJava開発環境構築したいなら、
くれぐれもMavenには手を出さない方がいい。
0048デフォルトの名無しさん
2011/09/21(水) 20:13:59.28とりあえずjavax.swing.text.Document通じて
JTextComponentのコンテンツを更新する方法をググろうな。
0049デフォルトの名無しさん
2011/09/21(水) 20:21:41.41業務でも利用してたりするの?
GUIならC++で作っちまえって感じなのかな
簡単以外でJava良さってよくわからない
通信関係が楽とかいう噂を耳にしたけど
そういうライブラリやらメソッドが多い?
0050デフォルトの名無しさん
2011/09/21(水) 20:31:59.59Javaでかいとけば、WindowsでもLinuxでもうごくとおもう
new と delete の整合性はどうする?
0052デフォルトの名無しさん
2011/09/21(水) 20:37:12.57excelみたいなソフトを自作してて一つのセルの中に複数行の文字を入れようとしたらできなかったりして、
C#でやったらどっちの問題も起きずにスムーズにいったからもうJavaでGUIアプリは作りたくない
0053デフォルトの名無しさん
2011/09/21(水) 21:25:39.26通信関連が楽と言うのはあるのかもしれないね
0054デフォルトの名無しさん
2011/09/21(水) 21:27:09.550055デフォルトの名無しさん
2011/09/21(水) 22:51:39.05俺は業務アプリもJavaで書いてるプロジェクトにいたけど、
元々VBとかMFCのものを移植しようと思ったときには、やっぱり.NET系の選択になるんじゃないかな。
あと、商用コンポーネントは.NETの方が揃ってるよね。
>>53
それってApplet全盛期に作られたもの(の後継)だったりしないかな。
そういうのもやっぱり選択肢としてはJava以外にはなりにくいと思う。
>>52
良かったね。
0056デフォルトの名無しさん
2011/09/21(水) 23:07:09.740057デフォルトの名無しさん
2011/09/21(水) 23:09:48.95PDFで出力してたな
0058デフォルトの名無しさん
2011/09/21(水) 23:21:20.09http://poi.apache.org/
0059デフォルトの名無しさん
2011/09/21(水) 23:25:54.68下記はいかがでしょうか。
つ http://www.hitachi.co.jp/Prod/comp/soft1/eur/
0060デフォルトの名無しさん
2011/09/22(木) 01:15:49.97お願いします。
0061デフォルトの名無しさん
2011/09/22(木) 01:47:55.73JavaのAPIドキュメント
0062デフォルトの名無しさん
2011/09/22(木) 02:05:32.330063デフォルトの名無しさん
2011/09/22(木) 02:23:33.21その中でVK_SNAPSHOTというWindowsAPIの定数を使います。
javac でコンパイルすると当たり前のようですが、「シンボルを見つけられません」というエラーがでます。
どうすればいいんでしょうか?
ちなみに、WindowsAPIプログラムだとSendInput関数はこう書きます。↓
SendInput(VK_SNAPSHOT, 0, 0, 0);
006463
2011/09/22(木) 02:24:52.800065デフォルトの名無しさん
2011/09/22(木) 03:19:24.99ヘッダからVK_SNAPSHOTの値しらべて
static final byte VK_SNAPSHOT=0x2cとか
006663
2011/09/22(木) 11:38:23.73どうもありがとうございます。
ヘッダに書いてある値をそのまま使えばいいんですね。なにしろ、jnaとかjniは
初めて使うので、よく分かりません。
SendInputの使い方、やはりおかしいですか。
こちらは、WindowsAPIのスレで聞いてみます。
どうもありがとうございました。ヘッダの値を使えばいいということが分かり
大変ありがたいです。
0067デフォルトの名無しさん
2011/09/22(木) 13:34:20.60今朝から java.lang.OutOfMemoryError: PermGen space が発生してしまい、
対策を考えています。
Permanent領域のサイズを変更するってネットでは書いてあるのですが、
レンタルサーバー(共有)の為できないと思います。
まず確認なのですが、これはメモリ不足って事でいいのでしょうか?
0068デフォルトの名無しさん
2011/09/22(木) 14:03:44.95単純に言えばメモリ不足、と言う認識で合ってる。
で、そのエラーはハードウェアとしてのメモリが不足しているわけではなく、
JVMに割り当てるメモリが足りていない場合に出る。
つまりjavaコマンドのパラメータで設定できるわけで、OSのユーザ権限は気にしなくて良い。
-XX:MaxPermSizeオプションだったかな?詳しくはそのエラーメッセージでググってくれ。
アプリケーションサーバの話なら、起動スクリプト辺りに設定例が載ってたりもする。
0069デフォルトの名無しさん
2011/09/22(木) 14:09:09.52メモリ不足だけど一般的なヒープ領域じゃなくて、
クラスやメソッドの情報が置いてある特別な領域。
JSPとかで実行時にバイトコード生成しまくると足りなくなる。
007067
2011/09/22(木) 14:22:46.63>>67
はい、アプリケーションサーバーです。趣味でjavaでゲームサイトを作成しています。
1stレンタルサーバーを使っていますが起動スクリプト設定について調べてみます!
>>69
バイトコード生成しまくるとですか。
jspは多用していますが、もっと不必要なコードは無くした方がいいと言うことですか?
System.out.println(Runtime.getRuntime().freeMemory());を書いて
メモリを見て見ましたが、同じJSPページを開くたびにメモリが減っていきます
JSP開く前 78500536
JSP開いた後 77765592
ガベージコレクションの対象にはならないのでしょうか
007167
2011/09/22(木) 15:38:33.47export CATALINA_OPTS="-server -Xmx1280m -Xms640m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=128m"
を書いたらエラーが無くなり表示できました。
本当にありがとうございました。正直死ぬかと思いました
0073デフォルトの名無しさん
2011/09/22(木) 17:34:05.790074デフォルトの名無しさん
2011/09/22(木) 18:05:50.97こんなとこで聞かずに入手元に聞けよ
0075デフォルトの名無しさん
2011/09/22(木) 19:15:30.10よろしくお願いします。
0076デフォルトの名無しさん
2011/09/22(木) 19:23:51.54double Math.pow(double, double)ではdoubleなので不満です。
long Math.pow(long, long)みたいなものはないのでしょうか?
0077デフォルトの名無しさん
2011/09/22(木) 19:30:44.26http://commons.apache.org/math/api-2.2/org/apache/commons/math/util/MathUtils.html#pow(long, long)
0078デフォルトの名無しさん
2011/09/22(木) 19:36:44.880079デフォルトの名無しさん
2011/09/22(木) 20:31:07.10http://java.sun.com/javase/ja/6/docs/ja/api/java/math/BigDecimal.html
0080デフォルトの名無しさん
2011/09/22(木) 20:49:21.07整数同士の累乗ぐらい自力で書けよぉ
0081デフォルトの名無しさん
2011/09/22(木) 21:11:07.34Javaでの最大勢力を知りたい。
0082デフォルトの名無しさん
2011/09/22(木) 21:15:24.13http://www.oracle.com/technetwork/java/codeconventions-136091.html
個人的は2スペース
0083デフォルトの名無しさん
2011/09/22(木) 21:35:58.820084デフォルトの名無しさん
2011/09/22(木) 21:36:41.510085デフォルトの名無しさん
2011/09/22(木) 21:38:12.340086デフォルトの名無しさん
2011/09/22(木) 21:39:02.89aiに興味があるのでaiを使ったjavaのゲームなんかを作りたいのですが、トランプやオセロくらいしか思いつかなかったのですが
javaで作れそうなものでaiを使ったゲームって何かありませんか?
0087デフォルトの名無しさん
2011/09/22(木) 21:41:37.69おなじ会社にいるなら関係ない
すぐやめてあっちこっち転職するなら意味あるかな
0088デフォルトの名無しさん
2011/09/22(木) 22:24:16.24could not open session org.omg.CORBA.COMM_FAILURE : java.net.ConnectException:
Connection refused
のようなエラーが出て接続できない。ちなみにDIIOPサービスもHTTPサービスもあがっている
数日前まで普通に接続できていたのになぜか業者がnote.iniの設定を(クラスターがらみ)
加えた後から接続できなくなった。マイナーなノーツとJava関係だけど、知っている人いたら
教えてください。_(_ _)_
0089デフォルトの名無しさん
2011/09/22(木) 23:10:22.73会社によっては手当てがついた事もある。今はどうか知らん。
0090デフォルトの名無しさん
2011/09/22(木) 23:28:23.59可愛い後輩がネスト大好き病にかかるとかわいそうなので、
新人教育では8スペースをインデント単位にしてる。16でもいいと思っているぞ
0091デフォルトの名無しさん
2011/09/22(木) 23:54:55.830092デフォルトの名無しさん
2011/09/23(金) 00:01:44.57ClassCastException occured : java.lang.String cannot be cast to java.lang.Integer
というエラーが起きてしまいます。
numはintで定義しているのですが、原因わかりますか?
0093デフォルトの名無しさん
2011/09/23(金) 00:10:15.630094デフォルトの名無しさん
2011/09/23(金) 00:11:09.190095デフォルトの名無しさん
2011/09/23(金) 01:12:40.91おまえにあたる後輩がかわいそう
0096デフォルトの名無しさん
2011/09/23(金) 01:23:06.16今までに無いゲームを新しく作り出してくれるソフト。
若しくはai作成のゲームの面白さを競うゲーム。
0097デフォルトの名無しさん
2011/09/23(金) 01:26:48.78という事をやろうとした時に、検索エンジンをどう常駐化させるのが良いと思いますか?
Java Service Wrapperを使って常駐プロセス化するか
そうするとプロセス間通信が必要になりプラットフォームに依存するんじゃないか
あるいはWEBフレームワークにそういう機能が無いか探してみるか
(常駐させたいオブジェクトを登録できるような)
0098デフォルトの名無しさん
2011/09/23(金) 01:29:14.23それからだ
009997
2011/09/23(金) 01:37:21.00JSW+ODBCならプラットフォームに依存せずに書けそう
ただ他のアプリケーションから利用されるものではないから別段常駐プロセス化する必要は無い
使用するWEBフレームワークはまだ決めていないので
主要なフレームワークで、各アクセスでオブジェクトを共有する機能があればいいんだけど
010097
2011/09/23(金) 01:51:37.631つのWEBコンテナ内で1つのインスタンスしか作られないのかな?
staticメンバの初期化がどのタイミングで行われるのかが分からない。
Webコンテナの役割が分かってない。
0101デフォルトの名無しさん
2011/09/23(金) 02:24:23.53「ObjectOriented を理解している」と周囲にアピールすることはできませんかね?
0102デフォルトの名無しさん
2011/09/23(金) 02:27:17.930103デフォルトの名無しさん
2011/09/23(金) 02:37:43.43ユーザインタフェースは、HTML5 + jQuery + ajax-solr
検索エンジンは、Apache Solr ではだめなの?
>各アクセスでオブジェクトを共有する機能があればいいんだけど
object を application スコープ(HttpServlet#getServletContext())
に入れておけば、共有できるけど、
排他とかめんどい & 「検索エンジン」を使う処理は1多重でしか
動かなくなる のでやらない方がいい
0104デフォルトの名無しさん
2011/09/23(金) 13:51:11.47APサーバ再起動しても、検索エンジンの再起動はしたくない
位の要望か
得られるメリットの割りに、わかつてないこと大杉なら
わさわさわ複雑化にすることはない
APサーバの起動時に初期化すればいい
シンプルにいけ。
0105デフォルトの名無しさん
2011/09/23(金) 19:19:41.71これらの演算子には ? を含むものがあります(?#とか)。
しかし、PreparedStatementでは ? がプレースホルダーとして認識されてしまいエラーになります。
PreparedじゃないStatementなら使えるのはわかってるのですが、
PreparedStatementで何とかする方法ご存知の方いませんか?
0106デフォルトの名無しさん
2011/09/23(金) 20:58:09.53public 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
0107デフォルトの名無しさん
2011/09/23(金) 21:00:45.40ttp://ml.seasar.org/archives/seasar-user/2006-January/003091.html
0108デフォルトの名無しさん
2011/09/23(金) 21:04:07.37なぜ文字化けだと思うんだ?
0109デフォルトの名無しさん
2011/09/23(金) 21:09:20.72System.out.println(new String(btest));
これでいけたわ
0111デフォルトの名無しさん
2011/09/23(金) 22:30:08.04これがJavaでのもっとも一般的なコーディング規約ですかね。
ここに翻訳らしきものがあった。
ttp://numata.designed.jp/javacodeconv/CodeConventions.doc3.html#262
> インデントの単位として,4個分の半角スペースを推奨する.
> そのインデントが実際に半角スペースによって行われるかタブによって行われるかについては,これを規定しない.
> タブはすべて(4個ではなく)8個分の半角スペースでなければならない.
インデントに半角スペースとタブが混在するのはさけたいので、
半角4つぶんが推奨されるなら、半角だけをつかってインデント
することにする。
どうもありがとうございました。
0112デフォルトの名無しさん
2011/09/23(金) 23:08:18.44"aiueo"ならいけるけどnew String(btest, "UTF-8")にすべし。
0113デフォルトの名無しさん
2011/09/24(土) 01:06:40.320114デフォルトの名無しさん
2011/09/24(土) 01:46:49.180115デフォルトの名無しさん
2011/09/24(土) 01:56:14.23そのデータはクラス内の変数に格納しておくか
取得する都度計算するのはどっちの方がいいんですか?
0116デフォルトの名無しさん
2011/09/24(土) 02:00:31.250117デフォルトの名無しさん
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を作れば解決なんですけど、なんかダサいような。
0118デフォルトの名無しさん
2011/09/24(土) 04:47:04.760119デフォルトの名無しさん
2011/09/24(土) 04:56:49.04いや定数だし・・
と思ったけどコンストラクタで定数を上書きすればいいのね。ありがとう。
0120デフォルトの名無しさん
2011/09/24(土) 05:20:06.66てか定数つったらfinalだろJK
0121デフォルトの名無しさん
2011/09/24(土) 05:45:31.95というわけでスマートな方法引き続きお願いします。
>>120
定数なんだからfinalだよ。
0122デフォルトの名無しさん
2011/09/24(土) 05:58:43.20initializer
protected
finalを取ってgetterを使う
0123デフォルトの名無しさん
2011/09/24(土) 06:23:23.260124デフォルトの名無しさん
2011/09/24(土) 06:49:40.670125デフォルトの名無しさん
2011/09/24(土) 06:53:23.71定数が可変かどうかはまったく関連性ないと思うが
0126デフォルトの名無しさん
2011/09/24(土) 07:00:31.49相変わらずアホすれですなw
0127デフォルトの名無しさん
2011/09/24(土) 07:54:23.340128デフォルトの名無しさん
2011/09/24(土) 08:18:12.92そもそも継承にする必然性が全くない
0129デフォルトの名無しさん
2011/09/24(土) 08:30:03.90public 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 を使うなんらかの処理*/ }
みたいにしちゃいかんの?
同一インスタンス内では定数、デフォルト値は固定みたいな感じで。
0130デフォルトの名無しさん
2011/09/24(土) 08:47:02.85intじゃなくenumかクラスにしろ
0131デフォルトの名無しさん
2011/09/24(土) 09:01:58.33文字数減らすためだけにint使ってるのか
実際にintが必要なのか判断つかんのに
enumかクラスにしろとか阿呆すぎる
0132デフォルトの名無しさん
2011/09/24(土) 09:05:29.10xxx以外の値わたされたらどーすんの?とか想像力がかけてる
0133デフォルトの名無しさん
2011/09/24(土) 09:09:12.97そんぐらい自分で対応できんだろ
0134デフォルトの名無しさん
2011/09/24(土) 10:04:22.65継承継承いうやついるよなー
0135デフォルトの名無しさん
2011/09/24(土) 11:25:59.800136デフォルトの名無しさん
2011/09/24(土) 11:40:45.80何で定数が広まったん?javaで定数言ったらリテラル一択じゃん。
0137デフォルトの名無しさん
2011/09/24(土) 14:01:39.650138デフォルトの名無しさん
2011/09/24(土) 14:03:26.260139デフォルトの名無しさん
2011/09/24(土) 14:04:43.120140デフォルトの名無しさん
2011/09/24(土) 14:05:22.85人間だもの
0141デフォルトの名無しさん
2011/09/24(土) 14:06:11.850142デフォルトの名無しさん
2011/09/24(土) 14:07:12.230143デフォルトの名無しさん
2011/09/24(土) 14:07:45.770144デフォルトの名無しさん
2011/09/24(土) 14:18:56.51ローカル変数だろうがインスタンスフィールドだろうが定数
0145デフォルトの名無しさん
2011/09/24(土) 14:25:18.230146デフォルトの名無しさん
2011/09/24(土) 14:26:30.390147デフォルトの名無しさん
2011/09/24(土) 14:28:11.14昔カマキリとかいたんだよ?
0148デフォルトの名無しさん
2011/09/24(土) 14:30:52.390149デフォルトの名無しさん
2011/09/24(土) 14:36:19.81んなこと言うけど、1.0.2にはenumなんてなかったし
0150デフォルトの名無しさん
2011/09/24(土) 14:37:39.940151デフォルトの名無しさん
2011/09/24(土) 14:38:51.250152デフォルトの名無しさん
2011/09/24(土) 14:44:50.90コードネームに動物名つける文化があるけど、
少しずつ付けられる動物名が減ってる。
でも、予約済の動物もいる。
そう人間だ。
いつ使うかというと、世界がもう滅びるけどどうしようもない
という時に使うんだと。
人類の功績、足跡を讃えた最後のリリース
そのコードネームがヒューマン
信じられないかもしれないけど全部デタラメです
0153デフォルトの名無しさん
2011/09/24(土) 14:46:48.12知らない人は意外と多い。
だからといって負の整数の定数が書けないわけではない。
※ 8進や16進や浮動小数点なら、負の数もリテラルで扱える。
0154デフォルトの名無しさん
2011/09/24(土) 14:52:57.48Eclipseの名前の由来は月食。
月が太陽を隠すお馴染みのデザインは
Sunを食ってやる!という野心的なジョークだ。
そして。
JavaがSunからオラクルの手に渡ったのは
本当にたべられちゃったから。
0155デフォルトの名無しさん
2011/09/24(土) 14:55:12.06俺、信じるよ
0156デフォルトの名無しさん
2011/09/24(土) 14:56:18.520157デフォルトの名無しさん
2011/09/24(土) 15:00:11.460158デフォルトの名無しさん
2011/09/24(土) 15:08:39.55負の数が扱えないのはfloatリテラルも同じだが・・・
0159デフォルトの名無しさん
2011/09/24(土) 15:11:53.59ってどういう意味ゅー?
0160デフォルトの名無しさん
2011/09/24(土) 15:18:47.96単項マイナスとリテラルは別々に定義されてるよって話なんじゃね?
本人じゃないから良くわからんが。
0161デフォルトの名無しさん
2011/09/24(土) 15:19:48.20単項マイナス付かないと使えない場合もあるけどな
0162デフォルトの名無しさん
2011/09/24(土) 15:24:48.36VariableInitializerは冗長に訳しても変数初期化子だし初期化子と訳してる文書もある
StaticInitializerやらInstanceInitializerと区別がつかない文脈ならともかく
この場合は変数を削って初期化子で通じると思うがな
0163デフォルトの名無しさん
2011/09/24(土) 15:31:59.35勉強不足
0164デフォルトの名無しさん
2011/09/24(土) 15:46:19.220165デフォルトの名無しさん
2011/09/24(土) 15:56:22.08♪ふー!すー!ちー!あい!あい!
♪負!数!値!あい!あい!
0166デフォルトの名無しさん
2011/09/24(土) 15:59:59.08-----------------
| | | | |
| | | | ! |
| | | | |
-----------------
| | | | |
| | * | | |
| | | | |
-----------------
| | | | |
| | | o | |
| | | | |
-----------------
| | | | |
| | | | ^ |
| | | | |
-----------------
こんな感じの4x4のボード表示させて中の^を動かしたいんですけど
4x4のボードが10x10までダイナミックに変えられるとしてどういうグリッドの表示方法がありますかね?
-と|はasciiです。
0167デフォルトの名無しさん
2011/09/24(土) 16:04:53.79★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/
0168デフォルトの名無しさん
2011/09/24(土) 17:50:29.25諦めてテンプレートメソッドを使えばいいのに
0169デフォルトの名無しさん
2011/09/25(日) 00:17:27.260170デフォルトの名無しさん
2011/09/25(日) 00:40:03.60Java 自体の寿命は案外短いかもしれないが、Java習得で得たObject-Oriented の知識はかなり役に立つだろう
0171デフォルトの名無しさん
2011/09/25(日) 00:55:41.160172デフォルトの名無しさん
2011/09/25(日) 01:03:15.23Rubyとか?
0173デフォルトの名無しさん
2011/09/25(日) 01:23:27.07サーバ側(Java EE)では、Javaのサーブレット、Webサービス、EJB(Enterprise JavaBeans)などの技術が広く使われている。
組み込みシステムの分野においても、組み込みシステム向けのJava環境(Java ME)を使った OSGi を基にした開発が広く行われている
Java - Wikipedia
0174デフォルトの名無しさん
2011/09/25(日) 03:41:36.69Googleが提供してるオープンソースもJavaかC++かPythonで役割が分かれてる
Javaを殺すとしたらC#しかないが、言語仕様は優れていても敵だらけだ
0175デフォルトの名無しさん
2011/09/25(日) 03:44:43.471つのキーで複数のレコードをまとめて取れないの?
JavaラッパーのAPIしか見て無いけど。
match_prefix()でキー一覧とってそれから各キーで完全一致して、とかじゃなくて
match_prefix()みたいなのでそのまま該当したキー全ての全レコードを取得するAPIが欲しいんだけど
明らかにそういうのが無いとTreeDBのメリット生かし切れ無いよね
0176デフォルトの名無しさん
2011/09/25(日) 03:48:22.81MS自身が敵だからなw
いつ気まぐれで言語仕様を根本から変えるかわからんw
0177デフォルトの名無しさん
2011/09/25(日) 04:27:59.35タスクバーボタンを非表示にしたいんだが、いい方法ないかな?
タスクトレイにすら入れたくない
Delphiだと
Application.ShowMainForm := False;
で出来るってのはググって見つけたんだが、こいつのjavaバージョンが欲しい
0178デフォルトの名無しさん
2011/09/25(日) 09:50:25.82JDialog使うくらいしか方法なさそう
0179デフォルトの名無しさん
2011/09/25(日) 15:36:12.45String[] 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
をページ内検索してもわかりませんでした。
何か適切な方法があればご教授お願いします
0180デフォルトの名無しさん
2011/09/25(日) 15:40:16.32最初からFile#listFiles(FilenameFilter)使うのはダメなんか?
0181デフォルトの名無しさん
2011/09/25(日) 15:56:12.85コンストラクタ定義見直してこい
0182デフォルトの名無しさん
2011/09/25(日) 16:07:39.96>>181
180の方法でできました。ありがとうございます。
0183デフォルトの名無しさん
2011/09/25(日) 17:01:19.47俺Ruby好きだけどそれはない
0185デフォルトの名無しさん
2011/09/25(日) 22:09:03.56表示させることは可能でしょうか?もし可能であれば方法を教えて頂けないでしょうか?
0186デフォルトの名無しさん
2011/09/25(日) 22:17:47.950187デフォルトの名無しさん
2011/09/25(日) 22:32:32.55setUndecorated(true)
0188デフォルトの名無しさん
2011/09/25(日) 22:47:59.96出来ました、ありがとうございます
018967
2011/09/26(月) 02:54:14.590190デフォルトの名無しさん
2011/09/26(月) 02:55:53.030191デフォルトの名無しさん
2011/09/26(月) 04:44:56.23public static boolean isZero(byte[] b){
int i=0;
for(byte here : b){
i+=here;
}
return i==0;
}
0192191
2011/09/26(月) 04:46:41.030193デフォルトの名無しさん
2011/09/26(月) 05:09:20.880194デフォルトの名無しさん
2011/09/26(月) 08:14:27.370195デフォルトの名無しさん
2011/09/26(月) 09:33:02.28こんにゃくをたべてみたらカルピスが出てきたのですがこれが恋ですか?
0196デフォルトの名無しさん
2011/09/26(月) 09:55:14.84同じキーなら上書きになって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
}
0197デフォルトの名無しさん
2011/09/26(月) 10:03:32.850198デフォルトの名無しさん
2011/09/26(月) 10:12:45.00それ全部0でなくてもtrueになるぞ
0199デフォルトの名無しさん
2011/09/26(月) 10:12:54.29System.out.println(new byte[]{1,1,1,1}.equals(new byte[]{1,1,1,1}));
0200デフォルトの名無しさん
2011/09/26(月) 11:48:06.59価値観は人それぞれなので否定はしないけど
それは恋じゃなくて変だ
0201デフォルトの名無しさん
2011/09/26(月) 14:53:02.74せめてHadoopぐらい使おうな
0202デフォルトの名無しさん
2011/09/26(月) 15:44:12.45まあ頻度にもよるけど、0じゃないことが多いなら、
if(here!=0)return false;
にするとか、ループの途中に適度に
if(i!=0)return false;
入れるとかすると途中で撃ち切れて早いかもね
0203デフォルトの名無しさん
2011/09/26(月) 17:02:16.840204デフォルトの名無しさん
2011/09/26(月) 17:14:58.23setDefaultCloseOperation(HIDE_ON_CLOSE);
でできない?
0205デフォルトの名無しさん
2011/09/26(月) 18:14:03.65C++で作ったグローバルフックのDLLをjavaで読み込んで使うことはできますか?
0206デフォルトの名無しさん
2011/09/26(月) 19:17:48.680207デフォルトの名無しさん
2011/09/26(月) 19:40:18.13はい、JNIやJNAを使った場合です
こういった方法でDLLを読み込んでもグローバルフックは機能するのでしょうか?
0208デフォルトの名無しさん
2011/09/26(月) 20:42:08.86JUnit3がデフォルトで使われるようにしたいんですがどうすればいいですか?
0209208
2011/09/26(月) 20:45:39.39Eclipseの話です
0210デフォルトの名無しさん
2011/09/26(月) 21:50:59.52> Eclipseの話です
へいけ
0211デフォルトの名無しさん
2011/09/26(月) 21:58:26.33なぜ出来ないと思ったんだ?
まず試してみろ。話はそれからだ。
0212デフォルトの名無しさん
2011/09/26(月) 22:02:36.05すみません、c++で作ってたのをjavaに移植するために勉強したいと思ったんだけど、
フックが使えないならjava勉強する理由が一つ減ってしまうので先に質問させていただきました
ということはできると思っていいのでしょうか?
勉強してみます
0213デフォルトの名無しさん
2011/09/26(月) 22:04:05.790214デフォルトの名無しさん
2011/09/26(月) 22:18:23.32out.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();
0215デフォルトの名無しさん
2011/09/26(月) 22:19:57.080000: 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
↑ここが変になります。上の例ように出力するには、どうしたらよいのでしょうか?
0216デフォルトの名無しさん
2011/09/26(月) 22:20:15.97できないんですね・・・。
ありがとうございます
0217デフォルトの名無しさん
2011/09/26(月) 22:23:03.23おまえには出来ない
0218デフォルトの名無しさん
2011/09/26(月) 22:24:57.44入力はどこいった?
0219214-215
2011/09/26(月) 22:33:39.280220デフォルトの名無しさん
2011/09/26(月) 22:37:12.50二度と来るな
0221デフォルトの名無しさん
2011/09/26(月) 23:46:50.470222デフォルトの名無しさん
2011/09/27(火) 00:01:52.75図々しさが隠しきれない生ゴミ
0223デフォルトの名無しさん
2011/09/27(火) 00:07:58.020224デフォルトの名無しさん
2011/09/27(火) 00:17:02.600225デフォルトの名無しさん
2011/09/27(火) 00:24:17.740226デフォルトの名無しさん
2011/09/27(火) 00:29:27.570227デフォルトの名無しさん
2011/09/27(火) 00:31:39.740228デフォルトの名無しさん
2011/09/27(火) 00:31:44.43ggrksをテンプレにしとけ
全レスそれでおk
0229デフォルトの名無しさん
2011/09/27(火) 00:37:02.56消えてくれ
0230デフォルトの名無しさん
2011/09/27(火) 00:56:05.930231デフォルトの名無しさん
2011/09/27(火) 01:04:11.46もちろんジャバなんで使うのはファクトリー・パータンですよ
0232デフォルトの名無しさん
2011/09/27(火) 01:08:51.60わかってるフリしてわかってない典型
0233デフォルトの名無しさん
2011/09/27(火) 01:10:49.990234デフォルトの名無しさん
2011/09/27(火) 01:14:21.87浮かない顔の学生に数学教師は笑って答えた。
「数学なんて簡単だよ。結局はパターンだよ。ぱ・た・あ・ん」
と。
それを見ていた英語教師が「違う!」と叫んだ。
「パターンじゃない!」
「パ↑ターンだよ。パ↑ターン。発音は正確にね☆」
0235デフォルトの名無しさん
2011/09/27(火) 01:32:53.600236デフォルトの名無しさん
2011/09/27(火) 01:37:10.67無知は黙ってろ
0237デフォルトの名無しさん
2011/09/27(火) 01:38:48.800238デフォルトの名無しさん
2011/09/27(火) 01:41:04.42ファクトリーパターンって呼んじゃうやつは
コード書かせると大抵かけないよね
Abstract Facotryとの違いもわかってなくて
亜流の麺用なのをファクトリーパターンってよんで
それがGOFのアレだと思い込んでたりする
0239デフォルトの名無しさん
2011/09/27(火) 01:44:03.90いる。
.NETの方がいろいろ親切だと思う。
0240デフォルトの名無しさん
2011/09/27(火) 01:49:29.180241デフォルトの名無しさん
2011/09/27(火) 01:49:58.55factoryパターン知らないなら黙ってればいいのに…
0242デフォルトの名無しさん
2011/09/27(火) 01:56:06.07GoFだけがデザインパターンだと思ってる人ってまともなコードが書けなさそう
アンテナ低いっていうか世界が狭いっていうか
0243デフォルトの名無しさん
2011/09/27(火) 01:56:28.31真性のアホ降臨
0244デフォルトの名無しさん
2011/09/27(火) 01:59:16.67正式名称知ってれば>>238の方が正しいのは自明なのに。
無知が増えたなあ。。。
0245デフォルトの名無しさん
2011/09/27(火) 02:00:28.170246デフォルトの名無しさん
2011/09/27(火) 02:04:11.890247デフォルトの名無しさん
2011/09/27(火) 02:05:21.00ファクトリ関連で一般認知されてるのは3つでしょ
うちGOF2つ、他1つ。
無知からか無思慮からか、それらをグチャ混ぜにして
ファクトリってよぶ奴が蔓延した時代背景がある
頭がぐちゃぐちゃの奴は知ったかするのはなしの方向でね
0248デフォルトの名無しさん
2011/09/27(火) 02:08:15.580249デフォルトの名無しさん
2011/09/27(火) 02:10:32.40ファクトリ→実はわかってない or 間違って覚えてる
なんだからggrksで最初から終わってる
>> 223
0250デフォルトの名無しさん
2011/09/27(火) 02:12:22.120251デフォルトの名無しさん
2011/09/27(火) 02:13:44.92ggrksは万能じゃない
0252デフォルトの名無しさん
2011/09/27(火) 02:19:01.89おまえら元気になるなw
0253デフォルトの名無しさん
2011/09/27(火) 02:25:33.680254デフォルトの名無しさん
2011/09/27(火) 02:29:07.91ggrks
0255デフォルトの名無しさん
2011/09/27(火) 03:05:07.410256デフォルトの名無しさん
2011/09/27(火) 03:14:21.702ちゃんねらーって意外とナイーブなんですね!!!
0257デフォルトの名無しさん
2011/09/27(火) 03:36:50.980258デフォルトの名無しさん
2011/09/27(火) 03:48:31.912chするのはねらーだけ
0259デフォルトの名無しさん
2011/09/27(火) 03:52:25.092chするからねらーなのか
0260デフォルトの名無しさん
2011/09/27(火) 06:00:15.74>>216ですが、>>229は自分の書き込みではないです
0261デフォルトの名無しさん
2011/09/27(火) 09:25:42.39私じゃ調べてもわかんなくて困ってます…
0262デフォルトの名無しさん
2011/09/27(火) 09:58:06.340263デフォルトの名無しさん
2011/09/27(火) 10:23:37.94だから私じゃどうしたらいいかわからなくて;
0264デフォルトの名無しさん
2011/09/27(火) 10:43:37.11入門書に最初の方に図でos/jvm/javaアプリの関係描いてるの在るけど、ああ言うのじゃ無いの?
0265デフォルトの名無しさん
2011/09/27(火) 11:22:38.75マリオネットの絵はひどかったな…
0266デフォルトの名無しさん
2011/09/27(火) 11:48:44.131. class{フィールド main コンストラクタ メソッド}
2. class{フィールド コンストラクタ メソッド main}
3. class{フィールド コンストラクタ main メソッド}
0267デフォルトの名無しさん
2011/09/27(火) 11:50:35.940268デフォルトの名無しさん
2011/09/27(火) 11:51:39.040269214-215
2011/09/27(火) 15:30:47.65俺は2だな。
mainで簡易テスト書いて、あとでJUnitに置き換えて消したりすることが多い。
その延長で、アプリケーションでもmainは最後に書くようにしている。
0270デフォルトの名無しさん
2011/09/27(火) 16:29:54.64なぜか取得した値が???となってしまいます。
通常のvarchar2項目は問題ないのですが、どのような対処が必要でしょうか?
java.sql.Array array = rs.getArray("hoge");
String[] mv = (String[])array.getArray();
for (String s : mv) {
System.out.println("s=" + s);
}
0271デフォルトの名無しさん
2011/09/27(火) 19:36:05.61private List list = new ArrayList();
とあって、
//何かのメソッド内
list.add(data);
となっているのを
private void add(SomeClass data){
list.add(data);
}
このメソッドで置き換えるとパフォーマンスが20〜30%程度悪化した
-serverオプションつきだから最適化でインライン展開されるんじゃないかと思ったけどなぜ悪化するんですか?
0272デフォルトの名無しさん
2011/09/27(火) 20:54:59.75private void add(SomeClass)のインライン展開+ArrayList#add()のメソッド呼び出しに切り替わったから遅くなったとか。
0273デフォルトの名無しさん
2011/09/27(火) 20:55:05.760274デフォルトの名無しさん
2011/09/27(火) 21:03:53.18最適化をどこまでやるかはVM依存なので
そういうこともあるかもしれないとしか言えない
下手に複雑なJITをかけると、最適化自体にコストがかかるせいで
全体の実行時間は逆に悪化する可能性すらある
0275デフォルトの名無しさん
2011/09/27(火) 21:17:25.35ノーノー!
じゃば。
♪ドレミファじゃばこで フォーリンラ〜ブ
0276デフォルトの名無しさん
2011/09/27(火) 21:48:03.590277デフォルトの名無しさん
2011/09/28(水) 01:00:07.09保存とか押しても保存されずにダイアログが閉じちゃいます。
ただ。
httpの場合が上記の現象で。
httpsの場合は大丈夫でした。
エラーログはClientAbortExceptionでio.Exceptionでした。
httpとhttpsではコネクションの持ち方とか何かしら違うんでしょうか?
タイムアウトの設定とかは同じです。
0278デフォルトの名無しさん
2011/09/28(水) 02:33:19.85NetBeansを使う。
実行コマンドも出力に表示してくれてるから、引数メモっとけばコマンドラインからでも実行可能でしょう。
>>277
かなり高レベルのエスパーが必要な質問内容だな。
0279デフォルトの名無しさん
2011/09/28(水) 02:39:05.56違うよ。何かしらは。
0280デフォルトの名無しさん
2011/09/28(水) 08:49:02.03テキストファイルのパースは良く行われていると思いますが
テキストをパースする一般的な手法やライブラリって何がありますか?
正規表現でガリガリ書く以外に何か良いアプローチはあるでしょうか。
0281デフォルトの名無しさん
2011/09/28(水) 09:00:29.870282デフォルトの名無しさん
2011/09/28(水) 09:04:55.990283280
2011/09/28(水) 09:34:39.21まずJavaCCについて調べてみたところほとんどのサイトがリンク切れで大分古いものだと感じ
ツール間の格差が開いているのではないかと思いました
どれが一番オススメですか?
0284デフォルトの名無しさん
2011/09/28(水) 11:13:25.36普通に手書きでいいよ。ジェネレータ使っても正規表現並べるだけで変わらん。
君が挙げてるようなのは字句解析の後にプログラミング言語の複雑な文法を解析するのがメイン。
0285デフォルトの名無しさん
2011/09/28(水) 12:20:57.68個人的によく使うのはjson
使えればいい程度ならカンマ区切りで十分
>>283であげらてるのは主にオリジナルフォーマット自作する人向けだから、検討違い
0286デフォルトの名無しさん
2011/09/28(水) 12:45:20.66だけど、大抵扱うテキストのフォーマットは事前に分かるわけだから、何かしらライブラリがあるだろよ
0287デフォルトの名無しさん
2011/09/28(水) 13:05:02.91正規表現の代わりにはならん。スキャナジェネレータ使ってもどっちみち正規表現だけど。
0288デフォルトの名無しさん
2011/09/28(水) 17:17:11.24そもそもxmlみたいな単純な仕様を馬鹿でかい正規表現ライブラリつかってトロトロパースすることは無駄なだけだが。
パースするテキストというのに自然言語が含まれないなら手書きで十分だろう。
0289デフォルトの名無しさん
2011/09/28(水) 18:12:03.37javadocを付けたい時、javadocのためのコメントは @Override の前、後
どちらの行に書くべきでしょうか?
0290デフォルトの名無しさん
2011/09/28(水) 18:28:48.29というか後ろにつけてるのは見たことが無い。
0291デフォルトの名無しさん
2011/09/28(水) 21:51:53.83使ってるの見たことないけど
0292デフォルトの名無しさん
2011/09/28(水) 22:31:18.06ありがとうございます。
やはり前がみためてきにも判りやすいですね
eclipseで前に書こうとするとjavadocのテンプレートが動作しないような
気がしたので ? と思ったので
0293デフォルトの名無しさん
2011/09/29(木) 08:11:55.00JavaScriptのオブジェクトをラップしてJavaで受け取ったりとかできないかな?
JNIみたいなかんじで
その手の技術について何かキーワードだけでも教えて下さい。
0294デフォルトの名無しさん
2011/09/29(木) 09:09:21.31classファイルにAOTコンパイルできるからRhinoのランタイムをパス通してクラスローダで呼ぶかインポートすれば普通にjavaとして使える。
0295デフォルトの名無しさん
2011/09/29(木) 12:44:03.09ぐぐったけど、XML使うなら良いソリューションなんじゃないかな。
>>280
単純なINIファイルもどきの読み込みならこれが使えるかも
http://bit.ly/rl965E
0296デフォルトの名無しさん
2011/09/29(木) 13:08:49.92JOptionPane.showMessageDialogで、既存(作成したもの)のjspを親フォームの指定のやり方でどうすればいいですか?
色々調べてみたのですがわからなくて・・・。
どなたかよろしくお願いします。
0297デフォルトの名無しさん
2011/09/29(木) 13:14:37.190298デフォルトの名無しさん
2011/09/29(木) 13:37:38.66サーバサイドJavaはServletとJSP
JOptionPaneはSwing(クライアントサイドJava)
根本的に違う。火と水くらい違う。
まあ、JSPでグラフィカルなダイアログが欲しいなら、
JavaScriptで別ウィンドウでも開いてろってこった。
0299デフォルトの名無しさん
2011/09/29(木) 14:31:54.97そうですか・・・。
ログイン画面で、該当なしの場合、
その旨を表示するメッセージを表示しようとしたのですが、
JavaScriptで出すしかないですか・・・。
0300デフォルトの名無しさん
2011/09/29(木) 17:48:06.170301デフォルトの名無しさん
2011/09/29(木) 17:48:42.59俺は普通に使ってるけど。
0302デフォルトの名無しさん
2011/09/29(木) 18:31:41.80たとえば du -sk * を実行したかったので
<exec executable="du">
<arg line="-sk *" />
</exec>
としてみたら
[exec] du: *: No such file or directory
といわれて実行できない。
0303デフォルトの名無しさん
2011/09/29(木) 18:39:41.750304デフォルトの名無しさん
2011/09/29(木) 19:27:23.41えっ、そんなやり方しかないの?
いくらなんでも、antがそんな低機能なわけない・・・と思いたい。
0305デフォルトの名無しさん
2011/09/29(木) 19:54:27.43「make は unix (shell) に依存しすぎてて、
Makefile のポータビリティが無くて困るから、
環境に依存しない make を作ろうぜ。」
って言って作ったのが ant だから、 sh 依存の機能なんてあるわけない。
0306デフォルトの名無しさん
2011/09/29(木) 20:06:30.980307デフォルトの名無しさん
2011/09/29(木) 20:12:42.620308デフォルトの名無しさん
2011/09/29(木) 20:21:03.640309デフォルトの名無しさん
2011/09/29(木) 20:44:48.97なんでそんな結論になるの?
osに依存しないように、antがshellの機能を実装すればいいだけだよね。 shellの全機能なんて望みはしないけど、せめてglobぐらいサポートしてくれてもいいんじゃない?
しかしexecタスクが「*」をサポートしてくれないとは、困った。
duコマンドはunix限定としても、windowsでもunixでもとてもうまく動くpythonを、antのexecタスクで実行するつもりだったのに。
0310デフォルトの名無しさん
2011/09/29(木) 20:53:37.260311デフォルトの名無しさん
2011/09/29(木) 21:00:44.91だから、(shell に依存しない glob として) fileset があるじゃん。
0312デフォルトの名無しさん
2011/09/29(木) 21:03:21.280313デフォルトの名無しさん
2011/09/29(木) 21:37:52.09そもそも*がshell依存だろうが
0314313
2011/09/29(木) 21:38:37.880315デフォルトの名無しさん
2011/09/29(木) 22:51:18.19import 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ファイルと同じディレクトリにあればよいのでしょうか?
それとも根本的に何か間違っているのでしょうか?
初歩的かもしれませんがお願いします。
0316デフォルトの名無しさん
2011/09/29(木) 23:27:43.66antのapplyタスク
0317デフォルトの名無しさん
2011/09/29(木) 23:32:06.070318317
2011/09/29(木) 23:46:23.55マニュアル大文字なのに・・・
0319デフォルトの名無しさん
2011/09/30(金) 00:09:55.76自分で書けばいんでねーの?文句言ってる時間でかけるだろ
0320デフォルトの名無しさん
2011/09/30(金) 00:20:06.08swingもappletも皆が必要とする良いアプローチだったのに、
結局、かつて蹴散らしたはずのc++に、naclやgtk3でその領域を侵されそうだし
デスクトップすらjavascript+html5にすら置き換わりそう
0321デフォルトの名無しさん
2011/09/30(金) 00:32:42.65Java6u10があったり、JavaFXを従来のJavaのようにしちゃったり。
全然シェア取れてないよね、というのは同意だけれども。
0322デフォルトの名無しさん
2011/09/30(金) 01:01:05.75すいません・・・
よくわからないです
0323デフォルトの名無しさん
2011/09/30(金) 01:28:58.93Javaファイルと同じディレクトリでいいけど、
Eclipseのパッケージエクスプローラでファイルがk.javaの並びに表示されてるか確認しろ
見えてなければプロジェクトをF5で更新しろ
そしてコンパイル後にbinディレクトリ配下のk.classと
同じディレクトリにImage.jpgがコピーされればおk
0324デフォルトの名無しさん
2011/09/30(金) 02:13:03.62submitしてリダイレクト先のページも取得したい。
何を使えば出来ますか?
0325デフォルトの名無しさん
2011/09/30(金) 02:23:38.01http://java.sun.com/javase/ja/6/docs/ja/api/java/net/HttpURLConnection.html
0327デフォルトの名無しさん
2011/09/30(金) 02:42:18.290328デフォルトの名無しさん
2011/09/30(金) 04:27:02.54JavaFX始めるためにSwing Labの投資やめたのが転落の始まり。
0329デフォルトの名無しさん
2011/09/30(金) 15:51:28.170330デフォルトの名無しさん
2011/09/30(金) 17:47:26.64英語版はあるようなのですが日本語版はいろんなルート辿ってもリンク切れで見つけられません。
0331デフォルトの名無しさん
2011/09/30(金) 18:28:22.61どうやってんの?
0332デフォルトの名無しさん
2011/09/30(金) 18:52:41.780333デフォルトの名無しさん
2011/09/30(金) 19:24:33.00gistとかどうよ
0334デフォルトの名無しさん
2011/09/30(金) 19:40:51.110335デフォルトの名無しさん
2011/09/30(金) 19:56:23.050336デフォルトの名無しさん
2011/09/30(金) 20:42:51.29入門でお勧めの本があれば教えてください。
0337デフォルトの名無しさん
2011/09/30(金) 21:00:33.870338デフォルトの名無しさん
2011/09/30(金) 21:25:50.040339デフォルトの名無しさん
2011/09/30(金) 23:06:48.980340デフォルトの名無しさん
2011/10/01(土) 00:14:48.11スイングっておもしろい?
勉強になる?
0342デフォルトの名無しさん
2011/10/01(土) 01:37:37.31まず見た目をなんとかしてくれ
0343デフォルトの名無しさん
2011/10/01(土) 01:57:47.50区切り文字を残してsplitするにはどうすればいいですか
0344デフォルトの名無しさん
2011/10/01(土) 02:10:34.880345デフォルトの名無しさん
2011/10/01(土) 02:23:25.600346デフォルトの名無しさん
2011/10/01(土) 02:32:22.55objcでやろうぜ!
0347デフォルトの名無しさん
2011/10/01(土) 07:39:53.98適当に作ってみたが、こういう感じ?
http://ideone.com/k56zX
0348デフォルトの名無しさん
2011/10/01(土) 09:25:14.21Stringは値渡しですよね?
0349デフォルトの名無しさん
2011/10/01(土) 09:43:11.26参照を値渡して状態変更できても参照渡しができる事にはならん。
0350デフォルトの名無しさん
2011/10/01(土) 10:35:42.370351デフォルトの名無しさん
2011/10/01(土) 10:49:44.06・Javaのクラスには基本的に参照型しかない
・ゆえに、引数のクラス型の変数は参照の値が渡される。
・String 型は、クラス型だが例外的に参照では無く、値がコピーして渡される。
0352デフォルトの名無しさん
2011/10/01(土) 10:50:52.080353デフォルトの名無しさん
2011/10/01(土) 10:55:03.580354デフォルトの名無しさん
2011/10/01(土) 10:57:58.46String は内容変更不可と覚えておくこと。>>353 のいうとおりStringBuffer を使う
っていつもの煽りか。
>・String 型は、クラス型だが例外的に参照では無く、値がコピーして渡される。
そう思った根拠は?
0356デフォルトの名無しさん
2011/10/01(土) 11:27:31.610357デフォルトの名無しさん
2011/10/01(土) 11:48:38.29Javaにあるのは値型の値渡しか参照型の値渡しのみ。
C++やC#にある参照渡しの概念はJavaに無い。
0358デフォルトの名無しさん
2011/10/01(土) 12:06:59.120359デフォルトの名無しさん
2011/10/01(土) 12:13:53.62区別がつかない人があふれるんだろうな
0360デフォルトの名無しさん
2011/10/01(土) 12:57:00.060361デフォルトの名無しさん
2011/10/01(土) 13:11:08.95C言語でリテラル破壊した結果が未定義だか不定だかいうのと
ポインタを渡すのが値渡しか参照渡しかってのも別問題だし。
0362デフォルトの名無しさん
2011/10/01(土) 13:15:12.91初心者が初心者相手にドヤしやすい話題ではあるな
0363デフォルトの名無しさん
2011/10/01(土) 13:26:59.12マルチプラットフォームとのことで、Macでどうやって動かすのか疑問に思っています。
スマートフォンやアンドロイドでも動かせますか?
JAVAアプレットとJAVAscriptの2つの違いは何ですか?それぞれできないこととかメリットなどありますか?
よろしくお願いします。
0364デフォルトの名無しさん
2011/10/01(土) 13:31:42.380365デフォルトの名無しさん
2011/10/01(土) 13:33:46.740366デフォルトの名無しさん
2011/10/01(土) 13:58:26.450367デフォルトの名無しさん
2011/10/01(土) 14:32:30.63Macにもターミナルはあるからコマンドラインアプリケーションも普通に動かせるぞ
無理にダイアログベースにする必要はない
っていうことを聞きたいのだろうか
0368デフォルトの名無しさん
2011/10/01(土) 15:00:28.41例外吹いたw
0369デフォルトの名無しさん
2011/10/01(土) 16:15:43.86String s = "hello";
見たいに書けちゃうこと、 ってことででいいのかな。
だから、プリミティブ型と紛らわしいけど、
本当は参照型だから、やっぱり値は参照だよ、と。
0370デフォルトの名無しさん
2011/10/01(土) 17:42:15.820371デフォルトの名無しさん
2011/10/01(土) 17:47:59.11>>1
0372デフォルトの名無しさん
2011/10/01(土) 18:25:58.36StringBufferって今も現役なの?
もはや特殊な用途じゃない限り、StringBuilderを使うのが常識になってると思ったんだが…
0373デフォルトの名無しさん
2011/10/01(土) 18:37:20.580374デフォルトの名無しさん
2011/10/01(土) 18:42:32.500375デフォルトの名無しさん
2011/10/01(土) 18:48:35.50軒並み StringBuffer に書き換えたけどあんまり速くならなかったことがあったけど、
あのプログラム今から StringBuilder に書き換えたら、多少は速くなるかなあ。
0376デフォルトの名無しさん
2011/10/01(土) 18:49:06.53sb.append("x=").append(x) とかになるとどうせロックしなきゃいけないので
ほとんど無意味
0377デフォルトの名無しさん
2011/10/01(土) 18:58:43.77ま、俺は使わないけどw
0378デフォルトの名無しさん
2011/10/01(土) 19:00:49.35使うときに明示的にロックする約束でStringBuilderでやるべき
0379デフォルトの名無しさん
2011/10/01(土) 19:08:03.55そうそう。
まずこういうニーズがあまりない気がするな。
StringBuilderで置き換えるのが浸透してるもんだと思ってたが…
0380デフォルトの名無しさん
2011/10/01(土) 19:09:23.800381デフォルトの名無しさん
2011/10/01(土) 19:10:34.25多分変わらんよ。
Stringで文字列結合してネックになるのって、ループが絡むとかで相当な回数インスタンス生成が行われるときだけのはず。
ループで結合している箇所を置き換えるなら効果あるけど。
0382デフォルトの名無しさん
2011/10/01(土) 19:10:58.44大抵複数の操作をアトミックに行う必要が出てきて無意味になる
0383デフォルトの名無しさん
2011/10/01(土) 20:20:47.86当然、業務的にアトミックな単位で読み書きするのさ
0384デフォルトの名無しさん
2011/10/01(土) 21:19:55.81なるほど、そうすると、処理の内容によっては、わざわざ StringBuffer/StringBuilder 使わずに、
s += " and next word";
みたいにしたほうが、書くのも読むのも楽だから、ってのはある程度ありかな。
0385デフォルトの名無しさん
2011/10/01(土) 22:39:29.060386デフォルトの名無しさん
2011/10/01(土) 22:50:09.590387デフォルトの名無しさん
2011/10/01(土) 22:53:38.02もっともだけど、どうせ使うときにマルチスレッドをはっきり意識しないといけないんなら
StringBuilderで使うときにロックしても別に変わんなくね
0388デフォルトの名無しさん
2011/10/01(土) 22:53:41.340389デフォルトの名無しさん
2011/10/01(土) 22:56:15.18ちょーおま、
俺のアンカーなしのレスが台無しじゃないか
0390デフォルトの名無しさん
2011/10/01(土) 23:06:00.760391デフォルトの名無しさん
2011/10/02(日) 00:55:24.74まあ、処理系依存の話になっちゃうけど。
すると、普通に文字列結合書くより、 明示的に StringBuffer を使った場合のほうが
遅くなる可能性があるのか。
0392デフォルトの名無しさん
2011/10/02(日) 01:01:32.95その通り。
内容によっては、あえて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 = ?");
では、確かほとんど変わらないか、むしろ前者の方が速かったような気がする。
0393デフォルトの名無しさん
2011/10/02(日) 01:05:07.040394デフォルトの名無しさん
2011/10/02(日) 01:20:20.24public 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です。
0395デフォルトの名無しさん
2011/10/02(日) 01:28:12.750396デフォルトの名無しさん
2011/10/02(日) 01:28:38.50”select name, email from table_a where id = ?”
と連結済みなので当然+使った方が速い
0397デフォルトの名無しさん
2011/10/02(日) 01:36:12.220398デフォルトの名無しさん
2011/10/02(日) 01:42:00.430399デフォルトの名無しさん
2011/10/02(日) 01:42:54.28msdn.microsoft.com/en-us/library/aa364570.aspx
ファイル・ディレクトリに対する一意な識別子を取得して比較したらいいんじゃね
0400デフォルトの名無しさん
2011/10/02(日) 01:53:02.03>>395
だめでした。普通にFile#getAbsolutePathのときと同じように、C:\HDD\D\・・・になってしまいました。
>>399
それですかねえ。
これを Javaから呼び出すのって JNI とかからなんでしょうか。このあたりは全く知識なしです。
ちと勉強しないと。
他に何かスパッとJava内だけで解決できるいい方法があればいいんですが。
0401デフォルトの名無しさん
2011/10/02(日) 02:13:28.90ttp://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
(ノ∀`)アチャー
0402デフォルトの名無しさん
2011/10/02(日) 02:24:16.88ほとんど変わらないのでフォーマッタのためにStringBuilder使ってるよ。
0403394
2011/10/02(日) 02:25:11.87やっぱり>>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を呼ぶやり方がいけるかもしれません。
トライしてみます。
0404デフォルトの名無しさん
2011/10/02(日) 02:25:39.67download.oracle.com/javase/7/docs/api/java/nio/file/attribute/BasicFileAttributes.html
0405デフォルトの名無しさん
2011/10/02(日) 02:26:07.44話題そらして申し訳ないけど、Windowsってそういうのをハードリンクって呼ぶの?
0406デフォルトの名無しさん
2011/10/02(日) 02:29:57.490407デフォルトの名無しさん
2011/10/02(日) 02:34:36.51> 指定されたファイルが見つかりません。
なんて出るんだけどやりかた間違ってる?
0408デフォルトの名無しさん
2011/10/02(日) 02:52:47.19BasicFileAttribute も 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 からだとドライブのパス化も行けるんだろうか?
0409デフォルトの名無しさん
2011/10/02(日) 03:04:37.840410デフォルトの名無しさん
2011/10/02(日) 03:06:11.42じっくり調べれば見つかるかもしれんが
0411デフォルトの名無しさん
2011/10/02(日) 03:12:32.360412デフォルトの名無しさん
2011/10/02(日) 03:14:41.650413デフォルトの名無しさん
2011/10/02(日) 03:21:37.010414394
2011/10/02(日) 03:23:45.94java.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 で処理コストがかかる時点で現実的ではなさそうですね。
0415デフォルトの名無しさん
2011/10/02(日) 03:34:16.13それとループして困るのはディレクトリだけだろ?ディレクトリに限定してチェックして
ループしてると分かったらそれ以下は全部重複だから見なくていい。でもやっぱまだ多いか
0416デフォルトの名無しさん
2011/10/02(日) 03:34:55.13再帰中にそのファイルと同じファイル名、内容、タイムスタンプのファイル発見したら停止。
もう一段階加えるなら、発見したディレクトリに別の一時ファイルを作り、開始ディレクトリに
同じファイルが出来てたらアウツ。
0417デフォルトの名無しさん
2011/10/02(日) 03:40:47.21オプションが違う。ドライブをまたぐときはジャンクションにしないといけない
Vistaからはシンボリックリンクもサポートしたから、それでもいける
調べてないけど、そのGUIでの方法はハードリンクでもジャンクションでもシンボリックリンクでもない気が
Linuxならmount --bind相当だったかと。実際ドライブレター割り当ててないボリュームもマウントできる
0418デフォルトの名無しさん
2011/10/02(日) 03:41:59.15権限がなくてファイルが作れなかったら?
0419デフォルトの名無しさん
2011/10/02(日) 03:48:10.01>それとループして困るのはディレクトリだけだろ?ディレクトリに限定してチェックして
まさにそれを実験してみてますw
ただ、それでもクソ重いです。フォルダの数も結構多いもんですね。
java.nio.file.Files#isSameFile もちょっと挙動が重めっぽいかな?
>>409
これもたしかに簡易な方法としていいかも。
自己ループ C:\HDD\C\HDD\C というように Cドライブ内だけでループしているのでなければ行けるかも。
>>416
それでもできそうですね。ちとファイルが数千〜数万個増えそうですけれどw
>>412
ドライブを別ドライブのフォルダにするのって、どれにあたるんですかね?
ジャンクション? vista以降のシンボリックリンク?どちらにしても isSymbolicLink()じゃだめっぽいんですが・・・
やっぱJNA で FSCTL_GET_OBJECT_ID を取りに行くのが正攻法なのかなぁ・・・?
0420394
2011/10/02(日) 03:55:13.51>>412の指摘で >>419 書いているときにアレー?って感じで気づきましたw
mklink /J C:\HDD\D D:\
で作れますね。
>>415
すでに10分くらいやっていますが、実用とは言えないくらい遅いですw
n^2 オーダはやっぱだめかぁ。
0421デフォルトの名無しさん
2011/10/02(日) 04:23:43.96C:\foo.txtが実体でHDDがマウントポイントフォルダパスでHDDにドライブレターのCとDが追加されてるからry
面倒だからあとは分かるな。
>>405
ハードリンクじゃないよ。ジャンクションっていう機能によくあるマウントがある。ドマイナーでwinのアプリもまともに対応してない。
winのハードリンクはlinuxのハードリンクと同じ。vistaからソフトリンクって名前のシンボリックリンクも使える。
ちなみにnio2で取得できるのはnio2がファイルシステムの属性を扱えるからでジャンクションやソフトリンクはリパースっていう属性だからだと思う。
0422デフォルトの名無しさん
2011/10/02(日) 05:07:22.58用途によっては、決めうちでリミッターつけといたほうがいいかも。
この問題に対応できても、将来的にファイルシステムにどんな機能が追加されるかわからないし、
無限ループでリソース食いつぶしてダウンされると、
影響がでかいし、原因の解明に手間取るかもしれない。
0423デフォルトの名無しさん
2011/10/02(日) 07:27:19.95日本語ドキュメントなら過去ログに上げてくれた人がいた。
リンクはまだ生きてるようだから、
javaスレッド jdk-6u21-docs-ja.zip
で検索しる!
0424デフォルトの名無しさん
2011/10/02(日) 10:38:39.90なんかJDK7では無くなってるようですが、これから勉強する意味はあるんでしょうか?
0425デフォルトの名無しさん
2011/10/02(日) 11:07:03.220426デフォルトの名無しさん
2011/10/02(日) 12:10:04.54"mouse clicked"が表示されないんだけど
label.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent event) {
System.out.println("mouse clicked");
}
});
0427デフォルトの名無しさん
2011/10/02(日) 12:33:44.97使ってる。
便利だけどセキュリティー面ではいまひとつ信用できない。
0428デフォルトの名無しさん
2011/10/02(日) 12:38:46.850429デフォルトの名無しさん
2011/10/02(日) 12:45:13.63本当に処理内容が大きくて出るのか、そんなに使ってないはずなのに出るのか。
後者なら要はバグだから、回避じゃなくて修正しないと。
0430デフォルトの名無しさん
2011/10/02(日) 12:51:13.35使うヒープサイズ<使えるヒープサイズ
にすれ
0431デフォルトの名無しさん
2011/10/02(日) 13:09:33.110432デフォルトの名無しさん
2011/10/02(日) 13:25:18.84linuxならPosix.lstat()でinode取れるかな >>421
0433デフォルトの名無しさん
2011/10/02(日) 15:06:23.35プロファイラで無駄があるかどうか調査。
無駄が無ければ>>430
無駄があればそれを修正。
0434デフォルトの名無しさん
2011/10/02(日) 15:29:00.74ちなみに、SwingはJREだけで実行できますよね?
0435デフォルトの名無しさん
2011/10/02(日) 15:36:21.52その通り。
0436デフォルトの名無しさん
2011/10/02(日) 16:49:00.380437デフォルトの名無しさん
2011/10/02(日) 19:30:46.230438394
2011/10/02(日) 20:45:26.70java.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);
0439394
2011/10/02(日) 20:47:29.11/* @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;
}
};
0440394
2011/10/02(日) 20:49:44.48try {
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 をすると勝手に全ドライブを対象に実行(ネットワークドライブの割り当てをしているとそっちまで見に行くので注意。
これでちゃんと循環せずに見てくれるリスターができました。いろいろ捗りそう。
0441394
2011/10/02(日) 21:16:56.74public FileVisitResult visitFileFailed(Path dir, IOException exc) {
if (exc instanceof FileSystemLoopException) {
System.out.println("!?ループしたぞ?" + dir); //基本的にこないはず
} else {
...
ここの!?ループしたぞ? には来るようです。
ちゃんとここでFileSystemLoopExceptionが投げられているのを確認できました。
0442デフォルトの名無しさん
2011/10/02(日) 22:06:47.180443デフォルトの名無しさん
2011/10/02(日) 22:08:39.50java.nio.file.Files#walkFileTree使うと良いよ!
0444デフォルトの名無しさん
2011/10/02(日) 22:47:18.780445デフォルトの名無しさん
2011/10/03(月) 01:10:21.36ありがとうございます。
0446デフォルトの名無しさん
2011/10/03(月) 11:08:24.01クラスが分からないから無理ですか?
0447デフォルトの名無しさん
2011/10/03(月) 14:14:36.89String hoge2 = "hoge2";
hoge1 = hoge2.clone();
としたいのですができません。
Stringをクローンコピーするにはどうしたらいいでしょうか?
0448デフォルトの名無しさん
2011/10/03(月) 14:17:44.740449デフォルトの名無しさん
2011/10/03(月) 14:29:35.06hoge1 = new String(hoge2);
でいいのか。
0450デフォルトの名無しさん
2011/10/03(月) 14:36:18.06で何か問題があるのか?
0451デフォルトの名無しさん
2011/10/03(月) 14:39:48.280452デフォルトの名無しさん
2011/10/03(月) 14:40:13.940453デフォルトの名無しさん
2011/10/03(月) 20:05:52.41Stringはfinalだから無理
0454デフォルトの名無しさん
2011/10/03(月) 20:07:23.00標準ライブラリにはJSON機能ないから、
どこかでライブラリを探すしかない。JSON.org 公式ライブラリもあるけど
構文としてはかなり易しめの部類だから、
自分でJSONパーサを再発明するのもよし。
0455sage
2011/10/03(月) 20:12:55.03hoge.hoge1 = value
hoge.hoge2 = <hoge.hoge1のvalue>+何か追加
っていう使い方をプロパティファイル内でしたいのです。
0456デフォルトの名無しさん
2011/10/03(月) 20:24:42.66自分も詳しくないけど…
http://stackoverflow.com/questions/338586/a-better-java-json-library
見てると、Gsonのアプローチは>>446が想定してるものだと思うけど、
JSONLibなんかではJSONArrayっていう一般的なクラスのインスタンスで受け取ったあと
getString(hoge)とかで要素の値を取得するみたいね。
0457デフォルトの名無しさん
2011/10/03(月) 20:34:32.40>>291
0458デフォルトの名無しさん
2011/10/03(月) 20:58:18.89C:\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
でいいの?
0459デフォルトの名無しさん
2011/10/03(月) 21:09:09.02C:\Windows\System32
にもあるぜ
0460デフォルトの名無しさん
2011/10/03(月) 21:13:21.23C:\Program Files\Java\jdk1.7.0\bin
を指定するのは、
・javac.exeなども一緒にパスを通したいとき
・バージョンを明示したいとき
じゃないかな?
ちなみにjre下のjava.exeとjdk下のjava.exeでは若干挙動が違う状況があったはず。セキュリティ関係だったかな?
0461デフォルトの名無しさん
2011/10/03(月) 21:22:03.21たしかにコンパイルするときにはjavac.exeを使うし、それは
C:\Program Files\Java\jdk1.7.0\bin
にしかないのでした。
で、C:\Windos\System32にもあるんですか…。
で、挙動が違うんですか…。
いろいろありがとうございますっ!!
0462デフォルトの名無しさん
2011/10/04(火) 01:37:53.860463デフォルトの名無しさん
2011/10/04(火) 01:55:22.55forだのifだのの使い方は理解できても
これでなにかプログラムつくれる気がしねぇ
みんなこうやって関数みたいの覚えて
あとは自分で例題(電卓つくるとか)を決めて
適当にやって躓いたらネットで調べる みたいな感じでプログラミング覚えていくの?
0464デフォルトの名無しさん
2011/10/04(火) 02:18:34.40そこらへんのCやJavaでの違いはあって無いようなもの
GUIやイベントとかネットワークプログラミング学ぶまでは
誰も何も作れる気はしてないから安心しろ
0465デフォルトの名無しさん
2011/10/04(火) 02:46:09.360466デフォルトの名無しさん
2011/10/04(火) 09:39:45.71C:\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コマンド入るのはエンドユーザーがパス通す必要ないから。
0467デフォルトの名無しさん
2011/10/04(火) 09:56:33.240468デフォルトの名無しさん
2011/10/04(火) 11:49:13.93スレッド内で発生した例外をViewでユーザに通知したいのですが、スレッド内で発生した例外はスレッド内で処理しなければならないので、スレッドクラスはView層におかなければならないのでしょうか?
0469デフォルトの名無しさん
2011/10/04(火) 12:34:11.640470デフォルトの名無しさん
2011/10/04(火) 14:07:11.99獲得してくるレコードの格納とアクセサを実装した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に格納したクラスのメソッドって
どうやって使えばいいんでしょうか?
0471デフォルトの名無しさん
2011/10/04(火) 15:02:32.18for(init i = 0; i< dto.size(); i++) {
SampleDto dto2 = (SampleDto)dto.get(i);
code[i] = dto2..getCode();
}
みたいな感じで上手く行きました…が、
これで本当にいいのでしょうか…
0472デフォルトの名無しさん
2011/10/04(火) 15:20:17.970473デフォルトの名無しさん
2011/10/04(火) 16:52:35.36クラスのメンバなどで配列を定義する際に、
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");
0474デフォルトの名無しさん
2011/10/04(火) 17:42:44.05Groovyならできたと思うけど。
0475デフォルトの名無しさん
2011/10/04(火) 17:48:23.630476デフォルトの名無しさん
2011/10/04(火) 17:56:54.69int length = Math.min(key.length,value.length);
for( int i = 0; i < length; i++ ){
map.put(key[i],value[i]);
}
}
0477デフォルトの名無しさん
2011/10/04(火) 18:34:43.030478デフォルトの名無しさん
2011/10/04(火) 18:57:10.920479デフォルトの名無しさん
2011/10/04(火) 19:23:55.42ぜひ他の解決策をご教示ください。
0480デフォルトの名無しさん
2011/10/04(火) 19:56:31.88>>473 >>479
JunkUtilという変態ライブラリを使うと1行で書ける。
Map map = new LzMap(
"1", "a",
"2", "b",
"3", "c",
"4", "d",
"5", "e",
"6", "f"
).map();
ジェネリクス?何それおいしいの?
0481480
2011/10/04(火) 20:10:05.41Map map = new LzMap(new String[]{
"1", "a",
"2", "b",
"3", "c",
"4", "d",
"5", "e",
"6", "f"
}).map();
こうだった。全然スマートじゃないな。忘れてくれ。
0482デフォルトの名無しさん
2011/10/04(火) 20:18:12.05map.load(new StringReader("1=a\n2=b\n3=c\n4=d\n5=e\n6=d"));
0483デフォルトの名無しさん
2011/10/04(火) 20:20:04.04static <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);
とか。
0484デフォルトの名無しさん
2011/10/04(火) 20:49:04.40あとArrayも [ "value1", "value2" ] ry
0485デフォルトの名無しさん
2011/10/04(火) 21:00:27.560486デフォルトの名無しさん
2011/10/04(火) 21:26:06.810487デフォルトの名無しさん
2011/10/04(火) 21:56:00.07匿名クラス+インスタンス初期化子という方法がある。
変態的なのでお勧めしないけど。
0488デフォルトの名無しさん
2011/10/04(火) 22:01:36.31Map<String, String> map = ArrayUtils.toMap(new String[][] { { "key1", "val1" }, { "key2", "val2" } });
0489デフォルトの名無しさん
2011/10/04(火) 22:11:23.33よくない
0490デフォルトの名無しさん
2011/10/04(火) 22:43:22.86キャストしないとエラーになんね?
0491デフォルトの名無しさん
2011/10/04(火) 23:34:30.33>>474
>>480
お前はもう来んなって
0492デフォルトの名無しさん
2011/10/04(火) 23:42:03.040493デフォルトの名無しさん
2011/10/05(水) 01:20:41.44スレッド内で発生した例外をViewでユーザに通知したいのですが、スレッド内で発生した例外はスレッド内で処理しなければならないので、スレッドクラスはView層におかなければならないのでしょうか?
0494デフォルトの名無しさん
2011/10/05(水) 01:43:03.06public 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"
);
0495デフォルトの名無しさん
2011/10/05(水) 01:56:21.610496デフォルトの名無しさん
2011/10/05(水) 02:01:52.73ごめん。何言ってる分からないな。
経験を積むとkeyとvalueは別個の方が変態じゃないのかと思えてくるようになる(つまり別個引数にすべき)
0497デフォルトの名無しさん
2011/10/05(水) 02:06:02.00お前ら当然エスパーしろよな
0498494
2011/10/05(水) 02:15:44.75△ 経験を積むとkeyとvalueは別個の方が変態じゃないのかと思えてくるようになる(つまり別個引数にすべき)
◎ 経験を積むとkeyとvalueとを別個にしない方が変態じゃないのかと思えてくるようになる
ちなみに、同感です。
0499デフォルトの名無しさん
2011/10/05(水) 03:40:42.54http://ideone.com/su5f9
0500デフォルトの名無しさん
2011/10/05(水) 04:04:10.590501デフォルトの名無しさん
2011/10/05(水) 09:05:53.580502デフォルトの名無しさん
2011/10/05(水) 09:27:24.800503デフォルトの名無しさん
2011/10/05(水) 09:41:14.590504デフォルトの名無しさん
2011/10/05(水) 10:01:56.350505494
2011/10/05(水) 10:07:24.68⇒「キーと値のリストを指定して、複数エントリを保持させる」と、直感的に読める
�A void putEntries(String[] entries)
⇒「(恐らく)キーと値の繰り返しを指定して、複数エントリを保持させるのだろう」と、エスパーすれば読める
�Aよりは�@の方が意味を捉えやすいでしょ、という事。
時代は関係ない。・・・と思いたい。
0506デフォルトの名無しさん
2011/10/05(水) 10:22:26.380507デフォルトの名無しさん
2011/10/05(水) 10:31:11.99こ、後悔なんかしてないんだから/////
0508デフォルトの名無しさん
2011/10/05(水) 10:33:12.990509デフォルトの名無しさん
2011/10/05(水) 10:39:24.700510デフォルトの名無しさん
2011/10/05(水) 10:56:00.49明らかにリテラルで書くのには向いてない
0511デフォルトの名無しさん
2011/10/05(水) 12:05:47.340512デフォルトの名無しさん
2011/10/05(水) 12:53:27.80キーに対応する値を探したりペアを削除したり途中に追加したりするのに
いちいち前から順に数えないといけないとかクソすぎ
0513デフォルトの名無しさん
2011/10/05(水) 12:58:38.15もう少し詳しく
0514494
2011/10/05(水) 13:56:18.72>505で言いたいのは、もう少し別の次元の話。
開発現場では、他人様が書いたソースコードを読むことが多々ある。そこに、
void replaceElements(List list, String[] replaceInfo)
なんてメソッドがあっても使い方ピンとこないでしょ。でも、
void replaceElements(List list, String[] targets, String[] replacements)
だと、なんとなく分かるでしょ。
もちろん、ドキュメントなりコメントなりには書いてあるんだけど、ぱっと見で分かんないと、読むのが辛いの。
分かりづらい理由は、置換対象の要素+置換後の値という、性質の異なる値を1つの配列に押し込めてるためだから、
>494の引数も、同じように2つに分けてしまいたいな、と思うわけ。
おまいら、PGだったらこの気持ち、分かってくれるよな?
0515デフォルトの名無しさん
2011/10/05(水) 14:02:43.58String 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();
0516デフォルトの名無しさん
2011/10/05(水) 15:10:58.10せめてクラスを別にして
0517デフォルトの名無しさん
2011/10/05(水) 15:25:28.370518デフォルトの名無しさん
2011/10/05(水) 15:45:46.060519デフォルトの名無しさん
2011/10/05(水) 15:50:57.310520デフォルトの名無しさん
2011/10/05(水) 16:06:14.55それぞれを別個の引数に分けるのはよろしくない。
0521518
2011/10/05(水) 16:10:09.33俺もそれを直交性と言いたいんじゃないかと一瞬考えた。
しかしそれはさすがにアホだろ。keyとvalueが直交してんだったらmap使う意味ないだろ。
あーあれか。データ構造とアルゴリズムの分離ってやつ?
今回のだとインタフェースと実装が適切か?
インタフェースとして(>>505が言うところの)「意味を捉えやすい」のはどれか、ってことだな。
それなら>>517の言いたいことは分かった。
>>508はデザパタ言いたかっただけか。「デザイン」パターンなんだから当たり前だろ。
「デザインパータンですらもさんざん書いてある」んじゃなくて、そのものが書かれてるんだよ?
0522デフォルトの名無しさん
2011/10/05(水) 16:17:58.47>>495-498は
変態 && アホ == true
だってこと?
0523デフォルトの名無しさん
2011/10/05(水) 17:00:49.97new MapBuilder<String, String>().add("1", "a").add("2", "b").toMap()
だろ
0524デフォルトの名無しさん
2011/10/05(水) 17:15:20.11MapBuilder<String, String> mb = new HashMapBuilder<String, String>();
Map<String, String> map = mb.add("1", "a").add("2", "b").toMap();
こうかな
0525デフォルトの名無しさん
2011/10/05(水) 17:20:35.41何が変わってるんだよw
0526デフォルトの名無しさん
2011/10/05(水) 18:18:56.770527デフォルトの名無しさん
2011/10/05(水) 18:22:46.550528デフォルトの名無しさん
2011/10/05(水) 18:58:06.04519=520
語弊があったので言い直した。
0529518
2011/10/05(水) 19:00:09.93俺へのレスかな?
「keyとvalueは直交してないことを考慮して」という意味で「直交性を考える」と言っているのであれば理解した。
>>519が言いたかったのも、もしかしてそういうことか。
「keyとvalueは依存関係があるので」とでも言ってくれればすんなり理解できたのだが。
>>508と>>517が言ってる「直交性」はそれぞれ別の物を指してるってことだな。
>>522
ご理解痛み入る。
0531494
2011/10/05(水) 19:18:26.97どの方法が一番かを気にしたつもりは全く無くて、
String[] よりは String[], String[] の方が、総合点高くね?とだけ言ったつもり。
>476 >477 >494 >495-498 の流れ。
>>529
じゃあ、>508の「直交性」は、どういう意味なの?
0532デフォルトの名無しさん
2011/10/05(水) 19:49:28.32> じゃあ、>508の「直交性」は、どういう意味なの?
知らんがな。正にそれを俺が>>513>>518で聞いてるわけだ。
俺は「直交性」と聞いて「直交する性質」と理解したわけだ。この話題で何と何が直交してるのかと。
その結果>>521に行き着いた。
「直交しない性質」をして「直交性」と呼んでいることに考えが及ばなかったことはあるにせよ、
デザパタ引き合いに出している以上>>521の推測は妥当だろう?
0533デフォルトの名無しさん
2011/10/05(水) 19:58:37.62for(i=0; i<len; i+=2){key = record[i]; value = record[i+1]}みたいな低レベルなfor回さなきゃいけないのは気持ち悪い。
かといってObject[][]は扱いにくいしだからといってjavaにyieldがあるわけでもないからどうしようもないな。
0534デフォルトの名無しさん
2011/10/05(水) 20:05:29.380535デフォルトの名無しさん
2011/10/05(水) 20:06:20.470536デフォルトの名無しさん
2011/10/05(水) 20:18:10.950537デフォルトの名無しさん
2011/10/05(水) 20:33:27.58メソッド getCell(short) は型 HSSFRow で使用すべきではありません
じゃあどうすればいいの?
0538デフォルトの名無しさん
2011/10/05(水) 20:35:32.980539デフォルトの名無しさん
2011/10/05(水) 20:44:43.37http://ja.wikipedia.org/wiki/%E7%9B%B4%E4%BA%A4%E6%80%A7
0540デフォルトの名無しさん
2011/10/05(水) 20:57:08.99http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFRow.html#getCell(short)
> Deprecated. (Aug 2008) use getCell(int)
似たような名前、ちゅーか同じ名前だな。
0541デフォルトの名無しさん
2011/10/05(水) 21:04:13.600542デフォルトの名無しさん
2011/10/05(水) 21:39:13.32どういたしまして。
0543デフォルトの名無しさん
2011/10/05(水) 21:41:19.98いいってことよ( ´ー`)y-~~~
0544デフォルトの名無しさん
2011/10/05(水) 21:47:43.560545デフォルトの名無しさん
2011/10/05(水) 22:40:54.410546デフォルトの名無しさん
2011/10/05(水) 22:42:52.110547デフォルトの名無しさん
2011/10/05(水) 22:44:43.390548デフォルトの名無しさん
2011/10/05(水) 22:47:32.220549デフォルトの名無しさん
2011/10/05(水) 22:52:18.890550デフォルトの名無しさん
2011/10/05(水) 22:55:12.52おおっ、ジャバだけじゃなく数学の方もよく理解してるな
0551デフォルトの名無しさん
2011/10/05(水) 22:55:36.44Σ て
Σ javaがわからないくらいバカ! て人__人_
Σ 馬鹿がわからないくらいjava ! て
⌒Y⌒Y⌒Y) て
Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒
_______
|__ ヽ(゜∀゜)ノ
|\_〃´ ̄ ̄ ヽ..ヘ( )ミ
| |\,.-〜´ ̄ ̄ ω > (∀゜ )ノ
\|∫\ _,. - 、_,. - 、 \ ( ヘ)
\ \______ _\<
\ || ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
\||_______ |
0552デフォルトの名無しさん
2011/10/05(水) 23:41:42.97有名な再帰的アルゴリズムみたいのある?
0553デフォルトの名無しさん
2011/10/06(木) 00:18:14.36VBA使ったほうが速くないか?
0554デフォルトの名無しさん
2011/10/06(木) 00:44:11.19人__人__人__人__人__人__人__人__人__人__人
Σ て
Σ javaに関係ない話題と気づかない程にバカ! て人__人_
Σ 馬鹿がわからないくらいjava ! て
⌒Y⌒Y⌒Y) て
Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒
_______
|__ ヽ(゜∀゜)ノ
|\_〃´ ̄ ̄ ヽ..ヘ( )ミ
| |\,.-〜´ ̄ ̄ ω > (∀゜ )ノ
\|∫\ _,. - 、_,. - 、 \ ( ヘ)
\ \______ _\<
\ || ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
\||_______ |
0555デフォルトの名無しさん
2011/10/06(木) 00:47:35.350556デフォルトの名無しさん
2011/10/06(木) 00:48:14.91サーバー側でVBA動かしてXML出力しろってか
頭悪いんじゃないか?
0557デフォルトの名無しさん
2011/10/06(木) 00:51:03.40>>556
>>556
>>556
>>556
>>556
>>556
>>556
>>556
>>556
>>556
>>556
>>556
0558556
2011/10/06(木) 00:52:12.63俺、エスパーすぎた?
0559デフォルトの名無しさん
2011/10/06(木) 01:01:46.57Javaしか触れない奴には、
自分が無理だから技術的に無理、ないしはすべきではない
とか固定的なものの見方しか出来ない
0560デフォルトの名無しさん
2011/10/06(木) 01:28:26.410561デフォルトの名無しさん
2011/10/06(木) 01:33:29.83構築することすら出来んだろうってw
当たり前だけど、サーバーは常識的な選択。
Linux + Apache + Tomcatの構成だからな。
0562デフォルトの名無しさん
2011/10/06(木) 01:37:57.97要件に応じて構築中しろよカスが
0563デフォルトの名無しさん
2011/10/06(木) 01:40:18.770564デフォルトの名無しさん
2011/10/06(木) 01:49:40.64なんらかの方法で解決してるんだろう。
そんで、そのデータを XML で出力しようとしたときに、木構造をどうにかする
再帰的アルゴリズムが要るんだろうな。
0565デフォルトの名無しさん
2011/10/06(木) 02:08:20.080566デフォルトの名無しさん
2011/10/06(木) 02:16:57.03そもそも無かったってことに。。。
0567デフォルトの名無しさん
2011/10/06(木) 02:52:19.810568デフォルトの名無しさん
2011/10/06(木) 03:24:34.850569デフォルトの名無しさん
2011/10/06(木) 03:52:41.18なんとかしてくれ
0570デフォルトの名無しさん
2011/10/06(木) 04:34:19.630571デフォルトの名無しさん
2011/10/06(木) 04:55:08.180572デフォルトの名無しさん
2011/10/06(木) 06:27:41.69木構造ならそのまま再帰使ってXML出力できると思うが。
0573デフォルトの名無しさん
2011/10/06(木) 07:11:04.160574デフォルトの名無しさん
2011/10/06(木) 07:19:45.18って誰か言ってた
0575デフォルトの名無しさん
2011/10/06(木) 07:41:52.66意外と敷居ひくいな
0576デフォルトの名無しさん
2011/10/06(木) 07:46:17.950577 忍法帖【Lv=14,xxxPT】
2011/10/06(木) 08:18:07.4220章のサーブレットになった瞬間意味が分かりません。
誰かこの本持ってる人いませんでしょうか?
tomcatやantは勝手にダウンロードしとけ。みたいに書かれてるのですが
ダウンロードした後にどう使うのか、そもそもxmlファイルの例が書かれても
どこに書くのかとか(今まで通りterapadのようなものに書いて保存時にjavaにするのかなど)
一切書いてないので意味がわかりません。
0578デフォルトの名無しさん
2011/10/06(木) 08:33:29.90そろそろGlassfishのWeb Profileで入門とか出てきても良さそうなんだがなー。
>>577
まずEclipseかNetBeansあたりの統合開発環境を導入したほうが良さそうかな。
ソース1つ2つをさわる程度ならエディタでもいいけど、プロジェクトって概念を学んだ方がいいと思う。
Web用プロジェクトのテンプレートもあるからどこに何を書くか、そしてどこに保存すべきなのかはそれで学ぶといい。
ただし、ものによって保存する場所が決まっているもの(web.xmlとか)と比較的自由に変更できるものがあるので注意を。
0579 忍法帖【Lv=14,xxxPT】
2011/10/06(木) 08:37:31.32ただのjavaとは別でEclipseで始めるjava。みたいな本があったと思いますが。
0580デフォルトの名無しさん
2011/10/06(木) 08:40:13.97>>577
tomcatとAntの設定なんてネットにいくらでも転がってるからそっちみるといいよ。
Antはちと面倒だけどtomcatでアプリをデプロイして見るだけならそんなに難しくない。
参考書籍がその1冊限定なんて変な縛りは無いんでしょ?
自分の今の知識レベルに沿った書籍やwebサイトを探すんだ。
0581 忍法帖【Lv=14,xxxPT】
2011/10/06(木) 08:46:31.93とりあえず今の書籍を読み直すのと、書籍探しもしてみます。
0582デフォルトの名無しさん
2011/10/06(木) 10:49:02.760583デフォルトの名無しさん
2011/10/06(木) 11:42:24.350584デフォルトの名無しさん
2011/10/06(木) 12:01:58.220585デフォルトの名無しさん
2011/10/06(木) 14:40:37.590586デフォルトの名無しさん
2011/10/06(木) 16:22:37.34喧嘩はしてないし、質問内容が不明瞭と言ってる
ほんとに頭悪そうだな
0587デフォルトの名無しさん
2011/10/06(木) 16:32:42.910588デフォルトの名無しさん
2011/10/06(木) 16:38:38.160589デフォルトの名無しさん
2011/10/06(木) 16:39:20.12No
0590デフォルトの名無しさん
2011/10/06(木) 18:31:01.42それともポインタ的なものを操作するだけで終わるとかでデータの大きさは関係ありませんか?
0591デフォルトの名無しさん
2011/10/06(木) 18:42:59.51データの大きさっても引数の数ぐらいだな。
引数で渡されたオブジェクトのフィールド触ったりメソッド呼び出したりも含めて
JNI経由の呼び出しのオーバーヘッドの方がでかい。
0592デフォルトの名無しさん
2011/10/06(木) 19:10:57.15糞でかい配列やりとりしたりするとコピーのオーバヘッドの方が問題になる(場合もある)…と思う。
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じゃなければ、ってことだな。
0593デフォルトの名無しさん
2011/10/06(木) 19:59:11.100594デフォルトの名無しさん
2011/10/06(木) 21:14:27.62この本の次に読んだら良い本ってありますか?
0595デフォルトの名無しさん
2011/10/06(木) 21:37:58.14取り敢えずEffective Javaは読んどけ。
0596デフォルトの名無しさん
2011/10/06(木) 23:59:37.65時代遅れのeffective信者wwww
0597デフォルトの名無しさん
2011/10/07(金) 00:06:53.020598デフォルトの名無しさん
2011/10/07(金) 01:30:29.190599デフォルトの名無しさん
2011/10/07(金) 02:56:33.36Effective XXに便乗しただけの本
0600デフォルトの名無しさん
2011/10/07(金) 03:14:08.60未だにそれを盲目に信じてるから信者といわれ君は影で馬鹿にされている
0601デフォルトの名無しさん
2011/10/07(金) 05:15:05.20とか書いてあったけどそれはJavaのライブラリを作る時の話で
使う人には必要ない話が多かった気がする。
0602デフォルトの名無しさん
2011/10/07(金) 05:21:24.93Java厨は相変わらず見た目だけのアホばっかりだな。
0603デフォルトの名無しさん
2011/10/07(金) 05:23:58.980604デフォルトの名無しさん
2011/10/07(金) 05:31:30.40超初学者向けだし
0605デフォルトの名無しさん
2011/10/07(金) 05:34:49.080606デフォルトの名無しさん
2011/10/07(金) 05:37:09.680607デフォルトの名無しさん
2011/10/07(金) 05:48:19.35Effective javaは…
0608デフォルトの名無しさん
2011/10/07(金) 05:52:16.08あの本はそんな低レベルじゃないわ。
出た当時は意味不明な経験則だった。
0609デフォルトの名無しさん
2011/10/07(金) 06:05:06.250610デフォルトの名無しさん
2011/10/07(金) 06:25:45.850611デフォルトの名無しさん
2011/10/07(金) 06:33:46.19特に実行性能が良いWEBフレームワークをいくつか教えて下さい。
比較記事とかもあったら教えて下さい。
0612デフォルトの名無しさん
2011/10/07(金) 07:58:03.05俺もEffective Javaに一票。
俺の評価が当てになるかはググるなり立ち読みするなりして確かめて。
0613デフォルトの名無しさん
2011/10/07(金) 08:01:32.67評価が高いのはJavaScriptのやつなんで間違えないように。
0614デフォルトの名無しさん
2011/10/07(金) 08:10:54.80Servert + JSP
余計なフレームワークが無いほうが速い
0615デフォルトの名無しさん
2011/10/07(金) 09:07:11.450616デフォルトの名無しさん
2011/10/07(金) 13:29:50.20「ふーん、まあ、そんな考えもあってもいいんじゃない?」
的に思ったくらいにしか記憶がない。
ソフトウェアって動けば正義的な圧力があるからね。
しばらく経験を積んで、オブジェクトを生成するにも
そのままコンストラクタを使うのか、ファクトリメソッドを使うのか、ビルダを使うのが適切なのか
それはどうしてなのか、などを実際に悩むようになると、
その指針・考え方のヒントとして役に立った。
0617デフォルトの名無しさん
2011/10/07(金) 13:33:56.47JSの方も、読むとこそんな多くない
0618デフォルトの名無しさん
2011/10/07(金) 13:38:53.15ツンデレ書評乙
0619デフォルトの名無しさん
2011/10/07(金) 14:39:29.77PHPのEOTみたいなやつ!
0620デフォルトの名無しさん
2011/10/07(金) 15:00:54.480621デフォルトの名無しさん
2011/10/07(金) 16:35:30.33上記の本が分かり易かったので同じ著者の「解きながら学ぶJava入門」のようなタイトルの本が良さげなのですが、
amazonのレビューに解答ソースにバグが多いと書いてあるので心配です
0622デフォルトの名無しさん
2011/10/07(金) 16:35:40.02Stringで纏めればいいだけだろ。
0623デフォルトの名無しさん
2011/10/07(金) 16:36:29.880624デフォルトの名無しさん
2011/10/07(金) 16:38:05.86言語以前の問題だと思うが。
0625デフォルトの名無しさん
2011/10/07(金) 17:08:27.27さえ読めばJavaを制覇できちゃうと勘違いしてるんだろう
0626デフォルトの名無しさん
2011/10/07(金) 17:10:49.810627デフォルトの名無しさん
2011/10/07(金) 17:13:57.33バグが多いのは関係ないですか?
0628デフォルトの名無しさん
2011/10/07(金) 18:34:03.570629デフォルトの名無しさん
2011/10/07(金) 18:57:18.19買ってみます
0630デフォルトの名無しさん
2011/10/07(金) 19:17:44.020631デフォルトの名無しさん
2011/10/07(金) 19:31:28.24プログラマーに委託すっか。
0632デフォルトの名無しさん
2011/10/07(金) 20:38:04.390633デフォルトの名無しさん
2011/10/07(金) 20:43:55.720634デフォルトの名無しさん
2011/10/07(金) 20:46:06.74>学校の課題わからねぇ。わからねぇとこがわからねぇ。そこがまたわからねぇ。
わらた
0635デフォルトの名無しさん
2011/10/07(金) 21:07:16.360636デフォルトの名無しさん
2011/10/07(金) 21:33:23.69そんな憎まれ口叩くもんじゃありません
0637デフォルトの名無しさん
2011/10/07(金) 21:52:33.49待ってるw
0638デフォルトの名無しさん
2011/10/07(金) 21:54:56.87経験則を批判する時点でこの世界の人間じゃないな。
Effective C++はそういうのを理詰めにして説明した本だよ。
0639デフォルトの名無しさん
2011/10/07(金) 22:06:54.350640デフォルトの名無しさん
2011/10/07(金) 22:17:18.210641デフォルトの名無しさん
2011/10/07(金) 22:28:00.78ほとんどは画期的すぎて戸惑ってた部分が多かったよ。
0642デフォルトの名無しさん
2011/10/07(金) 22:37:42.46そう何も意見が言えないよりはマシかと思ってるわ。
0643デフォルトの名無しさん
2011/10/07(金) 22:50:30.810644デフォルトの名無しさん
2011/10/07(金) 23:02:17.78★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/
0645デフォルトの名無しさん
2011/10/07(金) 23:52:56.890646デフォルトの名無しさん
2011/10/08(土) 00:30:12.60POIでいけるでしょと思って生返事したのはいいけど、
いざ調べてみるとExcelは山ほど情報あるけどワードないですね。
3年くらい前に使い物にならないとかいう風にまで酷評してたページ見つけたけど、
今はどんな感じなんだろうか、というか使ったことある人いますか…。
とりあえず、明日起きたらちょっと使ってみようとは思ってます。
休みだけど…。気になる。不安。
0647デフォルトの名無しさん
2011/10/08(土) 00:48:59.100648デフォルトの名無しさん
2011/10/08(土) 00:55:33.500649デフォルトの名無しさん
2011/10/08(土) 01:06:39.25なんか寝つけずにネットで調べてますが、
調べれば調べるほどPOIでWORDはダメっぽいですね…。
代替案を探したほうがいいかなと思い始めてます。
>>648
WORDは客先の希望なんですよねー。
PDFで提案したんだけど(PDFはitext使う予定・というか自分はよくこれ使ってるんで)
「PDFだとこっちで変更できないから変更できるWORDでもほしい」んだとか。
HTMLでもこれは満たせないし、
EXCELじゃダメかなー。
でもEXCELで長文文書というのも(私個人的にはよくやるけど)
さすがに客に出すもんじゃないだろうし。
出来ねーよというしかないような気もだんだんしてますが。
0650デフォルトの名無しさん
2011/10/08(土) 01:10:59.41HTMLなら、Wordで編集できるでしょ?
0651デフォルトの名無しさん
2011/10/08(土) 01:17:21.260652デフォルトの名無しさん
2011/10/08(土) 01:18:47.70HTMLでいったん保存したものをWORDで編集するって話ですか?
うーん。できると言えばできますが・・・。
あの客あんまりパソコンに詳しくないんで、それやらせるの難しい…。
開くだけ言えば開くだけなんですけどね…。
それならまだテキストに出すんで勝手にWORDに張り付けてねの方が通りそうです。
0653デフォルトの名無しさん
2011/10/08(土) 01:24:28.08rtfならitextあるし簡単そうですね。
ただ、客素人なんで納得させるの大変そうです。
650さんのHTML案にあまり積極的になれないのと同じ理由です。
何回か文句言わせながらでも使わせれば案外なれるのかもしれませんが。
OpenOfficeはちょっと使ったことないので判断できませんがちょっと調べてみます。
0654デフォルトの名無しさん
2011/10/08(土) 01:28:02.740655デフォルトの名無しさん
2011/10/08(土) 01:37:38.91まったくもってその通りだと思うのですが、
なにぶん、LinuxサーバーのApacheTomcatで動いてるStrutsウェブアプリへの追加なもので・・・。
さらにちょっと調べてたのですが、rtfファイルってWORD入ってれば、
ダウンロードの際よっぽど変な設定しない限りWORDで開くように設定されるっぽいですね。
ひとまずは、
1、rtf案を第1案にする。
2、HTMLまたはテキストを第2案にする。
3、一応まだ時間はあるのでそれ以外(OpenOfficeとかほかになりかあるかとか)調べる
…でいきたいなと思います。
こんな夜分にアドバイスをくれた皆さん本当にありがとう。
0656デフォルトの名無しさん
2011/10/08(土) 01:39:47.30>>655の修正
ほかになりかあるかとか)調べる→他に何か手がないか)調べる
0657デフォルトの名無しさん
2011/10/08(土) 02:52:42.750658デフォルトの名無しさん
2011/10/08(土) 02:58:17.950659デフォルトの名無しさん
2011/10/08(土) 03:00:42.620660デフォルトの名無しさん
2011/10/08(土) 06:27:41.950661デフォルトの名無しさん
2011/10/08(土) 08:39:24.81いずれはワードもできるようになりますけど今はExcelで
我慢してねっていえば。
ワードで出力するには3億円かかりますよって言えば
納得するでしょ。
0662デフォルトの名無しさん
2011/10/08(土) 09:03:01.210663デフォルトの名無しさん
2011/10/08(土) 09:08:25.950664デフォルトの名無しさん
2011/10/08(土) 09:56:37.13http://www.hcn.zaq.ne.jp/no-ji/jcom/
0665デフォルトの名無しさん
2011/10/08(土) 10:04:04.97http://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
ただ、やったことないからわからない
0666デフォルトの名無しさん
2011/10/08(土) 10:04:54.990667デフォルトの名無しさん
2011/10/08(土) 10:05:57.230668デフォルトの名無しさん
2011/10/08(土) 10:08:58.160669デフォルトの名無しさん
2011/10/08(土) 10:15:00.550670デフォルトの名無しさん
2011/10/08(土) 10:15:02.530671デフォルトの名無しさん
2011/10/08(土) 10:21:54.090672デフォルトの名無しさん
2011/10/08(土) 10:23:27.470673デフォルトの名無しさん
2011/10/08(土) 16:29:59.17これって公式だと1.5.1までしか出てないっぽいのにJava.netとかいうところで1.5.2がリリースされてるんだな
どうちがうんだ?
0674デフォルトの名無しさん
2011/10/08(土) 17:03:26.54やったことないけど、Office2007 以降なら XML として docx 形式 で出力すれば
Word で読めるんじゃないの?
0675デフォルトの名無しさん
2011/10/08(土) 17:14:38.04jOpenDocumentってのもあるみたい
0676デフォルトの名無しさん
2011/10/08(土) 17:27:13.62適当な雛形をWordで出させて、
文字列置換して出力すればそれで事足りるんじゃね?
どうせ自動出力する文書なんて形式が決まりきってるんだから、
必要なところに、「@@TITLE」とか「@@HONBUN」とか、
あらかじめ決めた置換用の文字列入れたのを Word で作っておいて、
それを読み込んで文字列置換で置き換えたものを出力すればいい。
ユーザがテンプレート登録できるようにすれば、出力形式の変更もユーザで対応できるし。
0677デフォルトの名無しさん
2011/10/08(土) 18:13:30.34って書いてあるんですがマジですか?
今までスクリプトレット書いてきてしまったんですがまずいですか?
http://www.ne.jp/asahi/hishidama/home/tech/java/j2ee/servlet.html#コーディングの注意
0678デフォルトの名無しさん
2011/10/08(土) 18:29:27.09スレッドセーフでないスクリプトレットを書けばスレッドセーフでないというだけのことだ
その今まで書いたスクリプトレットがスレッドセーフでないならまずいかもしれんね
0679デフォルトの名無しさん
2011/10/08(土) 18:30:53.10絶対的に知識不足か、致命的にバカか
いずれかだ
0680デフォルトの名無しさん
2011/10/08(土) 18:33:16.25JSP考えたの日本人だって以前きいたな
0681デフォルトの名無しさん
2011/10/08(土) 18:36:35.090682デフォルトの名無しさん
2011/10/08(土) 18:38:36.450683デフォルトの名無しさん
2011/10/08(土) 18:56:48.42誰も使わないよなw
まったく適当なこと書いてくれるぜ
0684デフォルトの名無しさん
2011/10/08(土) 19:00:53.060685デフォルトの名無しさん
2011/10/08(土) 19:09:05.43それで加工してWord形式で保存、とかできないのかな?
余計な問題増やしそうな気もするけど…
0686デフォルトの名無しさん
2011/10/08(土) 19:11:38.480687デフォルトの名無しさん
2011/10/08(土) 19:22:30.63Frameのxボタンが押された時アプリを終了するために
windowClosing内でSystem.exit(0);を呼んでいるのですが
他のFrameにwindowClosingが来ません
それどころかwindowClosedが来ないのでリソースの解放が出来ません。
Javaのバグだと思いますがどうすればこれらが通知されるようになるのでしょうか。
どうしても来ないどんなトリガでリソースを解放すればよいでしょうか。
0688デフォルトの名無しさん
2011/10/08(土) 19:29:23.260689656です。
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行になるかもってのがあると、
直接いじる手は難しいかなと思ってます。
0690デフォルトの名無しさん
2011/10/08(土) 19:32:57.32以下、その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案で押し通してみようかな・・・。
0691デフォルトの名無しさん
2011/10/08(土) 19:36:17.460692690です。何度もすいません。
2011/10/08(土) 19:46:01.02すいません。よくよく見たら行単位じゃなかったです。
多分一定数の文字以上は分けるようになってるんじゃないかと思います。
なんでこの例だと供給の真ん中でぶつ切りされてるのかよくわからないです。
どっちにしろ、相当仕様を研究しないと一部の変更でさえ手に負えません。
>>691
rtfもテキストとかの代案が全部はねられるような
最悪事態にはそれやらざるを得ないかもと思ってますが・・・。
0693デフォルトの名無しさん
2011/10/08(土) 19:48:42.190694デフォルトの名無しさん
2011/10/08(土) 19:49:24.00Excelのがまだマシ
0695デフォルトの名無しさん
2011/10/08(土) 19:55:03.97jOpenDocumentはリッチテキストからOOXMLを吐けるみたいよ。別途商用ライセンスもある
0696デフォルトの名無しさん
2011/10/08(土) 20:02:06.12おお、本当ですか。さっそく試してみます。
ありがとうです。でも商用ライセンスは上司にはねられるかな…。
0697デフォルトの名無しさん
2011/10/08(土) 20:04:59.16時間も節約できる上、お釣りもきます」
0698デフォルトの名無しさん
2011/10/08(土) 20:05:36.770699デフォルトの名無しさん
2011/10/08(土) 21:26:23.46もしもしなのでURL貼れなくてすみません。
このタイトルのページの記述、本当なんでしょうか?
0700デフォルトの名無しさん
2011/10/08(土) 21:32:06.550701デフォルトの名無しさん
2011/10/08(土) 21:34:37.03どこを疑問に思ったか?とその理由位かけよ
0702デフォルトの名無しさん
2011/10/08(土) 21:47:38.640703デフォルトの名無しさん
2011/10/08(土) 21:47:55.970704デフォルトの名無しさん
2011/10/08(土) 21:56:39.32昔 Linux の Sun JVM で vmstat の結果をひたすら取るプログラム書いてプロファイルしていたが
入出力か何かのスレッドが起動するだけだった。AIX (IBM JDK) でもそう。
Mac OS X (Apple JDK) 固有の話じゃねぇのそれ。
0705デフォルトの名無しさん
2011/10/08(土) 22:25:10.65「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)
0706デフォルトの名無しさん
2011/10/08(土) 22:31:52.050707デフォルトの名無しさん
2011/10/08(土) 22:40:34.300708デフォルトの名無しさん
2011/10/09(日) 01:49:41.960709デフォルトの名無しさん
2011/10/09(日) 02:23:29.04Appleの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がそんな動作するのかどうかは知らない。
0710デフォルトの名無しさん
2011/10/09(日) 02:28:37.81http://www.google.co.jp/codesearch#sOyoz7uZYzQ/src/solaris/native/java/lang/UNIXProcess_md.c&q=Java_java_lang_UNIXProcess_forkAndExec&type=cs&l=482
0711デフォルトの名無しさん
2011/10/09(日) 17:47:23.44System.out.println(s == "test");
この実行結果がtrueになります。
"test"のインスタンスが同じということなのでしょうか?
"test"はメモリ上に複数できているのではないのでしょうか。。
0712デフォルトの名無しさん
2011/10/09(日) 18:13:50.52自分が言語の設計者だったらどうするか考える。
0713デフォルトの名無しさん
2011/10/09(日) 18:24:49.00でかい釣り針だな
0714デフォルトの名無しさん
2011/10/09(日) 18:49:39.85そもそもどんな状況のときに、そんなコード書くんだ?
そういうコードを書くなでFA。
0715デフォルトの名無しさん
2011/10/09(日) 18:59:15.02専門学校での定期試験にでました。
まじめな質問です。
0716デフォルトの名無しさん
2011/10/09(日) 18:59:15.380 点
0717デフォルトの名無しさん
2011/10/09(日) 19:13:23.52初心者お断りなのか、なんでもありなのか。
0718デフォルトの名無しさん
2011/10/09(日) 19:17:14.670719デフォルトの名無しさん
2011/10/09(日) 19:19:14.91>>713 >>716 が自分だけのルールや思い込みでスレを荒らしているだけなんで、あまり気にしない方がいい
0720デフォルトの名無しさん
2011/10/09(日) 19:20:46.34学校で生じた疑問を学校で聞かないとか
何のために金払ってるんだ?バカなの?
0721デフォルトの名無しさん
2011/10/09(日) 19:32:26.58商用のWebシステムを構築するのに、言語を何使うべきか検討しています。
何も考えずにJavaでいいとは思うのですが、上司がCだろと言っています。
そこでC/C++よりJavaのほうが良いといえる理由を教えて下さい。
Webシステムといっても画面が一切ないインターフェース的なシステムなため
速度出るCのがよいのではと上司は言っています。
(でも処理速度はそんな気にしなくて良かったり)
・生産性
オブジェクト型、有効なフレームワークの多いjavaのがよい
・難易度
そもそもWebシステムをスクラッチでCでって無理じゃね?
単価
PGの単価はあんまかわらんきがする。
言語べつの平均単価とかのってるサイトないかね
処理速度
コンパイラによるけど、まぁまずCのが早い
バグ
メモリ周りがCじゃ怖い
0722デフォルトの名無しさん
2011/10/09(日) 19:35:55.540723デフォルトの名無しさん
2011/10/09(日) 19:38:32.13まず>>721の首をきる
で代わりに、自ら判断できるエンジニアに一任する
これでおk
0724デフォルトの名無しさん
2011/10/09(日) 19:41:14.39cでやるのが一番良いですよ!
プラットホームはなんですか?
>バグ
>メモリ周りがCじゃ怖い
Web システムは文字列をバンバンあつかわなければならないのに、メモリ管理に気をくばりつつ C でちまちま書いていたのでは、命がいくつあっても足らないような気がします。
スピードを気にしなければならないのなら、C と Java の間をとって、C++ なんかどうですか?
0726デフォルトの名無しさん
2011/10/09(日) 19:42:57.92WindowsならISAPI Extensionがいいよ
0727デフォルトの名無しさん
2011/10/09(日) 19:43:55.19Cでやれ
0728デフォルトの名無しさん
2011/10/09(日) 19:47:57.280729デフォルトの名無しさん
2011/10/09(日) 19:48:23.02http://javafaq.jp/S008.html#S008-01
0730デフォルトの名無しさん
2011/10/09(日) 19:48:56.05Scalaマジおすすめ
0731デフォルトの名無しさん
2011/10/09(日) 19:49:55.79> 何も考えずにJavaでいい
これをそのまま言って欲しい
0732デフォルトの名無しさん
2011/10/09(日) 19:52:26.00プラットフォームはLinux
やっぱCはないよなぁ
0733デフォルトの名無しさん
2011/10/09(日) 19:55:04.930734デフォルトの名無しさん
2011/10/09(日) 19:56:09.550735デフォルトの名無しさん
2011/10/09(日) 20:04:54.29どう考えてもC一択
むしろなぜJavaなのか問い詰めたい
0736デフォルトの名無しさん
2011/10/09(日) 20:06:33.940737デフォルトの名無しさん
2011/10/09(日) 20:16:47.90あとで検討したらいいんじゃないか
0738デフォルトの名無しさん
2011/10/09(日) 20:19:22.99サーバーから作るつもりなのかな?
0739721
2011/10/09(日) 20:22:07.41そもそもCでWebシステムって普通に作れるの?
そっからまったくわからん。
JDBCとマッパーないとDBさわれないです…
>737
Ruby,python,PHPあたりはさすがにちょっと処理遅くなりそうなんで敬遠。
0740デフォルトの名無しさん
2011/10/09(日) 20:23:45.42死ねよ
0741デフォルトの名無しさん
2011/10/09(日) 20:23:56.79上司が全く考えてなさそうな提案したらあっさり通りそうだよね。
0742デフォルトの名無しさん
2011/10/09(日) 20:24:12.740743デフォルトの名無しさん
2011/10/09(日) 20:25:27.14マジレスするとこういうのは作る奴の得意な言語で作るのが一番速くてキレイに作れる。
0744デフォルトの名無しさん
2011/10/09(日) 20:26:15.77>>721
> 処理速度はそんな気にしなくて良かったり
0745デフォルトの名無しさん
2011/10/09(日) 20:27:24.98客から金取るんだろ?
正直お前、商用アプリで開発言語を選定するレベルにないと思うんだけど
上司か先輩にでも決めてもらえよ
0746デフォルトの名無しさん
2011/10/09(日) 20:27:30.74首きってきちんとしたエンジニアに任せれば全て解決
0747デフォルトの名無しさん
2011/10/09(日) 20:28:14.520748デフォルトの名無しさん
2011/10/09(日) 20:28:27.49はい次
0749デフォルトの名無しさん
2011/10/09(日) 20:29:06.94>そもそもCでWebシステムって普通に作れるの?
>そっからまったくわからん。
普通に作れます。あなたが作れるかどうかは分からない。
0750デフォルトの名無しさん
2011/10/09(日) 20:29:22.990751デフォルトの名無しさん
2011/10/09(日) 20:31:51.560752721
2011/10/09(日) 20:36:22.52俺も俺なんかに選定きくなよと思うもん。
こういうアーキテクチャ設計以前のあたりってあんま参考書とかないんだけど
エライ人たちは経験で学んでるもんなんすかね。
0753デフォルトの名無しさん
2011/10/09(日) 20:41:52.41Cでやれ
0754デフォルトの名無しさん
2011/10/09(日) 20:50:31.34マジレスすると、お前が提示した条件だけじゃどの言語がベターなのかなんてわかるわけない
規模とか非機能要件とか人員のスキルとか、考えないといけないことはいろいろあって
その上で最適解を出さないとさ
社内のスキルがある人に決めてもらうか、どうしてもお前が決めなきゃいけないなら
もっと詳細に要件を晒せ
0755デフォルトの名無しさん
2011/10/09(日) 20:50:46.20上司がJobs的な、スーパー独裁者であればC++。ただしBoost.Regexの利用は何があっても認めさせる。
そうでなければJavaでもPerlでもPythonでもRubyでも好きなものを。
どれもダメなら会社に見切りをつけてリクナビに登録
ほかに制約条件が無いのならC/C++にする意味はまったく無い
0756デフォルトの名無しさん
2011/10/09(日) 20:53:50.170757デフォルトの名無しさん
2011/10/09(日) 20:59:48.95せっかくの休みなのに疲れるだろ
0758デフォルトの名無しさん
2011/10/09(日) 21:01:10.60Cでやれ
0759デフォルトの名無しさん
2011/10/09(日) 21:04:03.160760721
2011/10/09(日) 21:04:11.62ずっと出稼ぎで社外にいる要員なもんで。
チンカス呼ばわりされてきたんでこれで終了にしますわ。
まじめに回答してくれた方はありがとうございました。
0761デフォルトの名無しさん
2011/10/09(日) 21:11:58.870762デフォルトの名無しさん
2011/10/09(日) 21:31:39.58どの層で動作させようとしているのか、実際はデーモン的なものじゃないかって思うんだが、まあいいか
0763デフォルトの名無しさん
2011/10/09(日) 21:43:36.290764デフォルトの名無しさん
2011/10/09(日) 21:45:16.560765デフォルトの名無しさん
2011/10/09(日) 22:31:37.68WebアプリともWebサービスともWebサーバとも違うものなの?
0766デフォルトの名無しさん
2011/10/09(日) 22:33:18.71もうプロゴラマやめたい
0767デフォルトの名無しさん
2011/10/09(日) 23:03:18.89どんな点でつまづいてるんだ?
0768デフォルトの名無しさん
2011/10/09(日) 23:05:46.120769デフォルトの名無しさん
2011/10/09(日) 23:11:10.420770デフォルトの名無しさん
2011/10/09(日) 23:13:16.240771デフォルトの名無しさん
2011/10/09(日) 23:14:09.050772デフォルトの名無しさん
2011/10/09(日) 23:16:07.600773デフォルトの名無しさん
2011/10/09(日) 23:24:01.080774デフォルトの名無しさん
2011/10/09(日) 23:55:50.78jQueryのreplaceWithで要素ごと置き換えたり、page属性の値だけ変えようかと思ったんだけど、
JavaScriptはコンパイル後のHTMLに対して作用するものだから無理?かなと。
良い方法を教えてください。
0775デフォルトの名無しさん
2011/10/10(月) 00:03:57.22そのJSPファイル部分だけを返すURLを用意→ボタンクリック時にAjaxで呼び出し→innerHtmlでそっくり入れ替える
で出来る。
0776デフォルトの名無しさん
2011/10/10(月) 00:04:19.470777デフォルトの名無しさん
2011/10/10(月) 00:43:28.880779デフォルトの名無しさん
2011/10/10(月) 09:30:41.57既存の保守とか多いからstrutsは永遠に現役そうだけど、そろそろ新規の案件くらい脱strutsしといたがいいとも思う時はある。
sastrutsかspring辺りなんだろうか、今だと。sastrutsなら仕事で使い特に問題なかったから自分は当分こっちにしようかと。
playに興味はあるけど仕事で使うのは怖いなあ。
struts2?あんなものはなかったと言うことで。
0780デフォルトの名無しさん
2011/10/10(月) 09:34:40.18今仕事の案件でstruts2やらされそうになってるんだよ
なんとか説得してくれよ
0781デフォルトの名無しさん
2011/10/10(月) 09:40:09.030782デフォルトの名無しさん
2011/10/10(月) 09:44:08.90使える技術者いないから後のメンテ大変よ?じゃダメかな?
>>781
ヤバイと言うより情報が無さすぎて黙殺されてると言った方が近い。
後、余りにもstrutsと違いすぎるのにstrutsの名を冠したことで余計に反発を食らった感もある。
0783デフォルトの名無しさん
2011/10/10(月) 09:51:24.680784デフォルトの名無しさん
2011/10/10(月) 09:53:10.86むしろspringが標準だとどこかの雑誌で見た気がする。
本当かどうかはわからないけど。
0785デフォルトの名無しさん
2011/10/10(月) 10:17:09.26組み合わせて使ってもいいし。
0786デフォルトの名無しさん
2011/10/10(月) 10:19:05.74Cでやれ
0787デフォルトの名無しさん
2011/10/10(月) 10:25:07.250788デフォルトの名無しさん
2011/10/10(月) 10:25:57.39組み合わせはそりゃ出来るけどspring使うなら普通はspringMVC使うんじゃない?
わざわざ他のフレームワークと組み合わせるってあんまり聞かない。
まあ、自分は使ったことすらないけどさ。
0789デフォルトの名無しさん
2011/10/10(月) 10:35:33.70flag = ** ; }} )
として、内部クラスでアクションイベントを実装しています。
これは、ボタンにより、hogeの値が1から3まで変わります。
hogeはJFrame(メインウィンドウ)の変数ですが、コンパイルするとfinalで宣言してくださいとかいわれます。
finalで宣言すると、hogeの値は内部クラスの中で変えてはいけないのですか?
0790789
2011/10/10(月) 10:36:37.940791デフォルトの名無しさん
2011/10/10(月) 11:02:48.82変えてはいけないかどうかという回答はYES。
なぜか、というのはこれかな…?
http://javafaq.jp/S016.html#S016-14
自分が作成したJFrame継承クラス自身でActionListenerをimplementsすれば良いと思うよ。
0792デフォルトの名無しさん
2011/10/10(月) 11:35:18.68public 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;
}
});
}
}
0793789
2011/10/10(月) 12:18:04.38どうもありがとうございます。自分自身にActionListenerをimplementすれば
確かにできますね。ありがとうございます。なぜ変えてはいけないとか理由とかしらなかったので
そのサイトを良く見てみます。他にも色々と書いてあってためになりそうですので
他の部分も見てみます。どうもありがとうございました。
>>792
インスタンス変数にすればいいんですね(´・ω・`)
そっちの方がやり方としては単純といえば単純ですね。理由は、>>791さんが
載せてくださった、Webサイトに書いてありそうです。
長い、文章を書いて丁寧に教えてくださって、ありがとうございます。手っ取り早いのでインスタンス変数にしておきます(;^_^
お二方どうもありがとうございました。やり方は、色々あるんですね。とても勉強になりました。
0794デフォルトの名無しさん
2011/10/10(月) 12:19:26.830795デフォルトの名無しさん
2011/10/10(月) 12:55:33.70あれば便利と思うなら作る。
File.separatorとか無いと不便だろ?
0796デフォルトの名無しさん
2011/10/10(月) 15:04:49.63やさしいjavaは読み終えた。テンプレ通り次は独習javaかコアjavaに手を出してみようと考えてるんだけど、
この二冊を読むにはまだ早いかな?
0797デフォルトの名無しさん
2011/10/10(月) 15:08:40.38何を読むか(あるいは読まずに作り始めるか)は、
作ろうとして何が分からないかで決めればいいんじゃね?
0798デフォルトの名無しさん
2011/10/10(月) 15:10:26.38入門書一冊読んだらあとはリファレンスを見ながら
どんどんプログラムを作っていくのがいいのだけど、
別に読書が好きなら適当にどんな本でもどんどん
読んでいればいいと思うよ。
0799デフォルトの名無しさん
2011/10/10(月) 15:11:08.560800デフォルトの名無しさん
2011/10/10(月) 15:19:42.120801デフォルトの名無しさん
2011/10/10(月) 15:23:43.06うーん。やっぱり組みたいもの組むのが一番じゃない?
経験が一番の早道。
まあ、優しいJavaを読んだだけでいきなり銀行の仕事に放りこまれた俺に比べたらまだ自由効くでしょ。
0802デフォルトの名無しさん
2011/10/10(月) 15:36:37.18興味の赴くままに走ればよいのではないのか
0803デフォルトの名無しさん
2011/10/10(月) 16:08:21.36また、フォントを任意の座標、角度でできますでしょうか?
詳しいサイトがありましたら教えてください。
0804デフォルトの名無しさん
2011/10/10(月) 16:10:34.92本に基本データ型を引数に渡すことを値渡し、
参照型を渡すことを参照渡しって書いてあるのですが。
0805デフォルトの名無しさん
2011/10/10(月) 16:18:54.550806デフォルトの名無しさん
2011/10/10(月) 16:21:40.41呼ばない。
0807デフォルトの名無しさん
2011/10/10(月) 16:46:02.35>独習java
悪書です。やめておいたほうがいい。
独習C++のハーバード・シルト先生ではありません。
OOのポイントである abstract/interface については本質に迫っていない、というか著者自身がわかっていない。
0809デフォルトの名無しさん
2011/10/10(月) 17:24:27.930810デフォルトの名無しさん
2011/10/10(月) 19:05:10.16http://www.javadrive.jp/tutorial/nulllayout/index1.html
http://oshiete.goo.ne.jp/qa/875138.html
0812デフォルトの名無しさん
2011/10/11(火) 01:44:37.78不便すぎる
0813デフォルトの名無しさん
2011/10/11(火) 02:26:03.48馬の骨よりも、Amazonの評価のほうを信じます。
0814デフォルトの名無しさん
2011/10/11(火) 02:31:22.14Java信者の妄想。珍説
0815デフォルトの名無しさん
2011/10/11(火) 02:39:28.24OOを深く理解してる人は、interfceとabstractの説明がまともなのは事実でしょ
0816デフォルトの名無しさん
2011/10/11(火) 02:39:54.07言いたいことがあるならちゃんと自分の意見を言えって。
0817デフォルトの名無しさん
2011/10/11(火) 02:41:05.360818デフォルトの名無しさん
2011/10/11(火) 02:41:25.690819デフォルトの名無しさん
2011/10/11(火) 02:41:42.070821デフォルトの名無しさん
2011/10/11(火) 03:21:57.38その amazon の評価者とやらも、やはりどこの馬の骨かわからないものなんですけれども。
>>814
ほう。
確かにオブジェクトオリエンティドの概念群は様々な概念の複合であることは認めますが、
しかし、C++ の virtual キーワード(仮想関数)と同等の abstract/interface を十分に説明できないのでは、これは欠陥と言わざるを得ないではないでしょうか?
GoF のデザインパターンから virtual を抜いたらなにが残るというのでしょうか?
0823デフォルトの名無しさん
2011/10/11(火) 05:59:21.110824デフォルトの名無しさん
2011/10/11(火) 07:55:52.04その程度じゃ無理
0825デフォルトの名無しさん
2011/10/11(火) 07:58:11.94どうデバッグしたらいいとおもう?
0826デフォルトの名無しさん
2011/10/11(火) 08:04:43.95「その程度じゃ」何が「無理」なんでしょうか?日本語でどうぞ。
0827デフォルトの名無しさん
2011/10/11(火) 08:05:12.202. 1.が動いたら、現状のプログラムを順番に機能を削りながら、
動作するまでデプロイして動作確認を繰り返す。
0828デフォルトの名無しさん
2011/10/11(火) 08:17:42.12馬の骨乙
0829デフォルトの名無しさん
2011/10/11(火) 08:21:22.24OOを知らないのならば、そういってくださればいいのに。
0830デフォルトの名無しさん
2011/10/11(火) 08:38:47.19・簡単なアプレットは動く
・アプレットの領域が灰色で、たぶんファイルは見つかってる(ファイル名を変えると真っ白に×印になる)
・機能を削るのが難しい
JVMは、たぶん何かしらエラーを吐いてるはずだけど
それを見る方法はないの?
0831デフォルトの名無しさん
2011/10/11(火) 08:46:03.64abstract/interfaceについてあなたの方が勘違いしてるんじゃないですか?
0832デフォルトの名無しさん
2011/10/11(火) 08:48:47.77>それを見る方法はないの?
ブラウザのJavaコンソールに出るはずだけど・・・
0833デフォルトの名無しさん
2011/10/11(火) 08:54:50.95http://localhost/が作ったcookieをJWSのアプリから読み取れる?
0834デフォルトの名無しさん
2011/10/11(火) 09:32:09.82firefox7.0.1ではJavaが動かない
chromeにJavaコンソールは無い
IE8でJavaコンソール起動しようとすると100%落ちる
0835デフォルトの名無しさん
2011/10/11(火) 09:56:06.07環境が特定されてない質問に一般論で答えた回答にそんなこと言われても・・・。
0836デフォルトの名無しさん
2011/10/11(火) 10:01:41.95実行時に表示させるようにできるよ
Java側でコンソール出すから
firefoxでもChromeでもIEでもブラウザ関係無く見れるよ
0837デフォルトの名無しさん
2011/10/11(火) 10:15:54.39コンパネ>Java>詳細>表示する>OK
なにか適当なアプレットのサンプルページを開く
うんともすんともいわない
0838デフォルトの名無しさん
2011/10/11(火) 10:47:02.06javaのバージョンを最新にしろ
0839825
2011/10/11(火) 13:52:47.400840デフォルトの名無しさん
2011/10/11(火) 14:01:57.99文字を画像化し、その画像のpixel毎の情報を得る方法を教えてください。
(使えるメソッド名だけでも教えていただけると助かります)
すでに用意されたString[](各要素は1文字)について、
1. String[]の要素ごとに、四角形の画像上に表示(四角形の画像は文字がちょうど収まる大きさにする)
2. 1.で得た四角形の画像の各pixelのRGB情報を取得
をしたいです。
・プログラム中で画像を表示させる必要はありません
・フォントは自分で決めますが、明示する必要があります
・実行速度速度は重視しません
はじめGraphics2Dクラスを使って1.は実装しましたが、2.に該当するメソッドがなく立ち止まっています。
0841デフォルトの名無しさん
2011/10/11(火) 14:24:20.11getGraphics()のGraphicsオブジェクトに対して描画
あとはgetRGB(int x, int y)でintの色が取れる
0843デフォルトの名無しさん
2011/10/11(火) 16:07:08.21ちょっと複雑で組むのに30分くらいかかる問題出してくれ。
暇すぎる。
0844デフォルトの名無しさん
2011/10/11(火) 16:20:15.850845デフォルトの名無しさん
2011/10/11(火) 16:20:45.930846デフォルトの名無しさん
2011/10/11(火) 16:43:45.54まさかできないなんてことはないよな
0847デフォルトの名無しさん
2011/10/11(火) 16:43:56.86宿題スレにでも行ってこい
0848デフォルトの名無しさん
2011/10/11(火) 16:46:58.36http://code.google.com/codejam/japan
0849デフォルトの名無しさん
2011/10/11(火) 18:26:56.09リストの並びを初期の状態に戻すようなメソッドってありますか?
0850デフォルトの名無しさん
2011/10/11(火) 19:04:24.050851デフォルトの名無しさん
2011/10/11(火) 19:12:20.29初期状態を別に置いておけばいいだけなので簡単に自作できると思うけど。
0852デフォルトの名無しさん
2011/10/11(火) 19:21:46.60ないですか、どうもです。
自作してみます。
0853デフォルトの名無しさん
2011/10/11(火) 19:22:42.100854デフォルトの名無しさん
2011/10/11(火) 19:34:27.18使うまでもないっていうのはあるかもしれないけど
0855デフォルトの名無しさん
2011/10/11(火) 20:25:32.88つappletviewer
0856デフォルトの名無しさん
2011/10/11(火) 20:29:07.62アプレットとサーブレットの連携なら可
0857デフォルトの名無しさん
2011/10/11(火) 21:03:45.40ない
0858デフォルトの名無しさん
2011/10/11(火) 21:23:32.92リストの要素がimmutableなら簡単に実装できるね。
使うまでもない、というのはその通り。
0859デフォルトの名無しさん
2011/10/11(火) 21:26:07.54Javaじゃ無理だっつてんだろ
クラス図見直してこい
0860デフォルトの名無しさん
2011/10/11(火) 21:29:09.42皆さんそんなにアプレット好きなのか……?
0861デフォルトの名無しさん
2011/10/11(火) 21:30:42.10ん?kwsk
0863デフォルトの名無しさん
2011/10/11(火) 22:00:24.88宿題スレとか見てると、学校の課題でよくあるみたいね、アプレット
0864デフォルトの名無しさん
2011/10/12(水) 05:29:16.630865デフォルトの名無しさん
2011/10/12(水) 07:28:33.400866デフォルトの名無しさん
2011/10/12(水) 09:35:08.960867デフォルトの名無しさん
2011/10/12(水) 10:54:48.62調べる方法ある?
0868デフォルトの名無しさん
2011/10/12(水) 11:12:32.51実行してるJVMと、jpsコマンドでわかる起動引数から導出できるかと。
0869デフォルトの名無しさん
2011/10/12(水) 16:42:27.21UTF16ならBOMありならBEでもLEでも読めるのに。
0870デフォルトの名無しさん
2011/10/12(水) 20:08:04.69使ったことないが
Commons IO の BOMInputStream
0871デフォルトの名無しさん
2011/10/12(水) 22:17:00.44ググってみると経緯が分かると思う。
0872デフォルトの名無しさん
2011/10/12(水) 22:26:11.71何だよBOMInputStreamって。
BOMってのは、バイト列と「文字のシーケンス」との
変換する際に発生するもの。
クラス名からして設計ミスだ。
一日たったのですが、ちゃんと説明できないようですね。煽り文句だけ上達しても仕方がないと思いますよ。
で、どう勘違いしているというのです?
結論:独習Java は買ってはいけない糞本。
0874デフォルトの名無しさん
2011/10/12(水) 22:50:53.39Javaのabstractに対応するC++の書き方は「=delete」
0875デフォルトの名無しさん
2011/10/13(木) 00:07:59.64糞の相手をするな
0876デフォルトの名無しさん
2011/10/13(木) 00:16:05.51遅レスですが、ありがとうございます。すでに文字列にしてしまった場合の対処法はないのでしょうか?
BOMInputStreamはBOMなしのテキスト(UTF8,Shift-JIS)を読んだ場合も完全互換なのでしょうか。
たしかに java での abstract に一対一に対応するものは c++ にはなく、java->c++ の過程で abstract は消えてしまいますが‥‥。
>>875
説得力のある内容を記述できないので糞呼ばわりしているのですね。脳細胞を使う練習、頑張ってください。
0878デフォルトの名無しさん
2011/10/13(木) 00:44:44.71脳細胞を持った糞w
なんかコワイw
0879ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG.
2011/10/13(木) 03:30:38.090880デフォルトの名無しさん
2011/10/13(木) 17:26:30.130881デフォルトの名無しさん
2011/10/14(金) 00:26:24.44Ubuntu10.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);
とするのかと思いましたがダメでした。
英語がわからないので根本的に間違えているかもしれませんが、どなたかわかりませんか?
0882デフォルトの名無しさん
2011/10/14(金) 00:27:40.40見えなくするだけならsetVisible
ボタンの文字を変えるならsetLabel
0883デフォルトの名無しさん
2011/10/14(金) 02:06:37.43文字コードを揃えたりもしてみたんですが・・・。
if(s.equals(a)) あるいは if(s.indexOf(a))
String s = サーバーから拾ってきた文字列データ
sをtxtに保存
String a = 同じくサーバーから拾ってきた全く同じ文字列データ
0884デフォルトの名無しさん
2011/10/14(金) 02:07:34.890885883
2011/10/14(金) 02:18:48.38改行を拾っていたせいでした。
0886デフォルトの名無しさん
2011/10/14(金) 15:53:10.40new Thread(this);
みたいに書くのは無理?
スタティックロードで自分自身を実行するスレッド、という感じ
ちょっとやってみたらJVMが例外出して落ちるんだけど
0887デフォルトの名無しさん
2011/10/14(金) 16:20:42.500888886
2011/10/14(金) 16:44:55.65そのせいでJVMが落ちてたのかも
とりあえず別の方法でも良かったからやめた
0889デフォルトの名無しさん
2011/10/14(金) 16:55:04.52インスタンス生成する前にthisは参照できないのでコンパイルエラーではじかれる。
0890886
2011/10/14(金) 16:56:28.23ごめん、正確にはシングルトンのクラスで
private Class instance = new Class();
のinstanceを参照してる。
0891デフォルトの名無しさん
2011/10/14(金) 17:04:00.18Threadインスタンス使いまわすような状況になっちゃってるように思えるけど…?
0892デフォルトの名無しさん
2011/10/14(金) 17:12:08.41正しく文字コード判定する方法ってありますか?
chardet, juniversalchardet
どちらも失敗したのですが実装がまずかったのかもしれません。
0893デフォルトの名無しさん
2011/10/14(金) 17:49:54.16それはともかく、高々2バイトでそんな汎用的な文字コード判定は無理じゃない?
0894デフォルトの名無しさん
2011/10/14(金) 18:26:36.870895デフォルトの名無しさん
2011/10/14(金) 18:36:27.86教科書的に答えるなら、 setter に仕込めばいいんじゃね?
0896デフォルトの名無しさん
2011/10/14(金) 18:41:59.330897デフォルトの名無しさん
2011/10/14(金) 19:04:08.73Javaで書かれたCobraという名前のHTML toolkit(パーサーとレンダラーでHTML4.01に対応している)にHTML5のvideoタグとaudioタグを対応させたいのですが、どなたか分かりませんか?
HTML5の仕様書?(w3cのホームページにあるもの)と睨めっこしながら、パーサー部分やレンダラー部分と格闘しているのですが、ただインタフェースを追加してもコードが正しいのか間違っているのかも分かりません。
0898デフォルトの名無しさん
2011/10/14(金) 19:07:31.33オブなんちゃらパターン
0899デフォルトの名無しさん
2011/10/14(金) 19:21:02.640900デフォルトの名無しさん
2011/10/14(金) 19:55:52.960901デフォルトの名無しさん
2011/10/14(金) 20:28:58.852.Object obj = new Class2();
3.Object obj = new Class3();
3つのうちのどれか一つのobjがよそのクラスから渡されてきた時、
この中身の型を取得するうまい方法はないもんでしょうか。
instanceofで場合分けする以外ないんですかね。
0902デフォルトの名無しさん
2011/10/14(金) 20:47:55.35obj.getClass().getName();
0903デフォルトの名無しさん
2011/10/14(金) 20:52:18.35obj.getClass().getName()とか。
0904デフォルトの名無しさん
2011/10/14(金) 21:16:53.71対象の型が final じゃないと、その処理を使う処理の方で、
継承クラスを作ったりし始めると対応できないんじゃね?
0905デフォルトの名無しさん
2011/10/14(金) 21:39:59.110906デフォルトの名無しさん
2011/10/14(金) 22:28:22.64つまり、クラス名を決めうちしてしまうと、
継承クラスを渡されたとき、処理が変わってしまうんじゃないのかと言う話。
それでいい場合もあるだろうけど、ダメな場合もあるんじゃないかと。
0907デフォルトの名無しさん
2011/10/14(金) 23:57:38.710908デフォルトの名無しさん
2011/10/15(土) 00:30:44.090909デフォルトの名無しさん
2011/10/15(土) 00:59:13.77という定義を見たのですが、これってどういう意味なんでしょうか。
ぱっと見では、Foo<E> が Foo<E> を継承しているように見えますが、
継承関係が再帰的になってしまい、おかしいように思えます。
だれか解説してください。
0910デフォルトの名無しさん
2011/10/15(土) 01:18:12.050911デフォルトの名無しさん
2011/10/15(土) 02:06:04.920912デフォルトの名無しさん
2011/10/15(土) 03:29:14.560913デフォルトの名無しさん
2011/10/15(土) 03:38:29.18その言い方で書くと、Foo<E>を継承してるのはE。
interfaceじゃないけど、Enumなんかまさにそれ。
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Enum.html
0914デフォルトの名無しさん
2011/10/15(土) 11:51:00.92<tag>content</tag>
のcontentを全部抜き出してリストとかで受け取りたいんですが
何か良い方法ありますか?
0915デフォルトの名無しさん
2011/10/15(土) 11:55:14.43こういうんじゃダメ?
1.XML パーサの例外をつかまえて、足りないエレメントを補完したテキストを作りそれをパーサに食わせる
2.パーサの解析結果から補完した分を飛ばして必要な要素を取り出す。
0916デフォルトの名無しさん
2011/10/15(土) 11:58:20.87>ルートエレメントとかが無くても、・・・
そんなのXMLとは言わない。
XMLパーサに頼らず自分で解析しな。
0917914
2011/10/15(土) 12:20:09.992.特殊タグが複数続いてたら1つに変換
3.特殊タグを区切り文字にして配列化
でやろうとしたんだけど2番がうまくいかない
誰か正規表現教えて
0918デフォルトの名無しさん
2011/10/15(土) 12:27:06.860919914
2011/10/15(土) 12:29:48.860920デフォルトの名無しさん
2011/10/15(土) 13:27:59.090921デフォルトの名無しさん
2011/10/15(土) 19:33:43.880922デフォルトの名無しさん
2011/10/15(土) 21:41:07.35現代の文明ではむり
0923デフォルトの名無しさん
2011/10/15(土) 22:26:52.69何も問題ないから、そのまま勧め
0924デフォルトの名無しさん
2011/10/15(土) 22:36:17.490925デフォルトの名無しさん
2011/10/15(土) 22:38:26.880926デフォルトの名無しさん
2011/10/15(土) 22:45:26.97http://hibari.2ch.net/test/read.cgi/tech/1187922645/
0927921
2011/10/15(土) 23:25:43.06そうですか、もう少し頑張ってみます
>>923
ありがとうございます、頑張ります
>>924
私のフリしないでください
>>926
誘導ありがとうございます
0928デフォルトの名無しさん
2011/10/16(日) 00:35:51.170929デフォルトの名無しさん
2011/10/16(日) 00:39:19.920930デフォルトの名無しさん
2011/10/16(日) 01:04:34.96一人で小規模開発するならあんまりわからんかも知れない。
複数人で開発するとか一人でも大規模な開発すると多少ありがたみがわかってくる。
あと大規模なやつだとそのソースコード見るとああこういう風に使うんだなってのがわかる。
自分の場合は仕様自体は何となく理解してても、
プログラマになってからその辺のありがたみをわかるのには3年かかった。
0931デフォルトの名無しさん
2011/10/16(日) 02:10:05.64もう見てないかな?根本的に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してもいいです。
0932デフォルトの名無しさん
2011/10/16(日) 03:24:22.480933デフォルトの名無しさん
2011/10/16(日) 04:13:56.29必要性とかいうと、必要ないようなきもする。
if文による場合分け、分岐をポリモーフィズムでなくすことができる(おれもやってみたい!とおもう)
ポリモーフィズムを実現するために、抽象クラスを継承して、いろんなクラスを用意する。
0934デフォルトの名無しさん
2011/10/16(日) 04:28:00.17「ポリモーフィズムは多態性と訳されますが、動的結合(実行時に使用するオブジェクトを決定する)によって、
switch文やelse if文を排除することができます(中略)
外に追い出したとしても、どこかでついて回ってきます」
オブジェクト指向
http://www.happiese.com/system/objectorient.html
0935デフォルトの名無しさん
2011/10/16(日) 09:59:32.24テスト済みのコードを書き換えて追加するのはウザイって話じゃね?
0936デフォルトの名無しさん
2011/10/16(日) 10:08:01.220937デフォルトの名無しさん
2011/10/16(日) 11:52:21.550938デフォルトの名無しさん
2011/10/16(日) 12:29:53.81あんま関係無いだろ、C++は
0939デフォルトの名無しさん
2011/10/16(日) 14:03:22.46手続き型プログラミングとオブジェクト指向プログラミングの決定的な違い
0940デフォルトの名無しさん
2011/10/16(日) 14:13:32.05javascriptも知っていればすぐ分かるが本質的にクラスは関係ない
0941デフォルトの名無しさん
2011/10/16(日) 15:12:21.360942デフォルトの名無しさん
2011/10/16(日) 15:40:05.490943デフォルトの名無しさん
2011/10/16(日) 17:58:49.900944デフォルトの名無しさん
2011/10/16(日) 19:14:28.56抽象化による依存性の逆転とか初耳なんだが
もう少しkwsk
0945デフォルトの名無しさん
2011/10/16(日) 19:27:21.920946デフォルトの名無しさん
2011/10/16(日) 19:29:53.600947デフォルトの名無しさん
2011/10/16(日) 19:31:05.010948デフォルトの名無しさん
2011/10/16(日) 19:46:40.43Javaアプリの外にフォーカスがある場合は無理
0949デフォルトの名無しさん
2011/10/16(日) 19:50:54.96アセンブラ言語マンセーです
0950デフォルトの名無しさん
2011/10/16(日) 19:56:45.82ロジックAからロジックBを呼び出すとき、A->Bという依存性があるが
Bを抽象化すると、{ A-> (抽象B) } <- (具象B) というように依存の向きが逆転する。
なお、(抽象B)はAに属するオマケとして配置することに注意。
Javaの標準ライブラリにおけるList<-ArrayListなどの関係は、
Listを使うクライアントが未知のために、
エロイ人がその知識と経験からエイヤと決めた妥協の産物。
本来は、使うクライアントがあってこそ、抽象化の範囲を適切に決められる。
>>946
この世の全てのものは互いに本質的に関係ないのです
0952デフォルトの名無しさん
2011/10/16(日) 20:37:21.430953デフォルトの名無しさん
2011/10/16(日) 20:43:25.130954デフォルトの名無しさん
2011/10/16(日) 20:53:57.920955デフォルトの名無しさん
2011/10/16(日) 20:54:45.49あれは、ブロック内の処理を実行中に
別のスレッドがそのブロックの処理を実行した場合、
後から来たスレッドを待機させる処理、という理解で良いのでしょうか。
だとすると、パラメータとして引き渡しているインスタンスは
何の役割を果たしているのでしょうか。
0956デフォルトの名無しさん
2011/10/16(日) 21:11:06.460957デフォルトの名無しさん
2011/10/16(日) 21:47:36.13synchronizedブロックは、
ブロック内の処理を実行中、渡されたインスタンスをロックする処理、なのでしょうか。
他のスレッドの処理が待機するのは、
同一synchronizedブロックに入ったときではなく、
パラメータとして引き渡されたインスタンスへアクセスを試みたとき、
となるのでしょうか。
0958デフォルトの名無しさん
2011/10/16(日) 21:52:19.040959デフォルトの名無しさん
2011/10/16(日) 21:54:17.99同一のキーを使用して複数のスレッドが同時にロックを取得することはできないので、
他のスレッドはsynchronizedの入り口で待たされるわけです
0960デフォルトの名無しさん
2011/10/16(日) 21:57:30.79そのオブジェクトがどんな実装を行っているものかは関係なく、
単なるマーカー的なもの。
だから、一貫して使っていれば、どこの馬の骨ともわからぬオブジェクトを使ってよい。
なお、synchronizedでガードする必要があるのは、処理ではなくデータ。
基本的には、ガードしたいオブジェクトへの全てのアクセスに対し、
同じオブジェクトでガードしていることが必要
(ピギーバッキングで微妙なこともできるかもしれないけど)
0961デフォルトの名無しさん
2011/10/16(日) 21:57:42.520962デフォルトの名無しさん
2011/10/16(日) 22:03:24.980963デフォルトの名無しさん
2011/10/16(日) 22:11:19.90そのオブジェクトへのアクセスをロックってあんまりしないよね
だいたい一連の処理を分割させないために適当に一つ選んでロックに使う
0964デフォルトの名無しさん
2011/10/16(日) 22:19:57.70そのインスタンスのpublicメソッドに
synchronizedつけとけって話になるからな
0965デフォルトの名無しさん
2011/10/16(日) 22:34:25.22synchronized処理に渡されたインスタンスは、
そのブロックが抜けるまでキーとして保持される。
synchronized処理に渡されたインスタンスがすでにキーとして存在する場合、
そのスレッドはキーが開放されるまで待機する。
ゆえに、全く別の場所で実行されたsynchronizedでも、
渡されたインスタンスが同一ならば後発側が待機させられ、
同じ場所で実行されたsynchronizedでも、
渡されたインスタンスが違うならば並行して動作する、ということでしょうか。
馬鹿だから無理です、って言ったら明日からPowerd by 無職ですので。
多少は無理せねばならんのがつらいところです。
0966デフォルトの名無しさん
2011/10/16(日) 22:38:19.25インスタンスメソッドでsynchronizedが付いてるのとか良く見るな
0967デフォルトの名無しさん
2011/10/16(日) 22:41:38.04お前には無理
0968デフォルトの名無しさん
2011/10/16(日) 22:42:02.81どうせ使うときに外からロックすることになるから大して意味ないけど
0969デフォルトの名無しさん
2011/10/16(日) 22:57:41.67Javaではできないじゃん?
どうすりゃいいの?
0970デフォルトの名無しさん
2011/10/16(日) 23:06:23.93↓これはコンパイル通るけど、こういうのじゃダメなの?
List<List> list = new ArrayList<List>();
list.add( new ArrayList<String>() );
0971デフォルトの名無しさん
2011/10/16(日) 23:09:14.050972デフォルトの名無しさん
2011/10/16(日) 23:21:38.46うまくいかないと判断したコードを http://ideone.com/ に貼れば答えがでてくるかも
0974デフォルトの名無しさん
2011/10/16(日) 23:29:42.400975デフォルトの名無しさん
2011/10/16(日) 23:33:36.270976デフォルトの名無しさん
2011/10/17(月) 13:42:39.59例えばsampleクラスのオブジェクトを作成する際に
Sample args[0] = new Sample();
という形で作成したいんですが…
0977デフォルトの名無しさん
2011/10/17(月) 15:00:21.540978デフォルトの名無しさん
2011/10/17(月) 15:26:24.11一番近いのはMap<String, Sample>か?
0979デフォルトの名無しさん
2011/10/17(月) 17:07:08.150980デフォルトの名無しさん
2011/10/17(月) 17:55:34.740981デフォルトの名無しさん
2011/10/17(月) 18:54:52.03Sample sample = new Sample();
ってやったときの、 sample って文字列がバイトコードに残ってるかって話。
0982デフォルトの名無しさん
2011/10/17(月) 19:07:52.170983デフォルトの名無しさん
2011/10/17(月) 19:11:50.65ということでデバッグ付きコンパイルでは残っているに一票。
リフレクションとかで引っ張ってこれるわけじゃないんでデバッグなしだと消えるんじゃ?
0984デフォルトの名無しさん
2011/10/17(月) 19:46:24.300985デフォルトの名無しさん
2011/10/17(月) 19:48:49.470986デフォルトの名無しさん
2011/10/17(月) 21:02:55.270987デフォルトの名無しさん
2011/10/17(月) 22:21:35.18javapでggr
0988デフォルトの名無しさん
2011/10/17(月) 22:40:33.860989デフォルトの名無しさん
2011/10/18(火) 00:59:42.03例えばEclipseで作ったclassと、単純にjavac叩いてできたclassをjadにでも突っ込んでみるといい。
0990デフォルトの名無しさん
2011/10/18(火) 03:15:07.380991デフォルトの名無しさん
2011/10/18(火) 03:20:02.690992デフォルトの名無しさん
2011/10/18(火) 03:38:17.36そしてJVMの帳が下りる頃、Dukeは心地よい眠りに就くのだ。
0993デフォルトの名無しさん
2011/10/18(火) 05:52:05.57そもそもデバッグなしコンパイルをやったことがありません。
0994デフォルトの名無しさん
2011/10/18(火) 06:38:15.13ローカル変数名はコンパイルするとスロット番号による管理に置き換わる。
フィールド変数名はコンパイルするとコンスタントプールへの
インデックス値による管理に置き換わる。
実行時のリフレクションで名前アクセスできるのはフィールド値だけ。
これで答えになったかな
0995デフォルトの名無しさん
2011/10/18(火) 09:01:07.370996デフォルトの名無しさん
2011/10/18(火) 12:36:33.060997デフォルトの名無しさん
2011/10/18(火) 12:39:09.400998デフォルトの名無しさん
2011/10/18(火) 12:39:24.370999デフォルトの名無しさん
2011/10/18(火) 12:39:54.931000デフォルトの名無しさん
2011/10/18(火) 12:40:09.3710011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。