5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2011/08/10(水) 15:38:59.00
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

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

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

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

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

2 :デフォルトの名無しさん:2011/08/10(水) 15:39:39.78
**** 関連スレッド案内 ****
■ 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 落ち
http://hibari.2ch.net/test/read.cgi/tech/1297616354/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 70 ★★ ※ dat 落ち
http://hibari.2ch.net/test/read.cgi/tech/1300067785/

3 :デフォルトの名無しさん:2011/08/10(水) 15:40:20.63
■ NetBeansに関する雑談は --
NetBeans Part6
http://hibari.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
clipse統合M30【Java/C++/Ruby/Python/Perl】 ←検索にかからなかったので下のスレが立て直したスレッド
http://hibari.2ch.net/test/read.cgi/tech/1280027133/
Eclipse統合M31【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1295886572/


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

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


4 :デフォルトの名無しさん:2011/08/10(水) 17:16:57.81
JavaというかEclipseなのですが、実行⇒サーバーで実行

で急にエラーが出るようになりました。

\Servers\ローカル・ホスト の Tomcat v6.0 サーバー-config の Tomcat サーバー構成が欠落しています。

というエラーメッセージなのですが、全く理解できません。

どなたか解決方法を教えて頂けないでしょうか。よろしくお願いします。

5 :デフォルトの名無しさん:2011/08/10(水) 17:41:17.67
>>4
Tomcatサービスが既に起動してたりしませぬか?
タスクマネージャでそれっぽいサービスがあったら止めてみて

6 :デフォルトの名無しさん:2011/08/10(水) 20:06:08.87
eclipse使わずに起動できるならeclipseが悪いんだろ

7 :デフォルトの名無しさん:2011/08/10(水) 21:22:20.19
>>4
そのサーバ削除して作りなおすのが早い

8 :デフォルトの名無しさん:2011/08/11(木) 00:07:25.02
ファイルの読み書き、Socket通信、そういった部分に出てくる、
「ストリーム」の概念がよくわかりません。

サンプルソースをコピペして、実装したい機能のコーディングはできていますが、
これらの概念がよく分からず使っている状態です。

String型やbyte[]型のオブジェクトを、
InputStream、OutputStream(それらの派生クラス)に対して読んだり書いたりするとデータのやり取りができる
・・・ぐらいの認識しかないです。

的確に理解できる説明をいただきたいです。

9 :デフォルトの名無しさん:2011/08/11(木) 00:23:44.45
あんま難しく考えないほうがいい。

Stream とは・・ファイル入出力、標準入出力、ネットワークIO・・などなど、
データソースがバラバラながら、入出力という点で共通しているだろうという思想のもと、
オブジェクト思考(笑)により唯一のインターフェースをでっち上げた言語開発者のオナニー

くらいに思っとけ。

10 :デフォルトの名無しさん:2011/08/11(木) 00:47:23.78
>>8
データの通り道だと思ってればいいよ
キーボードから文字を読み込むのとファイルからデータを読み込むのは
物理的には全然違う処理だけど、入力は入力として、統一された操作で扱いたい
だから、キーボードからの読み込みを抽象化して、ストリームからの読み込みとして扱う
ファイルからの読み込みも、ストリームからの読み込みとして扱う
ネットワークからの読み込みもね

要するに、IOを抽象化してるだけ
そしてそれをストリームって呼んでるだけ

11 : ◆QZaw55cn4c :2011/08/11(木) 01:47:08.43
>>9
ストリームの概念は、オブジェクト指向よりも前から存在していましたが。

12 :デフォルトの名無しさん:2011/08/11(木) 10:41:04.04
またおまえかw

13 :デフォルトの名無しさん:2011/08/11(木) 15:13:06.21
HttpServletResponse.setHeader()メソッドでレスポンスヘッダを設定しているのですが、

Javaのクライアント側でHttpURLConnection.getHeaderFields()メソッドから設定したヘッダが取得できません。

Live HTTP headersで見てみると設定したヘッダ情報が見れるのです。

なぜHttpURLConnection.getHeaderFields()だとヘッダ情報が正しく取得できないのでしょうか。

どなたかよろしくお願いします。

14 :デフォルトの名無しさん:2011/08/11(木) 17:19:09.09
>>8
大きかったり終わりが分からなかったりするから全部を一度にメモリ展開できないので
頭から順々に読んでいこう!その代わりランダムアクセスは(自分でバッファしないと)できないよ
-> InputStream

15 :デフォルトの名無しさん:2011/08/11(木) 20:08:37.48
前すれ991へ

>ファイルパーミッション(file permission)とは、ファイルごとに定義された、読み出し・書込みなどのアクセスに対する許可情報。
>通常は、ファイルシステム内のファイルごとに、特定のユーザーやグループに対してアクセス権を設定する。

ttp://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%91%E3%83%BC%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3

16 :デフォルトの名無しさん:2011/08/12(金) 00:04:07.21
sl4jとlogback を使用しています。
ファイルと標準出力にログを出力するようにしてあります。
Eclipseから実行すると、両方に出力されるのですが
コマンドプロンプトから実行すると、標準出力にしか出力されません。

どういった原因が考えられるでしょうか?
なお、コンソールにはエラーらしきものは一切出力されてません。

17 :デフォルトの名無しさん:2011/08/12(金) 00:42:13.70
>>15
Javaでのアクセスコントロールの話かと思ってました。
ファイルでの実装は検討したのですが、
クラスごとにサブジェクトを設定できないので却下された経緯があります。

18 :デフォルトの名無しさん:2011/08/12(金) 02:38:01.21
じゃあアプレット経由でアクセスさせてポリシィ設定する

19 :デフォルトの名無しさん:2011/08/12(金) 11:58:16.20
スレ立てお疲れ様です。

早速質問なんですが
public void actionPerformed(ActionEvent e) {
という文の"e"の部分が何なのか分かりません・・
サンプルソースとかを見ると"ev"となっているものもあって・・
どなたか詳しい方説明お願いします。

20 :デフォルトの名無しさん:2011/08/12(金) 12:20:55.59
>>19
変数名は、immediateでなくとも、i でも良いだろ。
event と言う変数名も e でも evでも良いってこった

21 :デフォルトの名無しさん:2011/08/12(金) 12:32:16.73
>>20
返信ありがとうございます。
括弧の中で変数を宣言してもいいのですねー
すでに宣言されたものしか使えないのかと思ってました。

22 :デフォルトの名無しさん:2011/08/12(金) 14:37:18.15
>>19
仮引数でググろう!

23 :デフォルトの名無しさん:2011/08/12(金) 15:01:56.20
swingなんだけど、親要素で子要素のイベントを拾うことは出来ないの?
子要素全てにリスナー登録するとかだるすぎる。

24 :デフォルトの名無しさん:2011/08/12(金) 19:16:43.64
質問です。
Java6→Java7で、何が変わったんですか?

軽くググったんですが、「クロージャ導入か?」みたいな古い記事ばっかりです。
詳しい人教えてください。

25 :デフォルトの名無しさん:2011/08/12(金) 20:16:53.92
>>24
詳細検索で1ヶ月以内とか指定すると、最近の記事だけがひっかかるようになるよ。

26 :デフォルトの名無しさん:2011/08/12(金) 21:08:37.29
>>23
リスナクラスの定義が変なだけじゃないの…

27 :デフォルトの名無しさん:2011/08/12(金) 21:57:07.59
>>23
glass pane 使えば、ウィンドウ全域のイベント横取りできたと思う

28 :デフォルトの名無しさん:2011/08/12(金) 22:33:41.12
>>24
用途としては間違ってると思うけどね

29 :デフォルトの名無しさん:2011/08/12(金) 22:45:57.51
>>23
出来るけど、switchで判定と分岐の嵐になると思う。。。


30 :デフォルトの名無しさん:2011/08/13(土) 00:00:29.95
>>25
おー。いい感じに検索できました。
ありがとうございました。

31 :デフォルトの名無しさん:2011/08/13(土) 00:29:37.15
最近apache commonsのコンポーネントに幾つか触れたのですが、
どれもバイナリをDLするとバイナリのjarファイルだけでなくドキュメントやソースの
これらのjarファイルは何の役に立つのでしょうか?ワザワザjarファイルにして
固めてあるのは何か意図があると思うのですがよく分かりませんでした
jarファイルもついてくるようになっていました
これらのjarファイルは何の役に立つのでしょうか?フォルダとしておいておけば
いいものをワザワザjarファイルにして固めてあるのは何か意図があると思うのですが
よく分かりませんでした

32 :デフォルトの名無しさん:2011/08/13(土) 00:41:43.51
>>31
Eclipse等でソースファイルとしてアタッチしておくと
デバッガで入っていける

33 :31:2011/08/13(土) 00:54:10.47
すみません、>>31の2行目と3行目は飛ばして下さい

>>32
なるほど、今調べましたがソースアタッチという手法があるのですね
今までJD等で無理やり調べるものだとばかり思っていましたが
こちらのほうが正確に内容がつかめるんですね
もう少し詳しく調べてみます、ありがとうございました

34 :デフォルトの名無しさん:2011/08/13(土) 04:15:15.70

(個人撮影)(無修正)長野県援交 高3 内○結 17才 (生ハメ中田氏 濃厚フェラ マジ抜ける).avi
これをjavaにしてください
生ハメ中田氏というとこができません

35 :デフォルトの名無しさん:2011/08/13(土) 06:06:41.50
質問です
1つのクラスから2つのオブジェクトをインスタンス化しています
その2つのオブジェクトに別々の引数を渡して
画像の大きさや表示位置を変える処理をやりたいのですが、
1つ目のオブジェクトを実行した後2つ目のオブジェクトを実行したら
2つ目のオブジェクトでの画像しか表示されていません

1つ目のオブジェクトに画像の大きさ:100、表示位置:左
2つ目のオブジェクトに画像の大きさ:50、表示位置:右
という引数を渡して、呼び出されたクラスの画像表示メソッドを実行すれば、
画面上の左右に別々の大きさの画像が表示されるって事で良いんですよね?
2つ目だけ表示されるのは単純に上書きされてるのでしょうか・・・?

Javaは経験浅いのですが、1つのクラスから複数のオブジェクトを生成すれば、
クラス内の処理の使いまわしができるというらしいのでやってみたんですけど・・・

36 :デフォルトの名無しさん:2011/08/13(土) 06:17:53.84
実装が分からんが、2つのオブジェクトが同じ画像を持ってるインスタンスを参照してるんじゃね。
画像持ってるインスタンスをクローンっていうかCopy見たいなメソッドがあるんじゃねーか?

37 :デフォルトの名無しさん:2011/08/13(土) 08:27:09.63
>>35
一つずつだと正常に表示されてるの?
話はそれからだと思うんだけど


38 :デフォルトの名無しさん:2011/08/13(土) 08:34:08.79
ソースを見るのが手っ取り早いだろうな

39 :デフォルトの名無しさん:2011/08/13(土) 10:49:15.00
>>35
それはもはやJavaの質問じゃないよ

40 :デフォルトの名無しさん:2011/08/13(土) 12:59:13.99
わからないなら入ってこないでくださいね

41 :デフォルトの名無しさん:2011/08/13(土) 17:04:17.03
ApacheのDefaultHttpClientでSSLセッションIDを取得しようとしています。
ManagedClientConnection#getSSLSession()で取得できそうなことまではわかったのですが
DefaultHttpClientからManagedClientConnectionを取得する方法がわかりません。
どなたがご存知の方教えていただけないでしょうか?

42 :デフォルトの名無しさん:2011/08/14(日) 11:26:57.48
Java6 の Javadoc 日本語ってダウンロードできなくなったの?
ja のリンクや言語の選択すらできん

43 :デフォルトの名無しさん:2011/08/14(日) 11:38:29.02
所詮はオラクルがやることだからな

44 :デフォルトの名無しさん:2011/08/14(日) 13:58:54.51
Oracleは正直よくわからん。
http://bit.ly/p8j9OL
jdk-6u21-docs-ja.zip

45 :デフォルトの名無しさん:2011/08/14(日) 15:17:29.75
>>44
ありがとう!!

Oracleはヤル気ないならOpenOfficeのように手を引いてもらえんかなー。

46 :デフォルトの名無しさん:2011/08/14(日) 17:24:16.51
帳票はどうしてる?

47 :デフォルトの名無しさん:2011/08/14(日) 20:07:11.05
synchronized修飾子のついたメソッドは、
複数スレッドから呼ばれたときは実行順が保証されませんが、
単一スレッドから呼ばれた場合は、通常のプログラムと同様に実行順は保証されるのでしょうか?
下のようなプログラムでhoge(1)はかならずhoge(2)より先に実行されるのか、といことです。
手元で試した範囲ではそうなっていましたが。。。

synchronized void hoge(int i){
// do something
}
void fuga(){
hoge(1);
hoge(2);
}

48 :デフォルトの名無しさん:2011/08/14(日) 20:20:11.84
逆に、入れ替わる理由は?

49 :デフォルトの名無しさん:2011/08/14(日) 20:22:55.56
される

50 :デフォルトの名無しさん:2011/08/14(日) 20:27:32.42
>>48
最適化とかで命令の順番並び替えるってのはよくやるから、
最適化でメソッド呼び出しの順番も並び替えちゃうかもって心配してるんじゃね?

51 :デフォルトの名無しさん:2011/08/14(日) 20:59:16.68
>>49
ありがとうございます!!

>>48
あるメソッドがロックをとれなかったときに、
実行待ち状態にだけなって先に進むのかと勘違いしていました。
そうすると、別スレッドがロックを取得しているときに
hoge(1)とhoge(2)がともに実行待ち状態になる状況がありえて
入れ替わったりもありえるのかなあと。。。
実行待機というのはブロッキングされるのですね、まったくの勘違いでした。

52 :デフォルトの名無しさん:2011/08/14(日) 21:49:23.25
Javaで byte[]を確保するときに、長さはやっぱり2の累乗が効率よく使えるのかな。
GCあることを考えると断片化ってもねえ、という感じもするのだけれど。

53 :デフォルトの名無しさん:2011/08/15(月) 00:35:50.06
>>47
void fuga() {
 synchronized (this) { this.a1++;@ }
 synchronized (this) { this.b1++;A }
}
synchronizedが無ければ入れ替わることはあるが、
synchronizedに囲まれた1と2が入れ替わることは許されていない。

ただ>>47に書かれていることと>>51の内容が乖離しているのだが・・

54 :デフォルトの名無しさん:2011/08/15(月) 01:32:47.57
相変わらずバカ回答者しかいないw

55 :デフォルトの名無しさん:2011/08/15(月) 02:40:05.18
>>40

56 :デフォルトの名無しさん:2011/08/15(月) 02:41:20.11
>>54
意味の無いレスせずにオマエが実のある回答してみろよ

>>52
>Javaで byte[]を確保するときに、長さはやっぱり2の累乗が効率よく使えるのかな。
管理情報の領域が必要だろうから2の累乗はキリが悪いんじゃね?

57 :デフォルトの名無しさん:2011/08/15(月) 02:54:25.06
>>54
お前いつもそればっかだよな

58 :デフォルトの名無しさん:2011/08/15(月) 03:06:05.83
>>52
BufferedInputStreamのバッファサイズ無しコンストラクタの実装では8192バイトになってたりするね。
効率が良くなるかどうかはともかく、2の累乗の方が自分のプログラムでも扱いやすくない?

59 :デフォルトの名無しさん:2011/08/15(月) 05:12:06.60
>>54の頭の良い回答待ち

60 :デフォルトの名無しさん:2011/08/15(月) 06:09:08.24
>>39

61 :デフォルトの名無しさん:2011/08/15(月) 11:27:06.34
初心者が適当に回答書いてみるスレだからアホでいいんだよ

62 :デフォルトの名無しさん:2011/08/15(月) 15:48:18.10
>>52
ルート2の累乗を使うおいらは少数派なのかい。

10001要素のために20000要素確保するのは我慢ならんが
14142要素確保ならまあ許せるかな、といった気持ちの問題。

63 :デフォルトの名無しさん:2011/08/15(月) 16:03:14.78
意味のある数字か切りの良い数字にしとけよ
今時そんな大昔の慣例に従うなんて馬鹿馬鹿しい

64 :デフォルトの名無しさん:2011/08/15(月) 17:55:12.83
>>62
ごめん単純な疑問なんだけど。
>>62に出てくるどの数値がルート2の累乗?14142?
・ ルート2の累乗だと何か良いことあるの?

>>63
ルート2の累乗のこと?大昔にそんな慣例あったの?

65 :デフォルトの名無しさん:2011/08/15(月) 18:41:40.50
サーバ側にHTTPボディをPOSTしたいのですが、以下のコードだと上手くいきません。
どこが悪いか教えて頂けないでしょうか。

url = new URL("http://localhost:8080/hogehoge");
HttpURLConnection http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("POST");
http.setDoOutput(true);
OutputStreamWriter ow = new OutputStreamWriter(http.getOutputStream());
ow.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?");
ow.write("<Information>");

よろしくお願いします。

66 :デフォルトの名無しさん:2011/08/15(月) 20:46:25.23
>>65
ぱっと見たところ、
・flushしなくていいのかな
・文字コード指定が無い

67 :デフォルトの名無しさん:2011/08/15(月) 21:52:30.17
>>65
connectとかgetResponseCodeとか呼ばないと送信しない

68 :デフォルトの名無しさん:2011/08/16(火) 11:39:19.17
>>66,67

上手くいきました。ありがとうございます!

69 :デフォルトの名無しさん:2011/08/16(火) 21:39:44.52
皆さんPCは何を使ってますか?
プログラム作成にMacProはオススメですか?
MacBookやMacAirでも楽々こなせますか?参考にさせてくださいよろしくお願いします。Windowsの方が多いですか??


70 :デフォルトの名無しさん:2011/08/16(火) 21:49:32.45
Javaならどうせeclipseしか使わないから何でも一緒
Appleの開発環境に触れる機会も全く無いからMacの意味も無い

71 :デフォルトの名無しさん:2011/08/16(火) 22:42:45.37
obj-c以外でmacはない。

72 :デフォルトの名無しさん:2011/08/16(火) 22:50:19.33
Linux入れてそっちでやればいいよ
プログラミングなんてやりだしたらどんどん環境が汚れるし

73 :デフォルトの名無しさん:2011/08/17(水) 00:49:16.41
>>69
Apple製のJDKは腐れてたからお勧めしないけど。
文字回りとか(OpenJDKは知らんが)。

今のMac上のJDKはOpenJDKがデファクトスタンダードになってるんだっけ?


74 :デフォルトの名無しさん:2011/08/17(水) 00:57:53.12
ハイスペックなワークステーションノートに仮想環境載っけて開発環境作って大容量外付けバッテリー持ち歩くのが至高。

>>73
OpenJDK for macがjava7対応だから今後主流になると思われ。

75 :デフォルトの名無しさん:2011/08/17(水) 11:31:49.78
Javaの開発環境について質問させてください。

現在、卒業制作で作るシステムの開発環境をどのようにするか調査しています。

制作にあたり指定された条件として、
構築するシステムはapache+JBoss+mysqlでJavaEE5準拠であること、
SCM(構成管理)、BTS(バグ追跡)、タスク管理、CI(継続的インテグレート)の
各種ツールを選定して使用することを言われています。

今のところ、
IDEはeclipse(pleiades e3.6確定)、
SCMはSubversionかGit、
BuilderはMaven3、
BTSはmantis、
タスク管理はredmine、
CIはJenkins(Hudson)を考えているのですが、
定番の組み合わせなどありますでしょうか。
メンバーは5名、予算は2万円まで支給、それ以上は自腹になります。

76 :デフォルトの名無しさん:2011/08/17(水) 11:56:15.06
>>75
卒業制作なら
JDK 7 + Eclipse Indigo + Tomcat + mysql
これでおk

77 :デフォルトの名無しさん:2011/08/17(水) 11:56:50.48
それこそ担当のセンセに聞けよ

78 :デフォルトの名無しさん:2011/08/17(水) 12:21:50.78
SCMとかCIとか一般的でない略称使ってオサレなつもりかね

79 :デフォルトの名無しさん:2011/08/17(水) 12:41:13.14
>>75
死ねよ雑魚

80 :デフォルトの名無しさん:2011/08/17(水) 12:48:54.45
サーブレットでリファラの文字コードが何か判別するにはどのようにしたら良いでしょうか?

81 :デフォルトの名無しさん:2011/08/17(水) 12:49:28.32
75です。レスありがとうございます。

まずサーバ環境は指定されているので残念ながら変更できません。
各種ツールについてもバージョン管理以外は正直使いたくないのですが、使えという条件なのでどうしようもなく。
実務でよく使用されている組み合わせというのがあるなら乗っかりたいと思っての質問です。

あと、SCMとかCIって言葉はオサレなんですか?
たしかにうちのセンセはオサレさんなので、そういうの意識して言葉を選んでいるかもしれないのですが。

82 :デフォルトの名無しさん:2011/08/17(水) 12:52:25.47
バージョン管理をSCMっていうのは初めて聞いた
Subversionでサプライチェーンマネジメントとか意味ワカメ

83 :デフォルトの名無しさん:2011/08/17(水) 13:00:56.34
普通じゃね?

84 :デフォルトの名無しさん:2011/08/17(水) 13:15:07.20
>>81
自腹乙

85 :デフォルトの名無しさん:2011/08/17(水) 13:20:00.88
123,567 → 123567 のようなカンマ区切りの入った文字列をintに変換する方法はありますか?
自分で作るしかないでしょうか?

86 :デフォルトの名無しさん:2011/08/17(水) 13:29:41.11
Integer.parceInt("123, 456".replaceAll("[^\\d-]", ""))

87 :デフォルトの名無しさん:2011/08/17(水) 13:42:18.19
parseIntでないの

88 :デフォルトの名無しさん:2011/08/17(水) 14:25:57.03
>>75
なかなか実践的な課題やね。
ついでにMaven利用にも挑戦すると吉。

SCMやCIがオサレとかどこの現場だよ…
レス初期の占い課題の学生じゃないだろうな。

89 :デフォルトの名無しさん:2011/08/17(水) 14:38:15.68
>>78
プログラミングかじってる人間にとってはすごく一般的ですけどね^^;

90 :デフォルトの名無しさん:2011/08/17(水) 14:44:46.50
>>87
Java7になってもparseIntはカンマ読めないみたいよ。
それはさておき、新機能の_付数値リテラルも読めないってどういうことよ。

91 :デフォルトの名無しさん:2011/08/17(水) 14:56:20.77
>>88
今日も現場ですか ^ ^ ;
いつもいつもIT土方ごくろうさまさまです ^ ^ ;

92 :デフォルトの名無しさん:2011/08/17(水) 15:10:07.82
>>85
デフォルトのDecimalFormatインスタンスのparse()で読めるはず。
「コンマは小数点」って国も結構多いらしいが、日本語ロケール環境ならまず大丈夫だろう

93 :デフォルトの名無しさん:2011/08/17(水) 17:04:29.00
>>90
リテラルっぽい文字列読み込むなら Integer#decode(String) じゃね?

っても、jdk7使っても、2進数リテラルも_で区切ったリテラルも読み込めないけどね。

94 :デフォルトの名無しさん:2011/08/17(水) 17:09:47.91
アンダースコア付きリテラルは数値表記の話だろ?
Stringのパースと何の関係があるのやら・・。

95 :デフォルトの名無しさん:2011/08/17(水) 18:22:05.85
そんなJavaプログラマしかわからない表記を読めるようにする意味は無いし
今更そんな基本的なところを変えられてもトラブルの元になるだけ

96 :デフォルトの名無しさん:2011/08/17(水) 23:26:38.68
JDK1.7のDocってないのでしょうか?1.4のころはあって、そこにパッケージの内容
が記述されてたものがHTMLで見れてたのですが。
あるのであれば、どこにあるのか教えてください。
よろしくお願いいたします。

97 :デフォルトの名無しさん:2011/08/17(水) 23:47:11.84
>>96
普通にたどれるだろ。何でわからないんだよ。
http://www.oracle.com/index.html
[Java]→[Java Platform, Standard Edition (Java SE)]→[Documentation]→[APIs]

98 :デフォルトの名無しさん:2011/08/18(木) 00:11:34.54
俺も未だに
 ttp://download.oracle.com/javase/7/docs/ (ダウンロードしたドキュメントのトップページに該当)
からJavaSEのAPIドキュメントに飛ぶ方法がわからんのだが…

もう最近は「Oracleだから」であきらめが付くようになった。

99 :デフォルトの名無しさん:2011/08/18(木) 00:20:48.73
[Documentation]→[API Documentation]の2クリックだろ。

100 :デフォルトの名無しさん:2011/08/18(木) 00:25:26.55
>>97
ありがとうございます。
ダウンロード版ではなくなっているのですねー。
WEBから直接参照なんですね。
勉強になりました。ありがとうございました。

101 :デフォルトの名無しさん:2011/08/18(木) 00:28:04.44
>>98
「Java SE White Papers」→「API」?


102 :デフォルトの名無しさん:2011/08/18(木) 00:36:53.37
>>>>100
どこみてけつかんねん
[Java]→[Java Platform, Standard Edition (Java SE)]→[Downloads]→[Java SE 7 Documentation/Download]

>>98
よく読まずに変なこと書いた。
[Java SE API]のワンクリックだろ。図の右の方に隠れている

103 :デフォルトの名無しさん:2011/08/18(木) 00:44:54.33
Java SE White Papersから辿ると、旧バージョンだけど、日本語版が読める

104 :デフォルトの名無しさん:2011/08/18(木) 01:46:03.38
>そんなJavaプログラマしかわからない表記を読めるようにする意味は無い
最近のLLから逆輸入されたんだからJavaプログラマにはわからないの間違いだろ。

105 :デフォルトの名無しさん:2011/08/18(木) 02:11:41.92
>>104
Javaソースコードで扱う表現はプログラマーにとってのもの。
Integer.parseで扱う表現はアプリケーション利用者にとってのもの。
これらを区別することが重要と言っているのにお前と来たら

106 :デフォルトの名無しさん:2011/08/18(木) 05:00:20.26
List<Test>型の配列を作りたいのですが、書きの用に書いてもコンパイルできません。
List<Test>[] test = new List<Test>[8];
何故か解る方いらっしゃいましたら、お願い致します。

107 :106:2011/08/18(木) 05:01:37.71
書きの用→下記の様

108 :デフォルトの名無しさん:2011/08/18(木) 05:12:32.64
>>106
なぜかは↓を読んでください。 配列の代わりに List<List<Test>> を使ってください。
http://www.ibm.com/developerworks/jp/java/library/j-jtp01255/index.html#1.1

109 :デフォルトの名無しさん:2011/08/18(木) 05:17:50.78
>>106
List<Test>[] test = new List[8];

さらに警告消したいなら @SuppressWarnings("unchecked")

110 :デフォルトの名無しさん:2011/08/18(木) 13:53:32.83
クラスの外に公開したコレクションに要素が追加された時に
その要素に対して特定の処理を行いたいのですが、どうするのがいいんでしょうか。
1)getItemsメソッドは読み取り専用コレクションを返し、別途addItemメソッドを用意する。
2)コレクションは公開しないで、getItem(index)とかaddItem(item)とかgetItemCount()とか並べる。
3)コレクションを自作する

111 :デフォルトの名無しさん:2011/08/18(木) 16:39:38.20
1)かな

112 :106:2011/08/18(木) 17:58:58.74
>>108
ありがとうございます!読んでみます!

113 :デフォルトの名無しさん:2011/08/18(木) 23:56:50.19
すみません、質問させてください。


メモ帳にて、"Sample.java"という名前で作成したソースファイルをコンパイルしようとしたところ、ファイルがないと言われました。

dirにて、ファイルを確認したところ、ファイル名が「Sample.java.txt」
となっていて、拡張子がtxtになっているようです。

名前をつけて保存の段階で、ファイルの種類を「すべてのファイル」にしていたのですが、拡張子.txtで保存されてしまいます。
.javaの拡張子で保存するには、名前の尾に.javaと入力するだけではいけないのでしょうか…?
よろしくお願いいたします。


114 :デフォルトの名無しさん:2011/08/19(金) 00:00:43.30
>>113
そりゃ、Windowsの基本的な使い方をしらないだけじゃんw

115 :113:2011/08/19(金) 00:01:29.45
保存の時、ファイルの種類を「すべてのファイル」にした後に
再びファイル名を書き直したら、無事コンパイルできました。

お目汚しすみません、お騒がせいたしました。

116 :デフォルトの名無しさん:2011/08/19(金) 11:29:03.45
まずは拡張子を表示させる設定にしようか

117 :デフォルトの名無しさん:2011/08/19(金) 16:02:00.69
クラス内のメンバー変数だが、
クラス内では読み書き可能だけど、
サブクラスからは読み込みのみにしたい

これは可能?

118 :デフォルトの名無しさん:2011/08/19(金) 16:48:23.61
>>117
private int value;
protected int getValue(){ return value; }

119 :デフォルトの名無しさん:2011/08/19(金) 17:14:14.34
>>118
protected はサブクラスからはアクセスできるんじゃないですか?

120 :デフォルトの名無しさん:2011/08/19(金) 17:18:42.26
変数自体はprivate

121 :デフォルトの名無しさん:2011/08/19(金) 19:08:29.66
すいません。Java.netを学びたいのですが、どの製品を買えばよろしいでしょうか?

122 :デフォルトの名無しさん:2011/08/19(金) 19:31:11.62
>>121
どっちかにしなさい


123 :デフォルトの名無しさん:2011/08/19(金) 19:33:55.00
J#ということか?

124 :デフォルトの名無しさん:2011/08/19(金) 21:11:04.99
>>121
英語版のVisual Studio 2008。

残念ながら国外でもVisualStudio2008でサポートを終了したようだ。
国内ではもっと早かった。

125 :デフォルトの名無しさん:2011/08/19(金) 23:14:24.03
>>120
いくら変数が privateでも、同一ファイルのサブクラスからアクセスすればアクセス可能なんですけど?

126 :デフォルトの名無しさん:2011/08/19(金) 23:18:19.67
もしかして:インナークラス

127 :デフォルトの名無しさん:2011/08/19(金) 23:21:16.64
同一ファイルのサブクラスなんて作れたっけ?

128 :デフォルトの名無しさん:2011/08/19(金) 23:23:03.67
>>125
class A { private int value;
protected int getValue(){ return value; } }
class B extends A { B(){ super.value = 0; } }

同一ファイルなだけならコンパイルエラーだな。
メンバクラスや内部クラスがフルアクセスできるのは当たり前だし。

129 :デフォルトの名無しさん:2011/08/20(土) 03:26:27.07
次はこうか。
リフレクションでry
Unsafeでry

130 :デフォルトの名無しさん:2011/08/20(土) 14:43:41.86
macにjdk7はインストール出来る?


131 :デフォルトの名無しさん:2011/08/20(土) 16:17:27.88
OpenJDK7のmacが完成するまで待て。
linuxとのデュアルブートにしてlinux版入れるとかあるけど。

132 :デフォルトの名無しさん:2011/08/21(日) 05:41:00.92
親のJFrameから起動されるコンフィグ画面をJFrameで作成していたのですが、
JDialogというクラスもあることに気が付きました。

語感的にはJDialogの方が適切なように思うのですが、実際はどちらを使うべきなのでしょう?
APIドキュメントを見比べてみても、JFrameにはsetIconImageメソッドがある、
位の違いしか分かりませんでした…

133 :132:2011/08/21(日) 05:46:41.44
すみません、書き込んでから気が付きました…
setIconImageはjava.awt.Windowから継承されているメソッドなので両方にありますね。
あと、それぞれの継承元であるjava.awt.Frameと同Dialogには差異がありますね。

setModalとかありますし、やはりJDialogに変えるべきでしょうか(でもJFrameもモーダルにできたような…?)。

134 :デフォルトの名無しさん:2011/08/21(日) 06:07:59.64
JFrameはネイティブじゃなかったっけ

135 :デフォルトの名無しさん:2011/08/21(日) 09:08:44.41
ピア噛ましてるけどそこは気にするところか?

136 :デフォルトの名無しさん:2011/08/21(日) 09:42:27.70
>>42-44

137 :デフォルトの名無しさん:2011/08/21(日) 16:25:39.77
というかJComponentとJPanelが機能的に(現場的に)どう違うのか教えてくれないか?

138 :デフォルトの名無しさん:2011/08/21(日) 16:59:03.56
Chromeみたいに、コンフィグ画面をJTabbedPaneで作るのが
今後のトレンドかも。

139 :デフォルトの名無しさん:2011/08/21(日) 17:48:43.77
PrintWriter#printfの書式で精度を引数で指定したいのですが
Cの %.*e のような指定はできないんですか?

140 :デフォルトの名無しさん:2011/08/21(日) 17:58:03.78
pw.printf(String.format("%%.%de", arg1), arg2) みたいにすりゃいいんじゃね?

141 :デフォルトの名無しさん:2011/08/22(月) 04:18:30.44
>>138
JTabbedPane(相当)で作られたコンフィグ画面は昔から一般的だと思いますけど、
作業ウィンドウと同じ体裁で表示されるのが目新しい、ってことでしょうか。

個人的にはコンフィグ編集内容をDiscardできるキャンセルボタンは欲しいですね。
Google Chrome程度の設定なら確かに不要かもしれませんが。

後は、チェックボックスやラジオボタンを押すと全ウィンドウに即座に反映されるって実装、
それなりのコスト掛かりそうですが、本質的でないところに力を割きたくないので
そんなトレンドにはなってほしくないですね…


142 :デフォルトの名無しさん:2011/08/22(月) 04:21:44.22
>>134
何をもってネイティブって言っているのか分かりませんが、
JFrameもJDialogも一緒でしょう。


143 :デフォルトの名無しさん:2011/08/22(月) 07:05:18.15
>>141
最近のバージョンのWindowsのコントロールパネルなんかは混在してるね。

144 :デフォルトの名無しさん:2011/08/22(月) 07:24:20.03
Chromeは初期起動時のホームページを一括削除してしまって復活できないと知ったときはちょっと泣けたな。

145 :デフォルトの名無しさん:2011/08/22(月) 22:23:44.73
GNU ReadlineがJava/Windowsで使いものになるようなライブラリはありますか?

GNU Readline for JavaとJLineというものを試してみました。

前者は、自分の力ではコンパイルできませんでしたし、2003年ころの古いソフトです。

後者は、配布されていた.jarを配布されていたサンプルプログラムとリンクしてみたのですが、
Linux上ですら、ろくに動きません(Ctrl-kができてもCtrl-yができない)。
Windows上ではCtrl-[ky]両方できません。

146 :デフォルトの名無しさん:2011/08/22(月) 23:10:24.23
DJunitでJavaのテストをしているのですが、外部ライブラリを上手くダミー化する方法はないでしょうか?

orion SSHで外部サーバに接続するモジュールなのですが、単体テストでは接続させたくありません。
外部ライブラリがFactory的な動きをしてインスタンスを取得するような場合はバーチャルモックにしようにも、
コンストラクタが隠蔽されていたりしてうまくいきません。

アドバイスお願いします。

147 :デフォルトの名無しさん:2011/08/22(月) 23:16:36.18
外部ライブラリをラップしたクラスもしくはファクトリを用意してDIする

148 :デフォルトの名無しさん:2011/08/23(火) 00:08:33.63
Win7やvistaでjavaw.exeはどこにインストールされるのかわかる人いる?
c:\Windows\systemの下だとかリリースノートかなにかに書いてあったけど、
自分のみたらc:\Windows\system32の下だし、
知り合いのはc:\Windows\SysWOW64になってるし、
なんでこんなにまちまちなんだろう。

149 :デフォルトの名無しさん:2011/08/23(火) 02:19:10.53
WOW64って書いてあるだろ。

150 :デフォルトの名無しさん:2011/08/23(火) 13:27:00.27
Map#containsKey(Object key) のcontainは動詞ですよね。sは3単現のsですよね。
Map#equals(Object o)も上記と同じですよね。

じゃあMap#get(Object key)やMap#put(K key, V value)はなんで3単現のsが無いんですか><;

151 :デフォルトの名無しさん:2011/08/23(火) 13:41:49.05
>>150
get/put, push/pop なんかは慣例に従ってるからでしょうね。
とはいっても他にs付いてないのなんていくらでもあるでしょうけど。

自作クラス作ってるときに困るんですよね…ちゃんとs付けるべきなのかどうか。


152 :デフォルトの名無しさん:2011/08/23(火) 14:44:47.26
CentOS5.6+Java6でJFreeChart1.0を使用しているのですが、
縦軸名の表示が勝手に縦書きになって長音が”|”にならず”ー”のまま残ってしまいます。
普通に横書き表示に戻したいのですが、これはJavaのフォント設定か何かが間違っているのでしょうか?


153 :デフォルトの名無しさん:2011/08/23(火) 16:49:53.99
>>151
booleanを返すメソッド(〜かどうかを判定する)は3単現の動詞から始まる

154 :デフォルトの名無しさん:2011/08/23(火) 17:43:39.67
Beanのbooleanを返すのはgetXXXXだよね…

155 :デフォルトの名無しさん:2011/08/23(火) 20:28:59.88
>>150
馬鹿?
mapからgetする
mapがcontainする
主語が違うじゃん

156 :デフォルトの名無しさん:2011/08/23(火) 21:41:05.96
Map#keys()
Map#values()

はどうして、

Map#getKeys()
Map#getValues()

じゃないのか。謎は深まる。
(どうでも良いレベル80くらいの話だがw)

157 :デフォルトの名無しさん:2011/08/23(火) 21:56:59.55
>Map#keys()

なんすか、これ?

158 :デフォルトの名無しさん:2011/08/23(火) 22:32:31.45
>>156
Hashtable#keysに引っ張られたんじゃね?
戻り値の型Enumerationだし。

159 :デフォルトの名無しさん:2011/08/23(火) 23:18:36.12
ゆとり?
馬鹿丸出しだなw

160 :デフォルトの名無しさん:2011/08/24(水) 09:53:45.89
java.utils のソースを見たいのですが、可能ですか?

161 :デフォルトの名無しさん:2011/08/24(水) 10:05:23.26
java.utilsなんてパッケージがあったかどうかは忘れたが
http://download.java.net/jdk6/source/
JDK7はOracleのサイトからリンク見つからなかったんでOpenJDKのこれかな?
http://download.java.net/openjdk/jdk7/

162 :デフォルトの名無しさん:2011/08/24(水) 11:36:55.47
>>161
ありがと

163 :デフォルトの名無しさん:2011/08/24(水) 17:01:12.38
文字列から最後の2文字だけ削除するにはどうすればいいでしょうか?
PHPにあるような便利な関数はあるのでしょうか?
例えば
hoge = "aabbccdd";
ddを削除したいのです。

164 :デフォルトの名無しさん:2011/08/24(水) 17:14:35.56
String#substring じゃない?

165 :163:2011/08/24(水) 17:25:54.92
>>164
ありがとうございます ツ

166 :デフォルトの名無しさん:2011/08/24(水) 20:34:43.35
本を片手にJavaの勉強を始めたのですが、練習問題で早速つまづいてしまっています。
菱形をforループを使って表示させるものなのですが、上手くいかない上に
その本には正解が載っていないという泣きっ面に蜂状態です。
はじめにstart(菱形の上の*の数), end(下の*の数), max(最大幅?)を入力します。
blankはそれぞれの行の空白、starはそれぞれの行の*の数にしているつもりです(T_T)
forループはJava以前の問題かもしれませんが、よろしくお願いいたしますorz

int blank,star;
blank = (max - 1) / 2;
star = max - blank;

for (int t = 0; t < max; ++t) {
for (int b = blank; b == 0; --b) {
System.out.print(" ");
}
for (int s = start; s < star; ++s) {
System.out.print("*");
}
System.out.println();
}


167 :デフォルトの名無しさん:2011/08/24(水) 20:49:26.74
ガベージコレクタって切ることってできませんか?
使いまわしするってわけじゃなくて、ただゴミを片付けないという形です。
できればVMじゃなくてコンパイルしたクラスファイルに設定したいです。

168 :デフォルトの名無しさん:2011/08/24(水) 21:02:14.34
VMを自作したらいい

169 :デフォルトの名無しさん:2011/08/24(水) 21:12:56.26
自作までせんでも
OpenJDKなりのSweep処理をコメントアウトすればいいだけ…じゃないかな?

適当にググったら
java -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
みたいな例があったけど。
http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html

170 :デフォルトの名無しさん:2011/08/24(水) 21:38:13.29
使い回しっていうか単に
staticなArrayList<Object>にnewしたもの全部突っ込んで放置すればGCされないよ
メモリリークともいう

171 :デフォルトの名無しさん:2011/08/24(水) 22:41:38.01
>>169-170
ありがとうございます。切るのは無理そうなのでその二つのほうほうでやってみます。

172 :デフォルトの名無しさん:2011/08/25(木) 00:01:09.30
インターフェースにstaticな変数持たせて使ってるクラス全部に実装させればいずれOld世代に移動するんじゃね?

173 :デフォルトの名無しさん:2011/08/25(木) 00:04:35.21
参照を張っておいたところで
GCが止まるわけではないから……

174 :デフォルトの名無しさん:2011/08/25(木) 00:51:32.68
Java SE 6まではダウンロードできたのにJava SE 7の日本語ドキュメントがOracleのダウンロード項目にないのは気のせい?
まだ日本語ドキュメントが公式にアップロードされていないだけ?


175 :デフォルトの名無しさん:2011/08/25(木) 04:41:54.91
DatagramSocketを使って文字の送受信をしたいのですが、2回目以降、
SocketExceptionのエラーで上手く受信することができません。
送信はできてるようなのですが、原因はなんなのでしょうか?

176 :デフォルトの名無しさん:2011/08/25(木) 06:36:05.70
jdk-api-jaが死んでるから翻訳版はないよ。

177 :デフォルトの名無しさん:2011/08/25(木) 07:29:14.61
http://java.net/projects/jdk-api-ja/
これ?

日本語翻訳ってOracle社員関わってなくて完全オープンソース頼りなの?
日本でJava廃れるぞ…

178 :デフォルトの名無しさん:2011/08/25(木) 07:51:48.85
英語版を読めば良いじゃない。

179 :デフォルトの名無しさん:2011/08/25(木) 08:27:43.55
>>178
うん。そういう方針だったら廃れるよね、っていう話。

180 :デフォルトの名無しさん:2011/08/25(木) 08:48:14.64
正確には、日本でJavaが廃れるのではなく、
世界で日本人のJavaプログラマが廃れるということなのでは^^;

181 :デフォルトの名無しさん:2011/08/25(木) 08:49:53.32
むしろもう廃れてるから日本語翻訳も進まないんじゃね?

182 :デフォルトの名無しさん:2011/08/25(木) 08:52:00.15
質問相談初心者スレで何度でも言ってやるさ。
英語嫁、英語嫁、英語嫁、英語嫁!

183 :デフォルトの名無しさん:2011/08/25(木) 09:00:14.49
>>177
そこは基本的に品質向上用のプロジェクト。

ここは誤訳だよとか、ここは直したほうが分かりやすいよ、
みたいな指摘を受け付ける窓口であって、そこで翻訳してるわけじゃないよ。

184 :デフォルトの名無しさん:2011/08/25(木) 09:15:15.20
>>42-44

185 :デフォルトの名無しさん:2011/08/25(木) 10:02:10.88
>>174
いままでの実績だと半年〜1年遅れぐらいじゃなかったっけか?

と思ったらjdk6の時は3ヶ月遅れか。

186 :デフォルトの名無しさん:2011/08/25(木) 12:48:34.02
日本人の英語に対する筋金入りの出来なささは世界中でも有名
だからこそわざわざ日本語だけは翻訳バージョンが公式に用意されていたのだろうが
Oracleはそんなの知らないと言うかもしれない

187 :デフォルトの名無しさん:2011/08/25(木) 13:22:35.76
5.0からは公式に中国語版もあるけどな。

188 :デフォルトの名無しさん:2011/08/25(木) 14:03:31.06
日本ではジャバの採用実績が思ったより少なくモービル・デバイスなどの日本市場参入も出来なかったので日本人をサポートするためのコストはかけられません。

189 :デフォルトの名無しさん:2011/08/25(木) 14:32:10.48
どういう思惑があるか知らないけど、
そういう虚偽な事書かない方がいいよ

190 :デフォルトの名無しさん:2011/08/25(木) 15:23:47.57
サンは組み込みセットボックスでもモービルでもJavaFXがこけたからオラクルに喰われちゃった聞いたけど、本当の所はどうなの?
ウェッブ的に見てもジャバはもうオワコンなんでしょ?

191 :デフォルトの名無しさん:2011/08/25(木) 15:30:41.50
ジャッバはオワコン化、時代はCラングエッジ

192 : 忍法帖【Lv=5,xxxP】 :2011/08/25(木) 17:22:19.71
>>177
そう簡単に廃れるかい。
Javaの仕事は日本でも多いしな。
日本語ドキュメントがなくなったくらいで廃れるなら、
とっくに廃れた言語なんか腐るほどあると思うぞ。

JDK6の日本語ドキュメントは残っているし
有志による翻訳もあるんじゃないのか。

しっかし、これでしばらくMergeDocを使う機会もなくなったな。
>>185
そういえばそんなこともあったか。あのときも有志が翻訳しているベータ版も
どこかでダウンロードできたような気がするが、どこだったか忘れた。

193 :デフォルトの名無しさん:2011/08/25(木) 17:27:43.99
よく知らないんだけど、androidじゃJavaが主流なんだよね?

194 :デフォルトの名無しさん:2011/08/25(木) 17:34:10.66
>>192
有志による翻訳って韓国語版じゃね?

195 :デフォルトの名無しさん:2011/08/25(木) 17:53:05.73
>>193

>>188

196 : 忍法帖【Lv=6,xxxP】 :2011/08/25(木) 17:55:41.03
>>193
Androidを動かせる言語で、Java以外になんかあった?


197 :デフォルトの名無しさん:2011/08/25(木) 17:56:29.94
アンドロイドはメーン開発者のグーグルがモトローラを買収した時点でオワコンになった

198 :デフォルトの名無しさん:2011/08/25(木) 17:58:47.41
>>196
monodroid使えば.NET系の言語も使えるんじゃなかったっけ?

199 :デフォルトの名無しさん:2011/08/25(木) 18:00:51.47
韓国でジャバが流行ることなど絶対にないでしょ。

200 :デフォルトの名無しさん:2011/08/25(木) 21:55:15.07
Androidで使えるのはJava言語であってJavaではないぞ

201 :デフォルトの名無しさん:2011/08/25(木) 23:18:22.58
こまけーこたどうでもいいんだよ。
そもそも「Javaを使う」についてJava言語なのかJ2SEライブラリを含むのか定義は無いだろ

202 :デフォルトの名無しさん:2011/08/25(木) 23:30:04.36
javaっていうとVMと言語とライブラリぜんぶ含めたプラットフォームだとsunが定義してるが。

203 :デフォルトの名無しさん:2011/08/26(金) 14:24:08.21
javaのクライアントサイドのスレッドってある?
java製のFlashPlayerってないか聞いてみたいので

Flash操作のマクロとかテストで利用したい

204 :デフォルトの名無しさん:2011/08/26(金) 15:47:55.80
for文の中で、毎回変数の名前を変えるにはどうしたらいいでしょうか?

for(int i=0; i<50; i++){
String str_? = "fugafuga";
}

?の部分を毎回変えたい、iを入れられれば一番いいのですが。

205 :デフォルトの名無しさん:2011/08/26(金) 15:58:24.45
>>204
配列使えば?

206 :デフォルトの名無しさん:2011/08/26(金) 16:04:06.45
この前面接行った時に、
「Java言語を簡単に説明してください」
って言われたんだけど、皆ならなんて答える?

ちなみに俺は
「そーっすね・・・ま、えーっと・・・、
メモリ?・・とか気にしなくていいっていうかー・・・
まぁ・・・安全?・・・そこらへんは安全なんじゃないでしょうか。
あとは、うん・・・オブジェクト的な感じで・・・はい・・」

ってなって(ああもう駄目だな)って思ったけれども

207 :デフォルトの名無しさん:2011/08/26(金) 16:07:31.81
C++コンパイラでかいてもCかもしれないが、
Javaでかけば、いちおうオブジェクト指向でかいたことになる。
型にうるさい点で、Javaは、C++ににている。
型がないRubyは、ものすごく楽だから、油断する。

208 :デフォルトの名無しさん:2011/08/26(金) 16:07:56.00
>>205
レスありがとうございます。

例では単純Stringとしましたが、独自クラスで変数名が被るのを避けたい状況です。
例えば、ArrayListを使って
hogehoge.get(0) で呼び出す物と、
hogehoge.get(1) で呼び出す物の変数名が同じだと都合が悪いのです。

209 :デフォルトの名無しさん:2011/08/26(金) 16:09:45.48
>>208
つまり、forループで書くべき処理ではないってことかもよ

210 :デフォルトの名無しさん:2011/08/26(金) 16:13:00.95
>>209
forループ内で毎回変数名を+1付け足して、
名前変更するような処理は出来ないってことでしょうか?・・・

211 :デフォルトの名無しさん:2011/08/26(金) 16:16:49.04
名前変えないと何ができないのか良くわからん。

212 :デフォルトの名無しさん:2011/08/26(金) 16:19:18.52
1回目のループではFooクラスの変数が1つ宣言されてて、
2回目のループではFooクラスの変数が2つ宣言されてて、
ってことか?

無理じゃないか?


213 :デフォルトの名無しさん:2011/08/26(金) 16:24:06.69
リフレクション使えばできるよ。

214 :デフォルトの名無しさん:2011/08/26(金) 16:25:23.01
>>208
配列使えば?

215 :デフォルトの名無しさん:2011/08/26(金) 16:28:45.01
>>213
リフレクションをどういう感じで使うんでしょうか?
ご教示お願いします。

216 :デフォルトの名無しさん:2011/08/26(金) 16:30:00.74
日本でジャバが流行らないのはなんでですか?

217 :デフォルトの名無しさん:2011/08/26(金) 16:36:28.09
>>215
よく見たらローカル変数か。
リフレクションでローカル変数の取得は無理だったわ。


218 :デフォルトの名無しさん:2011/08/26(金) 16:44:18.86
名前の違うフィールド増やす、だとしてもリフレクションじゃ無理だな。

219 :デフォルトの名無しさん:2011/08/26(金) 16:46:17.54
配列じゃなくてArrayListならいいとか、Map<String,Object>ならいいとか、そういうこと?


220 :デフォルトの名無しさん:2011/08/26(金) 16:48:20.13
念のためArrayListを使って確かめてみましたが、
やはり、結局変数名が同じになってしまうのでダメでした。

毎回変数名を変えるのは諦めて、別のアプローチをしてみようかと思います。
相談に乗って頂き、ありがとうございました。

221 :デフォルトの名無しさん:2011/08/26(金) 17:31:21.52
結局、質問の意味が解らんかったな。

222 :デフォルトの名無しさん:2011/08/26(金) 17:52:02.93
こういうときは、何をする処理を書きたいかを聞いた方が的確に答えてもらえるよな。
本人の中では、その処理をするためにそれは必要だと思っているのだろうけど。

223 :デフォルトの名無しさん:2011/08/26(金) 19:42:59.69
みなさん、こんぬつは。

私はもうプログラマをやめて営業職をしていますが(他業界)
今でも8080ナンバーの車をみると
Tomcatのポート番号かあ・・と思ってしまいます。

224 :デフォルトの名無しさん:2011/08/26(金) 19:46:55.55
どうぞそのまま営業職を頑張って続けてください

225 : ◆QZaw55cn4c :2011/08/26(金) 20:17:44.96
>>223
intel 8080 ではないのですね。

226 :デフォルトの名無しさん:2011/08/26(金) 20:21:00.39
>>223
友人宅の車のナンバーは8086


227 :デフォルトの名無しさん:2011/08/27(土) 09:42:58.49
とある事情で暇になり、新規にjavaプロジェクトを立ち上げようと思っている者です。
自分はperlプログラマでもあるので、富豪的プログラミングや、プログラミングの簡易化などを目標に、
即戦力となる利便性の高いライブラリを公開していきたいと考えています。
具体的にはFileUtil、StringUtil、OptGets、Config、DataDumper、MD5、ExcelUtil、GUI関連のクラス、NullUtilなどがあります。

それで、今は仮に「lazyutil」と呼んでいるのですが、自分はネーミングセンスがないので、
もっとよい呼び名はないか、考えてはいただけないでしょうか。
よろしくお願いします。

228 :デフォルトの名無しさん:2011/08/27(土) 10:19:02.09
junkutil

229 :デフォルトの名無しさん:2011/08/27(土) 10:19:28.00
commonsと被ってる部分が結構多そうな予感……

230 :デフォルトの名無しさん:2011/08/27(土) 10:21:49.46
wasteoftime

231 :デフォルトの名無しさん:2011/08/27(土) 10:33:40.77
reinventingthewheel

232 :デフォルトの名無しさん:2011/08/27(土) 11:02:07.10
http://chosuke.rumix.jp/main.aspx?g=6430245a3f64679be
これの7−1 出来ません。 教えてください。

233 :デフォルトの名無しさん:2011/08/27(土) 11:19:20.43
>>228
junkutilですか。かっこいいですね。使ってもいいですか?

>>229
commonsがさっさとリリースしてくれれば俺が書かなくても
済むんですが……。

>>230
時間の浪費(WoT)ですか。
ちょっと馴染みが無い表現ですね。

>>231
車輪の再発明(RtW)ですか。
なるべく丸く作るよう努力します。

234 :デフォルトの名無しさん:2011/08/27(土) 11:28:12.74
final class おれ様Utils extends ちんこ勃起

235 :デフォルトの名無しさん:2011/08/27(土) 12:31:22.29
>>216

236 :デフォルトの名無しさん:2011/08/27(土) 16:04:50.68
234
implements Impotenz

237 :デフォルトの名無しさん:2011/08/27(土) 17:47:53.99
apache→アパッチ族→ゲロニモ→シャーマン→巫女→巫女みこナース→巫女みこ→micomico→micomi-commons

んじゃ「Micomi Commons」で。

238 :デフォルトの名無しさん:2011/08/27(土) 18:30:01.85
>>227
>FileUtil、StringUtil、OptGets、ExcelUtil、NullUtil
まずこんなクラスを排除することから始めるんだな。クラス設計が腐ってる

239 :デフォルトの名無しさん:2011/08/27(土) 19:31:38.53
>>238
どういう設計がいいですか?

240 :デフォルトの名無しさん:2011/08/27(土) 19:45:43.79
いや柔軟性とか拡張性とか言い出したら使いづらくなってわざわざユーティリティ作る意味が
なくなるからオブジェクト指向設計的にどうとか考えなくていいと思うよ。

241 :デフォルトの名無しさん:2011/08/27(土) 19:57:59.63
それって公開するの?使いやすいライセンスにしてほしいな。個人的にはGPLでもいいのだけれど
名前がどうのこうのよりドキュメントをちゃんと書いて欲しい。これがないユーティリティなんて悲惨だわ

242 :デフォルトの名無しさん:2011/08/27(土) 20:02:06.03
俺っちコモンズで

243 :デフォルトの名無しさん:2011/08/27(土) 20:10:21.27
Jakartaでええがな

244 :デフォルトの名無しさん:2011/08/27(土) 20:17:08.09
>>239
まずユーティリティークラスの存在自体がかなりおかしい。
そのクラスは何を表す概念なの?
J2SEのAPIに???Utilなんて無いでしょ。

245 :デフォルトの名無しさん:2011/08/27(土) 20:25:47.43
いるよねー利便性じゃなくて
OOP的にどうなの?的ないちゃもん付けるやつ
殆ど100%ろくにプログラムすら書けないの

246 :デフォルトの名無しさん:2011/08/27(土) 20:26:30.50
パッケージにはjava.utilがあるから、パッケージjunk.utilとか作ってそこに収めればどうだろう?
ところで、自作のパッケージってどこに入れたらいいのかな?java以下に勝手に入れるとまずいよね。

247 :デフォルトの名無しさん:2011/08/27(土) 20:29:19.00
>自作のパッケージってどこに入れたらいいのかな?java以下に勝手に入れるとまずいよね。
使うのをためらってしまいそうな発言だな…w

248 :デフォルトの名無しさん:2011/08/27(土) 20:33:31.53
いやいや、246!=227だよ。ちょっと便乗しただけさ。
今はorig.〜みたいに勝手に作ってやってるけど、これってどうなん?自由なんって思っただけ。なんかスマンw

249 :デフォルトの名無しさん:2011/08/27(土) 20:36:23.89
OpenJDKがGPLだからGPLで結局問題ない

250 :デフォルトの名無しさん:2011/08/27(土) 20:39:03.94
>>248
自由。
トラブル起こらないように自分が持ってるドメイン名の逆を使った方が良いよ、という程度。
昔はパッケージ名の登録所みたいなサイトが有ったけど最近は使ってないな。

251 :デフォルトの名無しさん:2011/08/27(土) 20:49:22.13
てかユーティリティ公開するのに自サイトの一つくらいもってないのかw

252 :デフォルトの名無しさん:2011/08/27(土) 21:17:10.77
>>244
標準APIに無いからしかたなく???Utilってつくるんじゃん。
そらJ2SEのAPIには無いわ。

253 :244:2011/08/27(土) 21:44:00.63
>>245
>OOP的にどうなの?的ないちゃもん付けるやつ
ほう。OOP的に間違っていることは理解できるんだ。
特定のクラス内で閉じたり特定のクラスと関連が強いのにわざわざUtilに出す
アホが多くて困るわ。

>>252
お前の作るUtilが標準APIに無いのは当たり前だろ。
すべてのUtilクラスの存在がおかしいと言っているんだ。アホですか?

254 :デフォルトの名無しさん:2011/08/27(土) 22:05:55.08
ふんがー!ふんがー!

255 :デフォルトの名無しさん:2011/08/27(土) 22:39:21.34
>>238
それでどういう設計がいいんですか?

256 :デフォルトの名無しさん:2011/08/27(土) 22:39:51.10
>>253
ほい。
http://commons.apache.org/lang/api-release/index.html

257 :デフォルトの名無しさん:2011/08/27(土) 23:16:07.42
語尾にs付いてないから間違いとか言い出しそうだw

258 :デフォルトの名無しさん:2011/08/27(土) 23:36:58.85
>>244
SwingUtilitiesがあるだろ

259 :デフォルトの名無しさん:2011/08/27(土) 23:43:56.72
>>244
適当言ってんじゃねえよ。
javax.rmi.CORBA.Util
javax.swing.text.Utilities


260 :デフォルトの名無しさん:2011/08/28(日) 00:01:50.59
>>206

261 :デフォルトの名無しさん:2011/08/28(日) 00:51:39.72
標準ライブラリをラップしただけのユーティリティが世の中にこれほど量産されて
それが有難がられるってことはそもそも標準ライブラリの設計にも問題があるんだろうな
実際使いづらいし

262 :デフォルトの名無しさん:2011/08/28(日) 00:57:36.72
そうかな。
バージョンの重ねるごとに改善されて行ってると思う。
7のFileSystemとPathはまだ違和感があるけどw

263 :デフォルトの名無しさん:2011/08/28(日) 00:57:41.32
>>238
そうするとどういう設計がいいんでしょうか?

264 :デフォルトの名無しさん:2011/08/28(日) 01:03:20.33
なんとかUtilってクラスメソッドの置き場所に困ってるからとりあえず名前で括っとくか的なノリだよね。

265 :デフォルトの名無しさん:2011/08/28(日) 01:17:55.77
凝集度っていうのがクラスのまとめ方の目安になるよ
Utilによくまとめられるものは、機能的に似たものを寄せ集めるって感じで、
論理的凝集にあたり、凝集度が低いとされる
凝集度の低いモジュールは保守/評価/再利用/読解が難しいため好ましくないとされる

ttp://ja.wikipedia.org/wiki/%E5%87%9D%E9%9B%86%E5%BA%A6

266 :デフォルトの名無しさん:2011/08/28(日) 01:33:18.72
凝縮度が高いUtilクラスもあるわけで、
Utilクラスだから凝縮度が低いわけじゃない。

Fileクラスに足りない機能を作りたい場合にFileUtilクラスを作る場合もあるけど、
これは通信的凝集にあてはまるので凝縮度が低いとはいえない。

SwingUtilitiesは偶発的凝集かな?

論理的凝縮のUtilクラスの例は思いつかないなぁ。

267 :デフォルトの名無しさん:2011/08/28(日) 03:43:14.59
状態を持たないなら寄せ集めでも大して問題はない

268 :デフォルトの名無しさん:2011/08/28(日) 05:38:13.52
>>266
SwingUtilitiesは手続き的凝集を機能毎にSwingUtilities、SwingUtilities2、SwingUtilities3に分けてある。
汎用性の高いものだけ公開APIにしてあるから偶発的に見えるだけ。
SwingUtilitiesこそSwing実装の共通部分を疎結合にするためにある。

269 :デフォルトの名無しさん:2011/08/28(日) 09:26:55.73
SAXなどでxmlの中の全要素をxmlの記述で取得することはできないでしょうか?

たとえば、
<a><b><c/>dddd<e>fff</e>ggg</b>hhh</a>
というxmlで、<b>〜</b>の
<c/>dddd<e>fff</e>ggg
を取得したいのですが?



270 :デフォルトの名無しさん:2011/08/28(日) 10:37:00.14
パーサーにそんな機能はないので自分でやる。
というか自分でやる以外にない。

271 :デフォルトの名無しさん:2011/08/28(日) 10:41:32.79
ですよねー。

272 :デフォルトの名無しさん:2011/08/28(日) 11:05:23.29
HTMLの特殊文字エスケープを逆変換するメソッドってありますか?
< → < とか & → & の変換をするコードはけっこう見つけたけど、
String中の & や < を元に戻すコードは見つからなかったのですが

273 :272:2011/08/28(日) 11:07:24.03
失礼。2行目
× < → < とか & → &
○ < → &lt; とか & → &amp;

274 :272:2011/08/28(日) 11:31:57.16
ごめんなさい。自己解決しました。 Apache commons langってのがあるんですね

275 :デフォルトの名無しさん:2011/08/28(日) 12:28:47.04
数行書けばいいだけのことにcommonsはでかすぎないか?

276 :272:2011/08/28(日) 12:51:41.61
>>275
確かに。。。
面倒臭がらないで自分で書くべきですかね

277 :デフォルトの名無しさん:2011/08/28(日) 13:50:36.41
ちょいと参考書について質問があるんだけど、
ハンドラーとかDTOとか、用語からの概念を説明しているサイトなんかは沢山あるけど
それが実際にどういったソースコードで表現されているかを
サンプルソースをふんだんに使って解説している参考書は無いかな?

278 :デフォルトの名無しさん:2011/08/28(日) 15:49:30.51
クラス設計やユーテレテー設計を日本語で勉強するならジャバよりもシーシャープの方が全然勉強になるって聞いたんですけどどうしてですか?

279 :デフォルトの名無しさん:2011/08/28(日) 16:52:14.53
>>278
その人がM$信者だというだけです。

280 :デフォルトの名無しさん:2011/08/28(日) 19:21:03.15
>>278
そら、Javaのクラス設計は汚いからな。
C#も2.0までは糞だったが、3.0からかなり良くなった。

281 :デフォルトの名無しさん:2011/08/28(日) 19:44:50.61
それならどういうクラス設計にするとジャバ全体の設計は良くなるんでしょうか?

282 :デフォルトの名無しさん:2011/08/28(日) 19:46:50.63

11月 旅行 結婚式 12月 1月
|   ▼   ▼    | |
−−−−−−−−−−−−−−−−−−−−−−−−−−−−

こんな感じのを出したいんですけどなんかそれっぽいライブラリありませんか?

283 :デフォルトの名無しさん:2011/08/28(日) 20:34:55.26
それぐらいだったら、ライブラリなんか探さなくても
 System.out.println("11月 旅行 結婚式 12月 1月");
 System.out.println("|   ▼   ▼    | |");
 System.out.println("−−−−−−−−−−−−−−−−−−−−−−");
でいいじゃない。

284 :デフォルトの名無しさん:2011/08/28(日) 20:38:23.65
>>281
こうあるべき、だけじゃなくて使う人のことを考える

285 :デフォルトの名無しさん:2011/08/28(日) 20:54:34.66
>>282
マジレス
HTML

286 :デフォルトの名無しさん:2011/08/28(日) 21:12:06.44
>>280
2.0も3.0もだいたい同じだな
さては大して使ったこともないのに適当にいってるんだろ?

287 :デフォルトの名無しさん:2011/08/28(日) 21:25:57.98
どんなにスンバラシイ設計をしたとしても誰かからは
イチャモンつけられるんだから、
自分が使いやすいように好きに設計すればいいいんだよ^^

288 :デフォルトの名無しさん:2011/08/28(日) 22:12:06.64
設計云々よりも英語も出来ないのにジャバを勉強しちゃおうなんてのは時間の無駄

289 :デフォルトの名無しさん:2011/08/28(日) 22:30:05.78
>>286
お前、3.0のWPFでGUIが完全に全部作り直しになったのに同じって、
本気で言ってるのか?

290 :デフォルトの名無しさん:2011/08/28(日) 22:41:49.46
WPFなんてSWT並に普及してないだろ。

291 :デフォルトの名無しさん:2011/08/28(日) 22:45:00.27
日本では実はC#よりもVBでドットネットにアクセスしている人の方が多い。

292 :デフォルトの名無しさん:2011/08/29(月) 00:13:35.83
ライブラリ全体がガラッと変わったかのような口ぶりだったのにGUI周りだけの話かい

293 :デフォルトの名無しさん:2011/08/29(月) 01:16:20.05
Java 7のFIleSystemとPathは使いやすいのか使いにくいのか良くわからんな。

294 :デフォルトの名無しさん:2011/08/29(月) 01:45:11.71
カタカナ書き流行ってんの?
今のところ揶揄したがりさんしかカタカナ書きはしてないようだけどさ

295 :デフォルトの名無しさん:2011/08/29(月) 03:53:27.78
同じ奴に決まってるだろ

296 :デフォルトの名無しさん:2011/08/29(月) 04:43:52.02
>>216

297 :デフォルトの名無しさん:2011/08/29(月) 07:20:20.66
>>278
そんな話初めて聞いた。どこでそれを?

298 :デフォルトの名無しさん:2011/08/29(月) 07:23:21.56
>>293
相互変換もそんなに苦じゃないわけだし、自分のコードの中で使う分には使いやすさは同等。
だけど標準APIやらCommonsやらのインタフェースがFileばっかりなので…

299 :デフォルトの名無しさん:2011/08/29(月) 12:33:22.25
GAEの掲示板つくろうと思ってるんやけど
テンプレートエンジンはどれがいいかな

VelocityやThymeleafがあるのは知ってるけど
ORACLEのJavaEE関連ではテンプレートエンジンってあるの?

掲示板のテンプレートサンプルあったら
そのまま使ったろー思ってちょっと調べたけどみつかんなかったわ

300 :227:2011/08/29(月) 22:43:29.12
JunkUtil、少し整理ができたので、圧縮したプロジェクトとJavaDocを公開します。

http://www.arkhamsoft.jp/junkutil/

なんでこの機能が無いんだ。なんでこの機能があるんだ。
この部分未完成だろ糞が。などの手厳しい御意見を頂ければ幸いです。

301 :デフォルトの名無しさん:2011/08/29(月) 23:11:14.05
無駄にシングルトンにしないで全部staticでいいよ
インターフェイス被せたりしないなら何の意味もない

302 :227:2011/08/29(月) 23:14:13.25
>>381
そうですか。全体的に見直してみます!

303 :デフォルトの名無しさん:2011/08/30(火) 00:25:17.58
配列に関する質問です。

例えば
Hoge[]hoge = new Hoge[10000];
という配列を作り、
hoge[100]までしか使わないことによって、どのようなデメリットが発生しますか?

304 :デフォルトの名無しさん:2011/08/30(火) 00:37:02.28
lengthが使えないので面倒
メモリの無駄

305 :デフォルトの名無しさん:2011/08/30(火) 02:00:47.36
>>381でどんな素晴らしいレスが来るのか期待

306 :デフォルトの名無しさん:2011/08/30(火) 03:37:40.61
Java SE 6 ドキュメント 日本語版がほしいんだけど
DLできません
英語版はDLできる
どうなってんだ

307 :デフォルトの名無しさん:2011/08/30(火) 03:59:12.17
スレの上の方に補完あるよ

308 :デフォルトの名無しさん:2011/08/30(火) 04:10:13.72
>>307
ありがとう補完分を手に入れられました。
冷静にスレ読んだら英語版だけになったのをやっと理解しました
久しぶりに勉強再開するので日本語翻訳版があって当たり前だと思い込んでました。


309 :デフォルトの名無しさん:2011/08/30(火) 09:14:48.80
2つ入力欄があって

Aに入力あり Bに入力ありの場合
Aに入力あり Bに入力なしの場合
Aに入力なし Bに入力ありの場合
Aに入力なし Bに入力なしの場合


で処理を分けたいんですけどどのようにすればスマートに行きますか?

310 :デフォルトの名無しさん:2011/08/30(火) 09:17:00.43
if文を使えばいい。

311 :デフォルトの名無しさん:2011/08/30(火) 09:31:28.78
Obserberパターンだな
項目の状態を監視するクラスを作って、更新の都度メソッドを呼び出せばいい。
複雑な設定画面や帳票画面なんかでよく使われる。

312 :デフォルトの名無しさん:2011/08/30(火) 09:33:13.34
すまん上げてしまった。

313 :デフォルトの名無しさん:2011/08/30(火) 11:06:53.46
唐突にすいません。ちょっと困っています。
今研究室でニュートン法やSD法などを勉強しながらjavaを使ってプログラムをしたりしているのですが、そういった解析に関するプログラムについての質問はどこですればいいのでしょうか?
もしよければ教えてください。

314 :デフォルトの名無しさん:2011/08/30(火) 11:12:27.93
学校の先生に聞け
JavaよりCの宿題スレとかFortranのスレとかの方が詳しい人いると思う

315 :デフォルトの名無しさん:2011/08/30(火) 19:24:19.93
マルチうぜえ

316 :デフォルトの名無しさん:2011/08/30(火) 19:24:49.45
http://mixi.jp/view_bbs.pl?id=64669912&comment_count=5&comm_id=368966

317 :デフォルトの名無しさん:2011/08/30(火) 21:19:01.91
>>309
白い目で見られると思うけどビットフラグ

318 :デフォルトの名無しさん:2011/08/30(火) 22:31:14.01
Javaを使ってコマンドプロンプトの閉じるボタンを押しても無効化できる方法ってありますか?

319 :デフォルトの名無しさん:2011/08/31(水) 00:18:27.23
んな環境依存なことJavaでまともな方法でできるわけない

320 :デフォルトの名無しさん:2011/08/31(水) 00:27:08.17
拡張子が.javaらしいファイルを落としてきたのですが
これをどうすればいいですかね

321 :デフォルトの名無しさん:2011/08/31(水) 00:32:38.01
jdkをインストールする所から始めると考えると結構骨だな

322 :デフォルトの名無しさん:2011/08/31(水) 00:38:23.65
>>320
http://www.microsoft.com/japan/msdn/archive/vjsharp/default.aspx

323 :デフォルトの名無しさん:2011/08/31(水) 00:40:57.63
>>320
らしいって何だ
拡張子見ても.javaじゃ無いって事か?


324 :デフォルトの名無しさん:2011/08/31(水) 00:41:40.95
拡張子表示してないんだろう。。。

325 :デフォルトの名無しさん:2011/08/31(水) 00:45:33.95
>>320
メモ超ひらいて.jaraらしいファイルをドラッグ&ドロップ

326 :デフォルトの名無しさん:2011/08/31(水) 02:35:46.19
誰か居る?

327 :デフォルトの名無しさん:2011/08/31(水) 02:40:53.57
iruyo

328 :デフォルトの名無しさん:2011/08/31(水) 02:47:02.51
使い終わった配列をnullにするとどのタイミングでガーベージがクリアしてくれるんだろう。

329 :デフォルトの名無しさん:2011/08/31(水) 02:51:17.57
状況によるとしか言えないんじゃないのか
少なくともnullを代入した直後にすぐgcはされないだろうけど

330 :デフォルトの名無しさん:2011/08/31(水) 08:54:56.95
nullにしたあとマークされた後にGCが来るタイミングじゃないの?

331 :デフォルトの名無しさん:2011/08/31(水) 09:02:49.16
>>329
リファレンスカウントを使った実装が
無いとも言い切れないんじゃないかと思うが

332 :デフォルトの名無しさん:2011/08/31(水) 09:57:12.65
>>331 Javaなのに?

333 :デフォルトの名無しさん:2011/08/31(水) 10:02:34.14
そういやG1GCってもうデフォで有効になってるんだっけ?

334 :デフォルトの名無しさん:2011/08/31(水) 10:25:42.48
>>328
その質問に明確な答えが用意されていれば
Javaの普及率はもっと進んでいたであろう

って答えじゃダメかい?

335 :デフォルトの名無しさん:2011/08/31(水) 11:05:52.73
長く使ったオブジェクトなら使い終わってもなかなかGCは来ないよ
早くGCしてほしいなら中途半端に保持しないで速攻で使い捨てろ

336 :デフォルトの名無しさん:2011/08/31(水) 12:17:19.45
日立電子サービスの者が掲示板で問合せをしている。
悠長なもんだ。
しかもマルポ

http://bbs.wankuma.com/index.cgi?mode=al2&namber=61716

337 :デフォルトの名無しさん:2011/08/31(水) 12:38:30.60
>>278

338 :デフォルトの名無しさん:2011/08/31(水) 12:42:36.28
HashMapとArrayListの両方の機能を持ち合わせたようなクラスがあるとうれしいんだけど
そういう機能を持ったクラスって無いのかな?

339 :デフォルトの名無しさん:2011/08/31(水) 13:05:17.13
リフレクションを使って取得したオブジェクトを、文字列化しようとしています。

Object rtObj = method.invoke(obj, new Object[]{}); //getterを呼ぶ
if (rtObj != null && rtObj.getClass().isArray()) {
  try {
    rtObj = Arrays.asList((Object[])rtObj); //String[]などをList化する
  } catch (Exception ex) {
    //TODO: boolean,int,float,doubleの配列を加工する
  }
}
String rtObjStr = (rtObj==null) ? "null" : rtObj.toString(); //Listなので"[1, 2, 3]"と表示される

TODO のところがわからないので教えてください。
プリミティブ型の配列の型を判別し、List化または文字列化するには
どのようなコードを書けばよいのでしょうか?

340 :デフォルトの名無しさん:2011/08/31(水) 13:36:27.33
>>338
google collectionsのmultimapみたいな奴?

341 :デフォルトの名無しさん:2011/08/31(水) 14:45:46.29
>>339
//List版
if (rtObj instanceof boolean[]) {
  boolean[] pa = (boolean[])rtObj;
  Boolean[] wa = new Boolean[pa.length];
  for (int i = 0; i < pa.length; i++) wa[i] = Boolean.valueOf(pa[i]);
  rtObj = Arrays.asList(wa);
} else (rtObj instanceof int[]) {
//以下延々と続く……

//文字列版
if (rtObj instanceof boolean[]) {
  boolean[] a = (boolean[])rtObj;
  StringBuilder sb = new StringBuilder("[");
  for (int i = 0; i < a.length - 1; i++) sb.append(a[i]).append(", ");
  if (0 < a.length) sb.append(a[a.length - 1]);
  sb.append("]");
  rtObj = sb;
} else (rtObj instanceof int[]) {
//以下延々と続く……

342 :デフォルトの名無しさん:2011/08/31(水) 15:05:11.59
>>329-335
ありがとう基本的には>>335を重視してる

343 :デフォルトの名無しさん:2011/08/31(水) 15:48:27.50
>>341
ありがとうございます。

344 :デフォルトの名無しさん:2011/08/31(水) 16:06:49.80
>>340
すげーな。俺は>>338が何を聞きたいのかさっぱりわからんかったぞ。

>>339
CommonsのLangにToStringBuilderみたいな名前のが無かったっけ?
要求にマッチしてるかは知らんけど。

345 :デフォルトの名無しさん:2011/08/31(水) 18:51:57.69
こういう書き方ってありですか?

ArrayList<String[]>hoge = new ArrayList<String[]>();

hoge.get(1)[2] = "らららー";

346 :デフォルトの名無しさん:2011/08/31(水) 20:57:14.15
ちょっとした内部実装に使うのはあり
クラスの外に晒すのはなし

347 :デフォルトの名無しさん:2011/08/31(水) 22:08:44.86
>>339
オブジェクト指向風味

public class ListAdapter extends AbstractList<Object> {
private final Object target;
public ListAdapter(Object target) { this.target = target; }
@Override public Object get(int index) { return Array.get(target, index); }
@Override public int size() { return Array.getLength(target); }
}


348 :デフォルトの名無しさん:2011/08/31(水) 22:25:10.05
>>216

349 :デフォルトの名無しさん:2011/08/31(水) 22:48:22.22
>>216
MATLABなんかに使われてるところなんかからすると、日本人の言語や思考にあってないのかもね。
理系の人が少ないのもあるだろうし。


350 :デフォルトの名無しさん:2011/08/31(水) 23:19:24.91
jvmの未定義オペコードがだいぶ残っている状態でずいぶん経ちますが複素数とかスタック構造体とかアレイ・ストリーム演算(sse,vectorなど)とか欲しいですよね。
そのようなjava言語改定もせず余っているオペコード枠も埋めないのはどうしてですか?

351 :デフォルトの名無しさん:2011/08/31(水) 23:24:01.79
数値計算はマイナーな用途だから
値型は確かに欲しいけどそれより浮動小数点例外が欲しい

352 :デフォルトの名無しさん:2011/09/01(木) 00:27:59.08
浮動小数点例外てのはqnan,snanですよね。
webでも使ってるところをあまり見たことないですがどんな用途の時に使うんですか?

353 :デフォルトの名無しさん:2011/09/01(木) 00:59:07.29
デバッグに使うんだよ
数値計算だとバグで結果がNaNやInfで埋め尽くされることはよくあるので
その原因特定に使える

354 :デフォルトの名無しさん:2011/09/01(木) 01:08:45.09
どういう理由でオペコードがだいぶ余っているのか知りませんが、(仮想)計算機はosと同じくcpu,gpu,dmaなどのハード・チップ提供の機能にアクセスする手段を持ってこそナンボのものだと思うんですけど・・・

355 :デフォルトの名無しさん:2011/09/01(木) 01:16:50.35
元々その辺はJNIに任せる予定だったんじゃなかったかな。
Javaはそれよりも高いレベルの処理を受け持つといったように役割が明確に分かれてたはず。


356 :デフォルトの名無しさん:2011/09/01(木) 02:03:22.76
ところが最近のモーバルとか組み込みはcpu 1G, strage 4Gなんて当然ですし、オペコードが15年前の32bits pc仕様のままなのはどうなんでしょう・・・

357 :デフォルトの名無しさん:2011/09/01(木) 05:00:22.96
Javaで、Rubyでいうところのクラスインスタンス変数に相当するものはありますか。
クラスインスタンス変数とは、子クラスごとに違う値を設定できるようなクラス変数です。

class Parent {
 static String var = null;
}
class Child1 extends Parent {
 static { var = "Foo"; } // Parent.var とは違う値を保持する
}
class Child2 extends Parent {
 static { var = "Baz"; } // Child1.var とは違う値を保持する
}


358 :デフォルトの名無しさん:2011/09/01(木) 07:45:38.79
子クラスと親クラスで同名のprivate static final なフィールドは宣言できたと思うけど。
もちろん子クラス同士でも。
Java的な方法はgetterをオーバロードしてそれぞれの子クラスで返す定数値を定義する、でしょうね。

359 :デフォルトの名無しさん:2011/09/01(木) 08:24:55.33
>>357
ない。
メソッド使っていいのなら似たようなことは可能。

class Oya {
private static String VAR = null;

public static String getValue() {
return Oya.VAR;
}
}

class Ko {
private static String VAR = "Foo";

public static String getValue() {
return Ko.VAR;
}

VAR, getValue()はオーバーライドではなく、隠蔽であることに注意。
内部情報はそのまま晒すなと。

360 :デフォルトの名無しさん:2011/09/01(木) 08:30:55.90
Ko にextends Oyaつけ忘れてた。
脳内補完頼む。

>>358
オーバーロードとオーバーライドは別物だよ?

361 :デフォルトの名無しさん:2011/09/01(木) 09:07:39.93
>>356
スタックマシンだから少なくて済むし
何のための仮想マシンだと思ってるのか
特定のCPUに依存したら意味がない
バイトコードはあくまで軽く前処理されたソースコードであって、そこから先はJITコンパイラの仕事

362 :デフォルトの名無しさん:2011/09/01(木) 09:16:57.71
>>359
なるほど。
やりたいことは、ActiveRecordのように、クラス毎にテーブル名を設定することです。
protected class Entry {
 public static String getTableName() { return null; }
}
public class Product extends Entity {
 private String tableName = "products";
 public static String getTableName() { return tableName; }
}
public class Order extends Entity {
 private String tableName = "orders";
 public static String getTableName() { return tableName; }
 //or public static String getTableName() { return "orders"; }
}
とするしかないってことですかね。
うーん、いまいち。

363 :デフォルトの名無しさん:2011/09/01(木) 09:23:38.55
>>360
ごめん別の解法書いてて書き直した際にそこだけ修正漏れた

364 :デフォルトの名無しさん:2011/09/01(木) 09:31:39.01
>>362
クラスとテーブルの対応が動的に変わらないのなら、自分ならアノテーションを考える。

@Bind(table="fooMaster")
public class FooEntity extends Entity {
/* ... */
}



365 :デフォルトの名無しさん:2011/09/01(木) 10:02:21.96
>>357ってできないんだ
しらんかった

366 :デフォルトの名無しさん:2011/09/01(木) 10:26:35.79
>>365
上にあるとおり、サブクラスで親クラスと同じ名前のstatic変数を定義することで、
親クラスの変数を隠蔽すれば、それっぽい感じにはなるな。
ただ、そのまま見せると変更に弱くなるからメソッドを挟んでおくってだけ。

例えばVARをStringから何かのクラスに変更して、返すのはそのクラスの属性にするとかね。

367 :デフォルトの名無しさん:2011/09/01(木) 10:33:42.60
>>364
アノテーション使っても、子クラス毎にstatic変数やstatciメソッドを定義しないといけないから、解決になってないと思うけど。

for (Annotation ann: FooEntity.getDeclaredAnnotations()) {
 if (ann instanceof Bind) {
  String value = ((Bind)ann).value();
  FooEntity.setTableName(value);  // これをするためには
 }
}

class Entity {
 private static tableName;
 public static void setTableName(String name) { tableName = name; } // 親クラスに定義するだけではだめで、
}

class FooEntity extends Entity {
 private static tableName;
 public static void setTableName(String name) { tableName = name; } // 子クラス毎に定義しないといけない
}


368 :デフォルトの名無しさん:2011/09/01(木) 11:24:18.10
クラス変数を子ごとに別に持ちたい奴が変更なんて考えてるわけないから隠蔽するだけでいいよ。

369 :デフォルトの名無しさん:2011/09/01(木) 11:46:53.02
>>368
ちがうよ。アノテーションで指定した値をクラス変数に保存するためにstaticなsetterを使ってるのであって、変更を許すかどうかは関係ない。

370 :デフォルトの名無しさん:2011/09/01(木) 12:36:43.60
まともなジェネリクスがあれば解決できるパターンだが、Javaだからな…

371 :デフォルトの名無しさん:2011/09/01(木) 13:11:45.51
>>367
ごめんなさい。きちんと意図が伝わらない書き方だったかな。

アノテーションに書けばクラス変数は不要だろうと考えた。
O/Rマッパーなりフレームワークなりの規約として変数が必要なら仕方がないんだけどね。

372 :デフォルトの名無しさん:2011/09/01(木) 13:50:30.14
>>361
それが、jvm仕様より歴史が古くさまざまなcpu向けのシー言語ですら_Complexやスタックstructが当り前のようにサポートされていますが、15年以上前の思想のまま止まっていて32bitsマシンが前提のバイトコードに付いて何か勘違いしてませんか?

373 :デフォルトの名無しさん:2011/09/01(木) 14:26:20.70
>>372
バイトコードはJavaのソースコードのセマンティクスをだいたい維持してるよ?
詳細な最適化をjavacの段階で行う代わりにJITの段階で行っているに過ぎない。
そもそもJVMはスタックマシンで機械語とは構造が全く違うだろう。
JVMがポータブルな形でユーザー定義値型に対応することはもちろん可能だろうし
個人的にはそうなって欲しいが、なぜそれをCPUの命令と直接結びつけて考える必要がある?

374 :デフォルトの名無しさん:2011/09/01(木) 15:57:10.00
15年前は1995年でウインドウズ95が出た頃ですが、その頃の量産型計算機(いわゆるパソコン)は
cpu 200-400M, mem 16-80Mでfpu unit(mmx,sse,ieee)と、graphics vramが16M-64Mなど大きくなり2d graphics(directx gdi+, awt grahics2d)が本格的に一般化するころでした。
ただしjavaでは1.4辺りまではawtでソフト処理のままハード提供(2000年当時はos提供)の2d graphicsを利用せず、
結果的にswingが遅く実用的でないので2dとdesktopはswt(eclipse)やflash(applet)に食われてしまいました。

現在2010年での32bits普及型(タブレットやスマート)はcpu 400M-1G, gpu 3d(opengl), array unit(cell,vector)など
ハードで用意されてますが組み込み採用を目指している現在のjvm仕様ではその機能にアクセスできないので簡単に利用できないのと同じです。
バイトコードの追加はc99機能程度のは当然ですが、他にアレイ演算(ベクトル処理)やマルチコア(マルチプロセス)などもサポートして現代的なjvm仕様が望ましいと思います。

375 :デフォルトの名無しさん:2011/09/01(木) 16:12:04.80
つ C#

376 :デフォルトの名無しさん:2011/09/01(木) 16:16:31.33
CやJavaが言語仕様レベルでSIMDをサポートしてるのか? そんなもんコンパイラの問題だろ?
それと同じ理屈なんだが
バイトコードが1対1で機械語に変換されるとでも思ってるのか?

377 :デフォルトの名無しさん:2011/09/01(木) 16:17:41.74
awtの前例を出したのは、今までのようにJITを前提としたosの抽象化のこだわりが、awt/swing時の問題点とまったく同じ状況なのです。
1.4ではVolatileImage, BufferStrategyが出てawt抽象化のこだわりを捨てて2dがだいぶ改善されたのと似ていますが、
現在のjvmバイトコード仕様とJIT依存でなくユーザが追加バイトコードを介してそれらハード機能を直接利用できるようにすることに結局なるだろうということです。

378 :デフォルトの名無しさん:2011/09/01(木) 16:26:50.17
>>376
現在の32bitsハード提供機能について15年前の古い思想のままで何か勘違いしてると思いますが、
現代的な32bitsスマートやボーブル・パソコンは、fpu(ieee float)が使えるのは当然でSIMDや3D(opengl,directx)やマルチコア(プロセス)などもfpu unitと同じくどのjavaが動くハードなら当り前に使えると考えて問題ありません。
逆に問題あるようなハードでjavaを動かすなら、コンパイラがソフト(ライブラリ)でレイヤーするアプローチをします。

379 :デフォルトの名無しさん:2011/09/01(木) 16:38:26.44
JDK
インストールの手順が分かりません・・・
http://java.sun.com/j2se/1.5.0/ja/download.html
このページのどれをダウンロードしたらいいのですか?

JDK 5.0 Update 22 with NetBeans IDE 6.7.1
を選ぶと、英語で記入欄みたいなの出てくるんですが・・・



380 :デフォルトの名無しさん:2011/09/01(木) 16:52:29.66
間違えました
JDK 5.0 Update 22
を選ぶと英語で記入欄が出てきます。

java環境でプログラミングしたいんで、手順教えてください・・・


381 :デフォルトの名無しさん:2011/09/01(木) 16:56:29.13
何が言いたいのかよく分からんが、そういう機能はJNIを使って提供すればいいんじゃね。
個人的にはバイトコードを直接解釈するIPが肥大化してしまうから、組込みにするのに不利になる気がする。

382 :デフォルトの名無しさん:2011/09/01(木) 16:59:23.93
>>380
それに情報を全部書き込んでSubmitするといいよ。

383 :デフォルトの名無しさん:2011/09/01(木) 17:04:42.01
>>379-380
Java1.5.0は古い。最新はJava6。
http://java.sun.com/javase/ja/6/download.html
のJDKってリンクをクリックしろ。
そしてその後は英語の指示に従え。

384 :デフォルトの名無しさん:2011/09/01(木) 17:06:14.80
Java7出てるんだけどね、一応

385 :デフォルトの名無しさん:2011/09/01(木) 17:14:54.39
>>383
英語の指示って無理無理wwww

俺は本とかでみたんだが、かなり簡単だったぞ・・・
acceptなんちゃらクリック→なんとかmulti languageクリックで

かなり簡単な方法だったが、仕様って変わるよなぁ・・・


386 :デフォルトの名無しさん:2011/09/01(木) 17:20:38.79
>>383
一杯欄がでてきたんですが・・・どれを選べば?
ttp://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javafx-419431.html#jdk-6u23-javafx-1.3.1-oth-JPR

387 :デフォルトの名無しさん:2011/09/01(木) 18:03:04.33
ひょっとして英語が出来ないのにプログラムやろうとしてるのか?w

388 :デフォルトの名無しさん:2011/09/01(木) 18:18:35.11
>>387
DLしようとするとき、サインイン?みたいなのが出てくるときと
出てこないときの差って何なのだろう?パッケージの違いなんだろうか?

javaのテストは100点でしたよw文法覚えたのに環境導入できないというw
新たな仕様を理解して、PCに導入、設定を理解、そのインターフェースを理解
することが真の開発スキルということは最近感じつつあります。
それができないので、どうか教えてください。


389 :デフォルトの名無しさん:2011/09/01(木) 18:29:30.00
先生に聞けよ

390 :デフォルトの名無しさん:2011/09/01(木) 18:44:45.45
日本語のJavaの本を買えば

391 :デフォルトの名無しさん:2011/09/01(木) 19:00:15.24
>>388
昔はふるいのやEA取得しようとすると
サインインの必要あったような気がするな。
あと3Dとかも。
違ったっけ。

392 :デフォルトの名無しさん:2011/09/01(木) 19:02:01.66
>>386
You must accept the Oracle Binary Code License Agreement for Java SE to download this software.
Java SE(このソフトウェア)をダウンロードするためには、あなたはオラクルのバイナリコードライセンスを
受け入れなければなりません。

○Accept License Agreement  ○Decline License Agreement
はい、許諾契約を受け入れます。  契約を承諾しません。

(中略)Download ダウンロード


ここまで理解していてダウンロードできないなら、お前は先生に土下座したほうがいい。

393 :デフォルトの名無しさん:2011/09/01(木) 19:05:14.78
インターネット上からHTMLファイルを取得して、
それをファイルとして保存せず、
全て変数(String型とか)に流し込んでしまう方法はありますか?

394 :デフォルトの名無しさん:2011/09/01(木) 19:15:54.56
InputStreamを開いたら後はファイルから文字を読み込むのと一緒だ

395 :デフォルトの名無しさん:2011/09/01(木) 20:01:02.83
>>383
古いのでいいので教えてくれませんか?
http://java.sun.com/j2se/1.5.0/ja/download.html
こちらでお願いします。

396 :デフォルトの名無しさん:2011/09/01(木) 20:02:44.50
>>395
>>382

397 :デフォルトの名無しさん:2011/09/01(木) 20:21:31.37
Windows Offline Installation, Multi-language
の項目が出てくるパッケージはどれですか?
>>396
一応本とおりに・・
バージョンは全然違いますが。

398 :デフォルトの名無しさん:2011/09/01(木) 21:18:31.20
>>397
http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-i586.exe

399 :デフォルトの名無しさん:2011/09/01(木) 21:47:56.83
1.5……サポート切れ。どうしても欲しいなら情報書いてSubmitしろ。
1.6(Java6)……サポート中。ライセンスに同意してダウンロードしてね。
1.7(Java7)……サポート中。がんがんダウンロードしてね。
          でもEclipseとかが動くかどうかなんて些細なことは知らないよ。

400 :デフォルトの名無しさん:2011/09/01(木) 23:32:43.61
JITが嫌なら、実行ファイルを直接生成する静的コンパイラもあるよ?

401 :デフォルトの名無しさん:2011/09/01(木) 23:48:48.71
今時のハードウェアの機能を利用できるようにバイトコードを拡張して、
それを使うように言語仕様を拡張しろ(あるいは全とっかえしろ)と言ってるのか

JITによる動的コンパイルは時代遅れだから
バイトコード生成時に最適化しろ(静的コンパイルが今のトレンド)といってるのか

402 :デフォルトの名無しさん:2011/09/02(金) 00:07:38.29
それは既に言語の選択の時点で間違ってる気がするが。

403 :デフォルトの名無しさん:2011/09/02(金) 00:12:53.26
バイトコードにスレッド機構さえ入れなかったのは正解だと思うけどなー

404 :デフォルトの名無しさん:2011/09/02(金) 00:31:55.96
monitorentorとか普通にあるよ
.NETの仮想マシンだとsynchronizedもライブラリだけど

405 :デフォルトの名無しさん:2011/09/02(金) 01:53:38.44
いまひっぱりだこのARMならJazelleっていうjavaをネイティブに実行する拡張命令があるよ。

406 :デフォルトの名無しさん:2011/09/02(金) 05:27:47.03
拡張命令があるね

407 :デフォルトの名無しさん:2011/09/02(金) 07:05:35.92
static変数につけたアノテーションの取得方法がわかりません。

public class FooClass {
 @FooAnnotation(123)
 protected static Object var1;
}

としたときに、var1につけたアノテーション@FooAnnotation(123)はどうやって取ってこれますか。


408 :デフォルトの名無しさん:2011/09/02(金) 08:08:10.49
>>405
原点回帰だな

409 :デフォルトの名無しさん:2011/09/02(金) 08:45:19.90
>>407
FooClass.class.getDeclaredField("value").getAnnotation(FooAnotation.class).value()

410 :デフォルトの名無しさん:2011/09/02(金) 08:46:26.15
×"value"
○"var1"

411 :デフォルトの名無しさん:2011/09/02(金) 09:47:27.39
>>409
やってみます。ありがとうございます。



412 :デフォルトの名無しさん:2011/09/02(金) 11:15:19.73
staticイニシャライザで、自クラスを参照するにはどうしたらいいでしょうか。

class Foo {
 static {
  doSomething(Foo); // 現在定義中のFooを参照したい
 }
}

thisに相当するものがstatic { } の中でも使えるとベストなのですが。

413 :デフォルトの名無しさん:2011/09/02(金) 11:31:15.68
Fooで参照するしかないような。

匿名クラスは内部クラスだからstaticイニシャライザ使えないし、
逆に言うとstaticイニシャライザ使えるのに
名前が参照できないってケースはないだろうし。

414 :デフォルトの名無しさん:2011/09/02(金) 11:43:15.67
class Foo {
static {
doSomething(Foo.class);
}
private static void doSomething(Class<Foo> clazz) {
System.out.println(clazz);
}
public static void main(String[] args) {}
}

415 :デフォルトの名無しさん:2011/09/02(金) 11:44:35.12
>>404
.NETだけにしかつけないようなもの意味無いよ。

416 :デフォルトの名無しさん:2011/09/02(金) 11:56:56.98
>>414
Fooじゃだめで、Foo.classにしないといけないんですね。
そういえばJavaはそんな仕様でした。
ありがとうございました。

417 :デフォルトの名無しさん:2011/09/02(金) 13:24:01.91
>>415
MonitorEnterとMonitorExitならJMMにあるだろ。
というかパクったのが.netだ。

418 :デフォルトの名無しさん:2011/09/02(金) 16:36:32.22
>>412

1. static final Class THIS; とか宣言する。
2. staticイニシャライザ中で THIS = Foo.class; とか初期化する。
3. コンストラクタの頭で assert THIS == this.getClass(); とかチェックする。

まあ心配症なのでこの辺まではやる。誰がリファクタリングするかわからんので。
assert有効にして一度でもテストが通れば一安心てところ。

419 :デフォルトの名無しさん:2011/09/02(金) 16:48:42.43
>>418
それの効用をkwsk

420 :デフォルトの名無しさん:2011/09/02(金) 17:04:02.56
特定の患者さんの精神が安定します

421 :デフォルトの名無しさん:2011/09/02(金) 23:17:16.31
JunkUtil (ジャンク・ユーティリティ)
http://www.arkhamsoft.jp/junkutil/

そこそこ完成してきたので晒します。
ダメな所があったら突っ込みお願いします。

422 :デフォルトの名無しさん:2011/09/02(金) 23:43:04.49
Java7で書いたプログラムをJava6のJVMで動かす場合って、
javac -target jsr14すれば全ての新機能もちゃんと動くの?
なんか怖いんでつけど。

423 :デフォルトの名無しさん:2011/09/03(土) 00:14:01.13
jsr14って5の一部を互換コード吐くオプションだけど7もいけるの?
どっちにしてもfork/joinがライブラリ依存でinvokeDynamicがバイトコード変更してるから無理だろ。

424 :デフォルトの名無しさん:2011/09/03(土) 00:31:46.49
よくわからんが javac -source 1.7 -target 1.6 ではだめなん?

425 :デフォルトの名無しさん:2011/09/03(土) 00:45:43.21
>>421
>>316


426 :デフォルトの名無しさん:2011/09/03(土) 02:27:59.04
クラスにつけたアノテーションが取得できません。

// mark.java
public @interface mark {
public String value();
}

// Hoge.java
@mark("value123")
public class Hoge {
public static void main(String[] args) {
java.lang.annotation.Annotation[] anns = Hoge.class.getAnnotations();
System.err.println("*** debug: anns.length="+anns.length);
}
}

// 実行
$ java Hoge
*** debug: anns.length=0  # 長さは0じゃなくて1のはずなのに。。。

助けて下さい。


427 :デフォルトの名無しさん:2011/09/03(土) 02:29:54.30
インデントが消えたので再投稿。

// mark.java
public @interface mark {
  public String value();
}

// Hoge.java
@mark("value123")
public class Hoge {
  public static void main(String[] args) {
    java.lang.annotation.Annotation[] anns = Hoge.class.getAnnotations();
    System.err.println("*** debug: anns.length="+anns.length);
  }
}

// 実行
$ java Hoge
*** debug: anns.length=0  # 長さは0じゃなくて1のはずなのに。。。

助けて下さい。


428 :デフォルトの名無しさん:2011/09/03(土) 02:40:58.73
>>427
自己レス。
@Retention(RetentionPolicy.RUNTIME)
public @interface mark { ... }
にするとできました。
デフォルトでは、アノテーション情報を実行時にリフレクションで読むことができないんですね。残念。

429 :デフォルトの名無しさん:2011/09/03(土) 06:51:28.30
デフォルト値が何かも確認せずに使い、
自分の使い方と合わないと不満もらすバカ発見。

430 :デフォルトの名無しさん:2011/09/03(土) 09:43:15.89
>>429
残念だったのは自分の想像力であって
別にJavaが残念だなんていってないけど?

431 :デフォルトの名無しさん:2011/09/03(土) 10:16:38.88
>>430
残念なバカ発見

432 :デフォルトの名無しさん:2011/09/03(土) 12:22:15.94
想像力の欠如は>>429も同レベルだなw

433 :デフォルトの名無しさん:2011/09/03(土) 13:20:05.51
別スレで聞くべきでしたら、申し訳ありません。

Java でネットワークプログラミングするときに最低限読むべき本を
教えていただけないでしょうか。
ソケット通信でなくて、標準ライブラリのHttpURLConnectionなどを
使用する場合の基本を学びたいのです。

よろしくお願いします。

434 :デフォルトの名無しさん:2011/09/03(土) 13:38:33.01
Javaを趣味でやるときは、なんだかんだいっても、GUIプログラムだよね? みんなはどう?

435 :デフォルトの名無しさん:2011/09/03(土) 13:42:03.47
GUIやりたいならJavaはちょっと…

436 :デフォルトの名無しさん:2011/09/03(土) 13:45:41.87
>>435
え?そうかな・・ でも、JavaのGUI関連はわりとわかりやすい設計だと思うんだけどな〜

人によって違うからね。自分は、C#でもやっていたけど、どうせ同じ仮想マシン使うならと思って
Javaでやってるんだ。

437 :デフォルトの名無しさん:2011/09/03(土) 14:05:38.65
swingでええがな

438 :デフォルトの名無しさん:2011/09/03(土) 15:19:22.09
質問いいでしょうか。eclipse で Java 組んでいます。
やっているのは Android プログラムなのですが、質問自体は Java 関連なのでここで質問させて頂きます。
例外の catch の仕方についてです。

・メソッド A, B, C, ... を順番に実行したい
・A, B, C, ... はそれぞれ色々な例外を返す
・A で例外が発生した場合、B 以降は実行しない。B, C, ... も同様

この条件で、例外が起きた場合、「どのメソッドで」「どの例外が起きたのかを」「独自のメッセージで」表示したいのですが、なかなか上手く組めません。

(つづく)


439 :438:2011/09/03(土) 15:19:37.49
■案1
try { A(); B(); }
catch (〜Exception e) { /* 例外処理 */ }

・問題点:どのメソッドで例外が起きたか分からない

■案2
try { A(); }
catch (〜Exception e) { /* A に対する例外処理 */ }
try { B(); }
catch (〜Exception e) { /* B に対する例外処理 */ }

・問題点:A で例外が発生しても B を実行してしまう、A に対する finally を置く位置に困る

■案3
try { A();
 try { B();
 } catch (〜Exception e) { /* B に対する例外処理 */ }
} catch (〜Exception e) { /* A に対する例外処理 */ }

・問題点:ネストが深くなる、B でキャッチし忘れていた例外をたまたま A でキャッチしていた場合、IDE が警告を出してくれない

ネットや書籍のサンプルだと、紙面の都合?案1が多いです。
例外は LogCat 上などではなく、ユーザに見えるように(Toast など)で出したいです。

データベースやネットワーク処理を行ってるとよく出てくる箇所で、いつも詰まっています。
よろしくお願いします。

440 :デフォルトの名無しさん:2011/09/03(土) 15:23:39.49
try { A(); } catch(Exception e1) { return;}
try { B(); } catch(Exception e2) { return;}
try { C(); } catch(Exception e3) { return;}

441 :デフォルトの名無しさん:2011/09/03(土) 15:47:58.30
そういうコードは誰が組んでも汚くなるね
しかたない

442 :デフォルトの名無しさん:2011/09/03(土) 15:56:04.95
> 問題点:どのメソッドで例外が起きたか分からない

> 例外は LogCat 上などではなく、ユーザに見えるように(Toast など)で出したいです。
は別問題じゃ?
ユーザに適切なエラーメッセージ出したいなら
自作アプリケーション用の例外をちゃんと設計するだけで終わる問題なような。


それともユーザに例外が発生したメソッド名を見せるって話?
getStackTrace()でも使えば?

443 :デフォルトの名無しさん:2011/09/03(土) 16:08:14.79
try {
a();
b();
c();
} catch (Exception ex) {
StackTraceElement[] a = ex.getStackTrace();
String methodName = a[a.length - 2].getMethodName();
System.out.println("methodName = " + methodName);
}



444 :デフォルトの名無しさん:2011/09/03(土) 16:08:20.46
超初心者なんですが

基本的なことを教えてください。

mavenっていうのはrpmとかyumみたいなものですか?gccみたいなものですか?

JAVAを使わないといけない用事があってマニュアルを読んでいるのですがさっぱりわかりません。

mavenを入れたらtomcatはいらないんですか?apache + mavenってどういう意味なんでしょうか

445 :デフォルトの名無しさん:2011/09/03(土) 16:18:54.20
javaのバッチ処理(1000万件)をまったくの初心者に
2週間で書かせるって、無茶な要求ですか?

446 :デフォルトの名無しさん:2011/09/03(土) 16:25:20.99
>>444
mavenはプロジェクト管理ツール。
多人数が関わり、多くのライブラリを扱うプロジェクトで環境構築やバージョン管理が楽になる。

しかしそれはmaven自体の設定や管理がめんどくさいということも意味するw
要はJavaを勉強したいだけの初心者が使う意味はないw
antでおkwwwwwww

>>445
バッチの内容による
初心者がjava初心者かPG初心者かによる

447 :デフォルトの名無しさん:2011/09/03(土) 16:30:11.32
>>446
ありがとうございます。

いまはやりのgitとかの類ですか?

完成品のソースがあってmavenでインストールしろとか書いてあるんです。

mvn なんたらみたいな

448 :デフォルトの名無しさん:2011/09/03(土) 16:31:57.59
いやMakeの類

449 :デフォルトの名無しさん:2011/09/03(土) 16:49:51.07
>>442
エラーの原因でなく進行状況に応じてメッセージを変えたいんだから、
例外クラスを量産するのはおかしい。
>>440で各returnの前にメッセージを仕込むのが適切。

ユーザー見えのメッセージを変えたいといってるのに対し
スタックトレースをユーザーに見せる>>443はアホ

450 :デフォルトの名無しさん:2011/09/03(土) 17:02:22.10
ポスシステムで管理された会員の購買データから、翌月のポイント数を出すのですが。
PG経験数か月、javaは未学習です。


451 :デフォルトの名無しさん:2011/09/03(土) 17:10:31.05
>>449
try {
a();
b();
c();
} catch (Exception ex) {
StackTraceElement[] a = ex.getStackTrace();
String methodName = a[a.length - 2].getMethodName();
// 例外が発生したメソッドの名前がここに入っているので、メソッド名に応じた処理を行う。
// たとえば
if ("a".equals(methodName)) {
System.out.println("メソッド a の実行中に例外が発生した。");
} else if ("b".equals(methodName)) {
System.out.println("メソッド b の実行中に例外が発生した。");
} else {
System.out.println("それ以外のメソッドの実行中に例外が発生した。");
}
}

わからなければ黙ってればいいのに。


452 :デフォルトの名無しさん:2011/09/03(土) 17:13:17.94
> a[a.length - 2].getMethodName()
こんなコードはメンテしたくないな。

453 :デフォルトの名無しさん:2011/09/03(土) 17:30:25.30
それ以前にJVMの実装依存だろ

454 :デフォルトの名無しさん:2011/09/03(土) 17:37:11.99
わからなければ黙ってればいいのに。(笑)

455 :デフォルトの名無しさん:2011/09/03(土) 17:43:13.17
これやるなら独自例外投げるわなぁ

しかし処理を続行しつつビューに値を返したい、って時はどうしてもクソコードになるよな。
例外の特性?なのか。

456 :デフォルトの名無しさん:2011/09/03(土) 17:50:07.46
>>451
そのコードをmainにおいとかないとズレるんじゃないか?
length-2決めうちだし。

457 :デフォルトの名無しさん:2011/09/03(土) 17:51:53.46
というか未定義動作
実装の自由で、省略しようが長さ0の配列を返そうが構わないことになってる

458 :デフォルトの名無しさん:2011/09/03(土) 17:56:00.83
>>449
別に型で判別する必要は無いんだから量産しなくてもいいだろ

459 :デフォルトの名無しさん:2011/09/03(土) 17:58:46.93
identifier付けてください

460 :デフォルトの名無しさん:2011/09/03(土) 18:02:07.67
>>455
ならねーよ。
リスナー登録するようにしても良いし、
SwingWorkerみたいに継承利用しても良いし。

461 :デフォルトの名無しさん:2011/09/03(土) 18:09:41.50
気になってたけど、リスナーってJavaの用語?コールバック関数が使えないからクラスの継承と
オーバーライドを使って代わりにしてるって認識だけど、それであってる?

462 :デフォルトの名無しさん:2011/09/03(土) 18:11:07.09
AndroidでstacktraceがとれないJavaVMってあるのか?

463 :デフォルトの名無しさん:2011/09/03(土) 18:13:46.39
わからなければ黙ってればいいのに。(笑)

464 :デフォルトの名無しさん:2011/09/03(土) 18:14:46.72
わかんなかったんでしょ?

465 :デフォルトの名無しさん:2011/09/03(土) 18:20:59.66
>>461
その通りJava用語。
>コールバック関数が使えないから
その通り

466 :デフォルトの名無しさん:2011/09/03(土) 18:28:37.76
コールバックは実装すれば使えるだろ。
より汎用性のある形ではないかね。

467 :デフォルトの名無しさん:2011/09/03(土) 18:48:36.20
コールバックもWinの専門用語だよな
Tcl/tkとかだとトリガーとか呼ばれてるし


468 :デフォルトの名無しさん:2011/09/03(土) 18:50:53.43
>>461
リスナはJava用語というかSwing用語?元々はOvserverパターンあたりが出自じゃないかな。
コールバックと呼んだりハンドラと呼ぶ人もいるけどね。

あとリスナはクラスの継承やオーバライドで実現する物じゃない。


469 :デフォルトの名無しさん:2011/09/03(土) 18:53:05.09
わからなければ黙ってればいいのに。(笑)

470 :デフォルトの名無しさん:2011/09/03(土) 18:58:33.54
独自の例外クラスって、ライブラリとして他人に使ってもらう場合にしか作らないんだけど、
なんか他に作った方が良い場合とかあるの?
↓なのにしてる。

/**
* あずにゃんを探します。
* (ry
* @throws AznyanNotfoundException あずにゃんが見つからない場合
* @throws Exception こっちの問題。そっちじゃ解決できないからあきらめれ。
*/
Aznyan findAznyan() throws AznyanNotfoundException, Exception;

471 :デフォルトの名無しさん:2011/09/03(土) 19:00:12.10
a[a.length - 2].getMethodName()
だってw相変わらずアホなスレですな

472 :デフォルトの名無しさん:2011/09/03(土) 19:00:55.13
使い捨てプログラムみたいなもんじゃなければ、普通は例外設計も行うと思うよ。
なんでかっていうと>>438みたいにエラーハンドリングが必要になるから。

473 :デフォルトの名無しさん:2011/09/03(土) 19:04:45.40
printfで十分だろ

474 :デフォルトの名無しさん:2011/09/03(土) 19:05:43.60
使い捨てプログラムならね。

475 :デフォルトの名無しさん:2011/09/03(土) 19:32:37.26
>>465-468
ありがとう。そういえばコールバックも環境固有だったか。Unixだったらハンドラみたいな言い方をしてたっけ。
リスナって、インターフェイスがあってそれを継承してメソッド書いて使うものだと思ってたけど、それ以外の何かってあるの?

476 :デフォルトの名無しさん:2011/09/03(土) 19:51:54.66
クラスは継承(extends)するけどインタフェースは実装(implements)する
っていう意味の違いを言ってるんじゃない

477 :デフォルトの名無しさん:2011/09/03(土) 19:55:42.18
>>476のレスを読んでやっと>>461の質問の意味がわかったw

478 :デフォルトの名無しさん:2011/09/03(土) 20:09:03.48
>>389

479 :デフォルトの名無しさん:2011/09/03(土) 20:33:24.57
http://sourceforge.jp/people/viewjob.php?group_id=6129&job_id=526

480 :デフォルトの名無しさん:2011/09/03(土) 20:34:21.21
>>476
なるほど。Javaではその2つをきっちり区別しないといけなかったか。納得したわ。

481 :デフォルトの名無しさん:2011/09/03(土) 20:35:29.48
>>479
> CVSとかSVNとかGitとか、知るかボケ! バージョン管理システム爆発しろ!
> バグ報告、パッチの投稿、クラスまるまる一つの置き換えなど、全部手動。基本的に、フォーラムへの投稿や、zipファイルのやりとりなどで進めていきます。
これは…!


482 :デフォルトの名無しさん:2011/09/03(土) 21:03:32.92
さすがにCVSはいいかげん古すぎの感もあるが……

483 :デフォルトの名無しさん:2011/09/03(土) 21:09:16.47
WindowsならMercurialかな

484 :デフォルトの名無しさん:2011/09/03(土) 21:12:08.85
>>437

485 :デフォルトの名無しさん:2011/09/03(土) 21:15:41.77
Windowsのgitも十分使えるレベルな気がする

486 :デフォルトの名無しさん:2011/09/03(土) 21:30:17.59
EclipseだったらWindows上とかあんまり関係ないんじゃない

487 :デフォルトの名無しさん:2011/09/03(土) 21:43:55.71
まあバージョン管理できてないソースからできた成果物なんて使いたくないな、
ってスレ違いだヴォケ


488 :デフォルトの名無しさん:2011/09/03(土) 22:04:47.07
バージョン管理使ったことないんだろうね

489 :デフォルトの名無しさん:2011/09/03(土) 23:08:38.77
>>488
使ったことあるよ。
誤登録したファイルを完全に抹消できないことが分かって、使うのやめたよ。

490 :デフォルトの名無しさん:2011/09/03(土) 23:13:01.57
スレ違い

491 :デフォルトの名無しさん:2011/09/03(土) 23:29:52.40
>>447
gitはリビジョン管理、svnとかと一緒と考えればいい。
mavenは、antが、ローカルにjarファイル置かなくてよくなって、
必要に応じてネット上からjarを拾ってきてくれるようになったものだと思えばよい。

実際使うと、ある程度の仕組みくらいはしらないといろいろ詰まるけどな。

492 :デフォルトの名無しさん:2011/09/04(日) 00:06:52.25
バージョン管理使わない奴はプログラマの素質ない

493 :デフォルトの名無しさん:2011/09/04(日) 00:11:57.72
素質なくても20年やってるんで

494 :テスト:2011/09/04(日) 00:23:37.46
>>493
うぜーよボケ
mixiかsfでやれ

495 :デフォルトの名無しさん:2011/09/04(日) 00:26:05.87
この業界で20年ですけど、伊達にめし食ってませんから。(笑)

496 :デフォルトの名無しさん:2011/09/04(日) 00:26:42.67
>>494
素質なくても20年やってるんで^^^^^^^^

497 :デフォルトの名無しさん:2011/09/04(日) 13:20:46.21
Javaもまともなブラウザコンポがあればいいんだけど。ねえんだよな。。

498 :デフォルトの名無しさん:2011/09/04(日) 18:58:36.93
カスタムアノテーションを定義する時に

public @interface myannotation {
 public String value();
}

としますけど、"class"や"interface"といった予約語ではなく、"@interface"というアノテーションで定義できるのが不思議です。
これってどうやってじつげんしているのでしょうか。
また、"@interface"に相当するものを作るにはどうしたらいいでしょうか。

499 :デフォルトの名無しさん:2011/09/04(日) 19:22:27.04
不思議でも何でもない
"@interface"っていう予約語なんだよ

500 :テスト:2011/09/04(日) 20:30:41.63
>>497
JavaFXに含まれてるwebkitベースのが使えるんじゃなかったっけ?

501 :デフォルトの名無しさん:2011/09/05(月) 14:02:40.48
>>499
それって本当?
ttp://ja.wikipedia.org/wiki/%E4%BA%88%E7%B4%84%E8%AA%9E_(Java)
を見たけど、そんなこと書いてないよ。
2chだからって適当なこと書いてない?


502 :デフォルトの名無しさん:2011/09/05(月) 14:40:43.70
Interfaceが普通のインターフェイスで@Interfaceが特殊なインターフェイス。
ちなみにclassは普通のクラスでenumは特殊なクラス。
言語仕様に書いてある。列挙とアノテーションの定義だけ特別扱い。

503 :デフォルトの名無しさん:2011/09/05(月) 16:17:24.91
public annotation interface Hoge { ... } と書けばわかりやすい?
文法的にはこのannotationのところを代わりに@と表記しているだけ
@interface自体はアノテーションではない

504 :デフォルトの名無しさん:2011/09/05(月) 17:55:30.28
>>502
>Interfaceが普通のインターフェイスで@Interfaceが特殊なインターフェイス。

ここでいう特殊とはどういう意味?ただの interface だとだめなの?

>ちなみにclassは普通のクラスでenumは特殊なクラス。
>言語仕様に書いてある。列挙とアノテーションの定義だけ特別扱い。

???

>>503
>public annotation interface Hoge { ... } と書けばわかりやすい?

いやわかんない。その「annotation」は新しい予約語なの?

>文法的にはこのannotationのところを代わりに@と表記しているだけ
>@interface自体はアノテーションではない

@Overrideはアノテーションなのに@interfaceはアノテーションではない?
ますますわからなくなった。

だいたい、アノテーションを定義するのにアノテーションを使うことに違和感がある。


505 :デフォルトの名無しさん:2011/09/05(月) 18:13:41.12
http://java.sun.com/docs/books/jls/third_edition/html/interfaces.html#9.6
の一段落目を読むだけで>>498疑問は解消すると思うけど。

506 :デフォルトの名無しさん:2011/09/05(月) 21:27:24.82
@interfaceはキーワードだアノテーションじゃない。何人同じ事言ってんだ

507 :デフォルトの名無しさん:2011/09/05(月) 21:38:53.98
>>506
>>505の2行を読んだら「@interface」がキーワードじゃないってわかるだろ。
どうして嘘つくかなあ。

>>504
>だいたい、アノテーションを定義するのにアノテーションを使うことに違和感がある
アノテーション型の定義にアノテーションっぽい記述を使うのは、
Java言語が糞だからとしか言いようがない

508 :デフォルトの名無しさん:2011/09/05(月) 21:51:41.91
俺たちにはもうiphoneしかない。

509 :デフォルトの名無しさん:2011/09/05(月) 22:19:08.26
Javaも予約語増やすのが嫌ならコンテキストキーワードに手を染めちゃえばいいのに
annotation interface で一つのキーワードでいいじゃん

510 :デフォルトの名無しさん:2011/09/05(月) 22:34:52.60
>>509
コンテキストキーワードは確か公式仕様では使われてはいないがjavacに実装されてはいる。

昔プロパティ試案版を作ったときにコンテキストキーワードとしてproperty使った時に入った。
プロパティは削除されたがコンテキストキーワードの機能は削除されてないで残ってる。

511 :デフォルトの名無しさん:2011/09/05(月) 22:45:41.33
コンテキストキーワードならC#ですね。やっぱり。

512 :デフォルトの名無しさん:2011/09/05(月) 23:03:21.76
もしコンテキストキーワード使うなら
public annotation Identifier { }
でいいよな。わざわざinterface付ける必要ないだろ。

513 :デフォルトの名無しさん:2011/09/06(火) 00:25:27.47
javascriptやC#みたいになれと?

514 :デフォルトの名無しさん:2011/09/06(火) 00:28:58.36
わけのわからん記号だらけになるよりマシ
コンパイラの実装がちょっと汚くなるだけ

515 :デフォルトの名無しさん:2011/09/06(火) 00:54:39.11
なら今の@を使ったアノテーションでいいがな

516 :デフォルトの名無しさん:2011/09/06(火) 01:25:00.33
*を付けて参照しようとするとエラーになるし、
付けないと"java.util.AbstractList$Itr@ca0b6"
を表示するだけだし、何かメンバー関数あんのかな。
---------------------------
java.util.Vector<String> Vector1 = new java.util.Vector<String>();

Vector1.addElement("項目001");
Vector1.addElement("項目002");
Vector1.addElement("項目003");

java.util.Iterator Iterator1 = null;
for (Iterator1 = Vector1.iterator(); Iterator1.hasNext(); Iterator1.next()) {
System.out.println(*Iterator1);
}
---------------------------
tamesi002.java:24: 式の開始が不正です。
System.out.println(*Iterator1);
          ^


517 :デフォルトの名無しさん:2011/09/06(火) 01:31:24.23
*って何そんな仕様あったの

518 :デフォルトの名無しさん:2011/09/06(火) 01:31:59.50
わかったぞ、これでいいのか。
java.util.Iterator Iterator1 = null;
for (Iterator1 = Vector1.iterator(); Iterator1.hasNext();) {
System.out.println(Iterator1.next());
}


519 :デフォルトの名無しさん:2011/09/06(火) 01:34:19.06
うわさによると、Javaはポインタがないらしいな。

520 :デフォルトの名無しさん:2011/09/06(火) 01:49:07.83
windowsphoneでしょ。これからの時代はやっぱり。

521 :デフォルトの名無しさん:2011/09/06(火) 02:21:23.51
javaちょっとだけ知っとこうと超初心者むけの本買ったんだが
読み進めて、さぁjavaに触れてみようみたいなトコでダウンロードができない

java-7-windows-x64を落とせって書いてあって
自分のOSはXPで32bitだから旧verでいいのかなっとダウンロードしようとしたが
オラクルアカウント作成で蹴られまくって涙目・・・
日本語のページ無いしバージョンは多いしでワケわからん
オラクルのHP作ってる奴は糞だ

522 :デフォルトの名無しさん:2011/09/06(火) 02:24:57.73
>>508

523 :デフォルトの名無しさん:2011/09/06(火) 02:42:56.92
>>516
#toString()実装しろ

524 :デフォルトの名無しさん:2011/09/06(火) 03:01:30.37
>>521
jdkをダウンロードするのになんでアカウント作らされるようなことになるのか
初見の奴と慣れた奴とでは辿るリンクが全然違うんだろう
で初心に帰って普通にjdkをダウンロードした

1. http://www.dotup.org/uploda/www.dotup.org1988823.png
2. http://www.dotup.org/uploda/www.dotup.org1988825.png
3. http://www.dotup.org/uploda/www.dotup.org1988827.png
4. http://www.dotup.org/uploda/www.dotup.org1988829.png
5. http://www.dotup.org/uploda/www.dotup.org1988830.png

結局アカウント作成してる奴はいったいどこを見てるのか

525 :521:2011/09/06(火) 03:16:08.13
>>524
3or4ページ目に32bitが無いんだが64とかで大丈夫なの?
それでいけるなら嬉しい

526 :デフォルトの名無しさん:2011/09/06(火) 03:19:14.83
x86あるだろ

527 :521:2011/09/06(火) 03:33:48.47
x86を調べてみたら
>>x86・・・WindowsXP以前のOS、WindowsXP(32bit版)、WindowsVista(32bit版)

大丈夫みたい。ありがとうございます
さっそくダウンロードしましたm(__)m

ちなみに初心者が辿るリンク
2や3あたりで日本語を選んでトップに飛ばされたりって感じです

後、参考にしたHP
ttp://www.javadrive.jp/install/jdk/index1.html

このやり方でアカウント登録スキップできなかったりもしました



528 :デフォルトの名無しさん:2011/09/06(火) 08:48:58.48
>>524
俺もこないだつまったので報告しておく

・1で、1つ目の英語ページではなく3つ目の日本語ページに行く(Java SE ダウンロード - Sun Developer Network (SDN))
→ JDK が欲しい!そもそも SE って何だ?しかもトップにあるのが 「Java SE 6 Update 24」 Update ってこれただのパッチじゃないよね?とりあえず右の 「JDK ダウンロード」 をクリック
→ 「Java SE Development Kit with JavaFX (JDK 6u23 / FX 1.3.1)」 とか言うのに飛ばされたんだけど!? 内容全然ちがくね??JavaFX って何???ファイル名も違うよ????
→ 他のも見てみるか… JavaEE って何?わかんねー!! しょうがないからダウンロード方法のページ見ても、バージョンが違うせいか全然結果が違う!!えーーーー

結局適当なものを落として入れてみて、何か動いてるからいっか…てな感じになった

529 :デフォルトの名無しさん:2011/09/06(火) 11:43:00.01
長文すみません。

Struts1でひとつのActionの処理を分割する際、システムをView、Business、Persistenceの3つに分け、
ViewにActionFormとAction、BusinessにServiceとDomain、
PersistenceはO/R Mapperに任せる、またはDaoを書くと習いました。

今の私の理解では、ActionFormは入力チェック、Actionはメッセージ設定と画面遷移の制御、
Serviceは業務ロジック全体のまとめ役、Domainはデータ保持と自身が興味を持っている領域の業務ロジック、
Daoを用意する場合はDBアクセスはここでといった感じです。

基本的にはServiceがDaoを使ってDomainを取得し、Domainにメッセージを投げるのだと思うのですが、
Domainの中でDaoを使って別のDomainを取得する、または何らかのデータを参照するのは大丈夫なのでしょうか。

530 :デフォルトの名無しさん:2011/09/06(火) 12:21:22.21
夕飯というテーブルに主食、オカズというカラムがあって、
集合関数をつかってString型のsyuruiという変数に主食のレコード数をぶちこむにはどうすればいいですか?
count関数を使えばいいというのはわかってるんですが使い方がわかんないです

531 :デフォルトの名無しさん:2011/09/06(火) 12:40:33.95
>>530
それJavaじゃなくてSQLの質問だろ。

Select count(*)
From 夕飯
Where 主食 is not null;

とかでいいんじゃねーの?
仕様わからんから適当だけどな。

全レコード取得して、Javaで書いてもいいんだぞ?
処理遅すぎでアレだろうけどな。

532 :デフォルトの名無しさん:2011/09/06(火) 13:18:24.66
ごはん、パン、めん、などの主食の種類を数えたいのかな?

533 :デフォルトの名無しさん:2011/09/06(火) 13:32:12.35
変数名がsyuruiか。
種類ならdistinctすればいいね。

534 :デフォルトの名無しさん:2011/09/06(火) 13:39:59.18
なんでわざわざ英語にしたがるかね分かりやすいのが一番だろプログラマの素養ないね

535 :デフォルトの名無しさん:2011/09/06(火) 14:17:21.86
>>534
syuruiは英語ではないんだけど?

536 :デフォルトの名無しさん:2011/09/06(火) 17:48:15.85
プリミティブ型の配列って、要素数を動的に増減できないですよね。
初期化時にサイズを指定するか、サイズ指定なしで初期化するしかない。

たとえば、引数に文字列の配列を受け取り、その配列の要素が null なものの位置の配列を返す
関数を作るとします。

返却値が Integer のリストなら、null なものがあったら、どんどん add していけばいいので簡単です。

public List<Integer> getNullAddresses(String[] argArray) {
 List<Integer> resultList = new ArrayList<Integer>();
 for (int i = 0; i < argArray.length; i++) {
  if (argArray[i] == null) {
   resultList.add(i);
  }
 }
 return resultList;
}

この返却値を int の配列にしたいが、実行してみないと配列の要素数がわからない。
こういうときどうしたらいいでしょうか?

537 :デフォルトの名無しさん:2011/09/06(火) 18:05:52.83
>>536
commons langのorg.apache.commons.lang3 ArrayUtils#toPrimitive(Integer[]) みたいのを使う。
ArrayUtils.toPrimitive(resultList.toArray(new Integer[resultList.size()]))

あとaddressじゃなくてindexじゃね?

538 :536:2011/09/06(火) 18:19:46.41
>>537
レスどうもありがとうございます。
CommonsLang の ArrayUtils はさっき気づいたのですが、
今のプロジェクトに新しい jar は追加できないルールとなっています。
JDK 標準の API だと、手作業で int[] に変換するしかないですよね?

> あとaddressじゃなくてindexじゃね?

そういわれると・・・・・
下手な英語ですみません

539 :デフォルトの名無しさん:2011/09/06(火) 20:15:17.06
事前に一回ループ回して結果の要素数を数えておけば?

540 :デフォルトの名無しさん:2011/09/06(火) 21:20:24.40
>>538
commonsなんてソース見えるんだから適当なユーティリティクラスにコピペりゃいいだろ。
まさかクラス追加もNGのルールのクソプロジェクトか?

541 :デフォルトの名無しさん:2011/09/06(火) 22:30:39.80
>>538
int[] indexes = new int[argArray.length];
int count = 0;
for (int i = 0; i < argArray.length; i++) {
 if (argArray[i] == null) {
  indexes[count++] = i;
 }
}
return java.util.Arrays.copyOf(indexes, count);

542 :デフォルトの名無しさん:2011/09/06(火) 22:30:43.76
>>536
> プリミティブ型の配列って、要素数を動的に増減できないですよね。
プリミティブ型かどうかは関係ないけどね。
というのはさておき
そのList<Integer>作った後、int配列に写すのは駄目なのかい?

543 :デフォルトの名無しさん:2011/09/06(火) 22:31:09.67
勝手にソース書き換えちゃ行けないプロジェクトなんだよ

544 :デフォルトの名無しさん:2011/09/06(火) 22:49:02.32
iphoneとかwindowsphoneとかは世の中にあるようですけど、javaphoneとかjavafxphoneは何で存在しないんですか?

545 :デフォルトの名無しさん:2011/09/06(火) 22:52:07.34
androidがあるからじゃね?

546 :デフォルトの名無しさん:2011/09/06(火) 22:52:45.94
JavaFXは本当に見事な大失敗だったね

547 :デフォルトの名無しさん:2011/09/06(火) 23:40:20.71
アンドロイドは徐々にモトローラになっていくっていう話ですけどjavaphone(javaseとかjavafx)と何か関係あるんですか?

548 :デフォルトの名無しさん:2011/09/07(水) 00:06:24.05
JavaFXって、売りのFXスクリプトをなくしたんだよね。
なんのことはない、普通のGUIライブラリになるだけという・・

549 :536:2011/09/07(水) 00:11:16.38
みなさんレスどうもありがとうございます。
>>542
結局そうしました。

550 :デフォルトの名無しさん:2011/09/07(水) 00:38:21.48
FXMLとかcssの-fx-とか

551 :デフォルトの名無しさん:2011/09/07(水) 00:41:33.65
androidは3からライセンスがクローズドなりましたね。
結局はモトローラの都合によって徐々にクローズドな開発になっていくんでしょう。

552 :デフォルトの名無しさん:2011/09/07(水) 06:50:40.71
質問です。
今まではこういうコードを書いてましたが、
 Something obj = new Something();
 obj.setName("foo");
 obj.setValue(123);
 return obj;

面倒なので、setterをチェーンできるようにしたいとします。
 return new Something().setName("foo").setValue(123);

これを実現するためには、setterがthisをかえすようにすればいいと思いました。

class BaseObject {
  private String name;
  public String getName() { return name; }
  public BaseObject setName(name) {
    this.name = name;
    return this; // setterがthisを返す
  }
}

続く


553 :デフォルトの名無しさん:2011/09/07(水) 06:56:35.29
続き

しかし、これを継承した場合、親クラス.setXxx()は「return 親クラス」であり「return 子クラス」ではないため、うまくチェーンできません。

class Something extends BaseObject {
  private int value;
  public int getValue() { return value; }
  public Something setValue(int value) {
    this.value = value;
    return this;
  }
}

return new Something()
    .setName("foo")  // これが return BaseObject なので
    .setValue(123);  // 子クラスのメソッドが呼べない

いちおう、子クラスで
public Something setName(String name) {
  super.setName();
  return this;
}
と再定義して、戻り値の型を子クラスに変えればいいことはわかりました。
でもせっかく継承を使っているのに、親クラスのメソッドを子クラスでいちいち再定義するのが面倒です。
なんか、もっといい方法はないでしょうか。
Genericsあたりを使って格好よく解決できることを期待してます。


554 :デフォルトの名無しさん:2011/09/07(水) 07:16:59.52
何が面倒?

555 :デフォルトの名無しさん:2011/09/07(水) 07:31:17.73
コンストラクタでセットしたら失格なん

556 :デフォルトの名無しさん:2011/09/07(水) 07:36:04.58
セッターチェーンてよくありそうなのにな。commons CLIとS2DAOくらいでしか見たことない。
まあ実装の面倒さに比べてメリットが少ないからだろうけど。

557 :デフォルトの名無しさん:2011/09/07(水) 07:45:32.42
無検査キャストの警告が出るけどジェネリクスで一応できた

class Super<E>{
E own = (E)this;
String a;
public E setA(String a){
this.a = a;
return own;
}}

class Sub extends Super<Sub>{
String c;
public Sub setC(String c){
this.c = c;
return own
}}

public class Test{
public static void main(String [] args){
Sub s = new Sub();
s.setA("this is a").setC("this is c");
System.out.println(s.getA());
System.out.println(s.getC());
}}

558 :デフォルトの名無しさん:2011/09/07(水) 07:50:57.14
今のやっぱ梨で
実行はできた

559 :デフォルトの名無しさん:2011/09/07(水) 08:01:51.11
>>557
うざい

560 :デフォルトの名無しさん:2011/09/07(水) 08:11:44.40
>>557
> class Sub extends Super<Sub>{

こんな書き方ができるんですね。Subが2回現れているのがDRYじゃないけど。
とりあえず試してみます。
ありがとうございました。

561 :デフォルトの名無しさん:2011/09/07(水) 08:18:25.20
public abstract class Super<E extends Super<?>> {
protected abstract E chainTo();
private String a;
public E setA(String a) { this.a = a; return chainTo(); }
}

public class Sub extends Super<Sub> {
@Override protected Sub chainTo() { return this; }
private String b;
public Sub setB(String b) { this.b = b; return this; }
}


562 :デフォルトの名無しさん:2011/09/07(水) 08:21:51.26
Effective Javaにも言及されてるが
パラメータが3〜4個以上現れるコンストラクタが出てきたら
Builderを考えてみるのは基本な

563 :デフォルトの名無しさん:2011/09/07(水) 08:43:30.72
で、何が面倒?

564 :デフォルトの名無しさん:2011/09/07(水) 08:46:55.32
>>557,561
そのアプローチだと子クラスまでは対応できても孫クラスまでは対応できなくね?

565 :デフォルトの名無しさん:2011/09/07(水) 09:10:16.21
孫クラスを作るなってことだ、言わせんな恥ずかしい///
そもそも、継承を前提とせずに設計された具象クラスを
継承するのは、使う側の責任なので許容範囲☆(ゝω・)v

566 :デフォルトの名無しさん:2011/09/07(水) 09:20:27.08
Grandchild setName(String name) { return (Grandchild)super.setName(name); }
すりゃいいだけなんだけどな。
>>553みたいに。

567 :デフォルトの名無しさん:2011/09/07(水) 09:57:01.98
>再定義するのが面倒
これを解決するのが大前提だからしょうがない
普通に>>566あたりをぺぺっと自動生成させるのが順当

568 :デフォルトの名無しさん:2011/09/07(水) 12:02:34.13
>>564
class Parent<E extends Parent<E>> {}
class Child<E extends Child<E>> extends Parent<E> {}
class Grandchild<E extends Grandchild<E>> extends Child<E> {}

って連鎖してけばよくね?

569 :デフォルトの名無しさん:2011/09/07(水) 12:56:01.20
ある研修で数当てゲームを作っています。
先頭が0、例えば010が入力されたらエラーになるようにしたいんですが
どういう処理をしたらいいでしょうか。

570 :デフォルトの名無しさん:2011/09/07(水) 12:58:41.88
何で困ってるの

571 :デフォルトの名無しさん:2011/09/07(水) 13:30:31.66
String#startsWith

572 :デフォルトの名無しさん:2011/09/07(水) 16:05:24.14
データの中身が
var B = A(hoge.anko);
var C = B.poke;
var D = C.data;
var E = D.initial;
var sendDataSort = E.sendDataSort;
のようになってるのですが、
Aから直接sendDataSortを抜き出すことは可能でしょうか?
また、どうすればよいのでしょうか?

573 :デフォルトの名無しさん:2011/09/07(水) 16:07:18.23
研修なのに2chで聞いてる時点でアウト

574 :デフォルトの名無しさん:2011/09/07(水) 16:14:25.97
if(String.charAt(0)=="0"){
えら〜
}

575 :デフォルトの名無しさん:2011/09/07(水) 17:14:00.97
>>574
君ももうちょっと勉強したほうがいいな

576 :デフォルトの名無しさん:2011/09/07(水) 18:32:45.95
フリーなXMLライブラリがいくつもありますが、そのライブラリ群が使用するXMLパーサーというものは自身のライブラリで持ち合わせているわけではなく
JREに含まれているデフォルトのパーサーというものを使用するものなのでしょうか?
その場合、OSによって選ばれるパーサーは違うのでしょうか?

577 :デフォルトの名無しさん:2011/09/07(水) 18:35:03.07
教えてください。

当方、java初心者で、servletののプログラムを始めました。
現在、http://localhost:8080/test/a
と、入力すると、画面aが開かれます。
その画面内のinput項目にhogehogeと入力しました。

で、サブミットを再びaに行うと、aが読み込まれません。
out.printlnを、doPostの直後に仕込んでも、なにも出力が行われません。

やりたいことは、aの画面を表示、必要事項入力、aにサブミットすると、
サーブレット内で入力された内容を登録するです。

なお、a再帰読み込み時、input非表示こうもくに再帰であることを示す項目を追加してますので、
それで再帰か、初回表示かを判断させようとしています。

578 :デフォルトの名無しさん:2011/09/07(水) 18:37:08.68
ある jar を利用してプログラムを作り、LINUX 上で実行しようとしたところ,コンパイルはできたものの実行ができませんでした。
以下のような手順でやってみたのですが、どこに問題があるのでしょうか?
実行時にも A や jar ファイルへのクラスパスを指定してみましたがダメでした。
宜しくお願いします。
----------------------------------
package packageA
import hoge.foo.bar.JarFileClass
class A{
...
}

package packageB
import packageB
class B{
...
}
----------------------------------
$ javac packageA/*.java -cp .:jar/jarfile.jar
$ jar zcf jar/packageA.jar packageA/*.class
$ javac packageB/*.java -cp .:jar/packageA.jar
$ java packageB.B
----------------------------------
Exception in thread "main" java.lang.NoClassDefFoundError: hoge/foo/bar/JarFileClass
    at ...
Caused by: java.lang.ClassNotFoundException: hoge/foo/bar/JarFileClass
    at ...

579 :デフォルトの名無しさん:2011/09/07(水) 18:41:23.75
>>577
ServletソースもHTMLソースもないので、何もアドバイスできないよ。


580 :デフォルトの名無しさん:2011/09/07(水) 18:42:24.50
>>578
java実行時にもクラスパスを設定する必要がある。

> 実行時にも A や jar ファイルへのクラスパスを指定してみましたがダメでした。

どう設定したか書きましょう。


581 :デフォルトの名無しさん:2011/09/07(水) 18:44:40.44
メッセージのとおり、クラスAでインポートしているJarFileClassにクラスパス通ってないんじゃないの?


582 :577:2011/09/07(水) 18:45:05.20
>>579
すみません、自己解決しました。
doPostじゃなくdoGetばかり見てました。
doPostからdoGetに処理を投げていませんでした。。。orz

583 :デフォルトの名無しさん:2011/09/07(水) 18:45:37.53
>>580
レスありがとうございます。
以下のようなパターンを試してみましたがダメでした。

$ java package.B -cp jar/jarfile.jar
$ java package.B -cp jar/packageA.jar
$ java package.B -cp jar/jarfile.jar:jar/packageA.jar


584 :578=583:2011/09/07(水) 18:51:32.85
>>581
そうだと思い >>583 のようにしてみたのですがやはり同じエラーでした。
ちなみに、jar ファイルを解凍して hoge/foo/bar/JarFileClass が入っている hoge を実行ディレクトリに持ってくれば実行できました。
ただこれだと面倒なので、今後の事も考えて解凍せず実行したいと考えています。

585 :デフォルトの名無しさん:2011/09/07(水) 19:01:17.38
>>583
> $ java package.B -cp jar/jarfile.jar:jar/packageA.jar

エラーメッセージのとおりならこれで動くはずですね。
(package.B -> packageB.B だけど)



586 :578:2011/09/07(水) 19:07:17.66
>>585
ありがとうございます、ただそれでも動きませんでしたが、自己解決しました。
以下のように、-cp オプションを実行対象ファイルの後ろから前に持ってきたら動きました。

$ java -cp jar/jarfile.jar:jar/packageA.jar packageB.B

-Xms などは特に警告されなかったんですが、classpath は特別なんでしょうか。
意見・アドバイスしてくださった方々、ありがとうございました。

587 :デフォルトの名無しさん:2011/09/07(水) 21:10:41.94
クラスBのmainメソッドの引数argsの値がどこから取ってきてるか知ってるかい?

588 :デフォルトの名無しさん:2011/09/07(水) 21:27:58.07
>>552
で、何が面倒?

589 :デフォルトの名無しさん:2011/09/07(水) 22:26:38.85
お前が面倒。

言わせんなよ。

590 :デフォルトの名無しさん:2011/09/07(水) 22:33:12.85
なんだコイツ?w

591 :デフォルトの名無しさん:2011/09/08(木) 00:27:01.98
>>587
なるほど、そりゃそうですね。
LINUXのコマンドの多くは順不同なイメージだったので・・・。
ありがとうございました。

592 :デフォルトの名無しさん:2011/09/08(木) 01:16:00.32
Usage嫁

593 :デフォルトの名無しさん:2011/09/08(木) 02:14:58.47
>>538
> 今のプロジェクトに新しい jar は追加できないルールとなっています。

そういう頭悪いプロジェクトは、早めに抜けるべき

594 :デフォルトの名無しさん:2011/09/08(木) 02:28:40.47
>>588
面倒だと感じることが出来ない奴は
普段から、どんだけ質の低いやり方してるか露呈して
恥ずかしいぞ

595 :デフォルトの名無しさん:2011/09/08(木) 02:52:21.79
良くも悪くもJava的な愚直さに慣れていると
>>552みたいな発想は出てこないかもしれない

596 :デフォルトの名無しさん:2011/09/08(木) 02:55:04.57
どんだけー☆

597 :デフォルトの名無しさん:2011/09/08(木) 04:07:24.03
いや普通は>>562だから…
あと個人的にはメソッドチェーンつかうとエディタにソースフォーマット全任せしたとき
ややこしいことになるので嫌い。


598 :デフォルトの名無しさん:2011/09/08(木) 04:09:44.57
>>548
まだFXMLがあるさ!

599 :デフォルトの名無しさん:2011/09/08(木) 04:30:33.99
>>597
Effective Javaを信仰してるんすか?

600 :デフォルトの名無しさん:2011/09/08(木) 07:00:09.60
Javaで、クラスを受け取ってそのインスタンスを返すようなstaticメソッドを書きたいんだけど、
どう書けばいいの?
下のコードでいうと、???のところがわからない。

class Utility {
 static ??? create(Class<? extends BaseClass> clazz) {
  ??? obj = clazz.newInstance();
  return obj;
 }
}

/// こんな感じで使いたい
import static my.pkg.Utility.*;
FooClass obj = create(FooClass.class);


601 :デフォルトの名無しさん:2011/09/08(木) 07:27:51.45
デフォルトコンストラクターがあることが前提でいいなら
clazzzzz.getConstructor().newInstance()

602 :デフォルトの名無しさん:2011/09/08(木) 07:46:50.56
>>600
static <T extends BaseClass> T create(Class<T> clazz) {
 return clazz.newInstance();
}

603 :デフォルトの名無しさん:2011/09/08(木) 07:55:14.16
>>601
メソッド定義がどうなるかを訊いてるんですけど。

>>602
Return type for the method is missing
とEclipseに怒られてコンパイルできません。


604 :デフォルトの名無しさん:2011/09/08(木) 08:20:39.21
>>603
戻り値型の T 抜かしたんじゃね?

605 :デフォルトの名無しさん:2011/09/08(木) 15:59:28.37
>>599
はい

606 :デフォルトの名無しさん:2011/09/08(木) 16:42:47.35
>>595
javascript系ではよく見るよ。

スクリプトなら良いと思うけど、
setterがthisを返すって俺は気持ちが悪いけどなぁ。

jQueryとかでの使い方は、getterとかクエリで取ってきたオブジェクトの一部を持つ
jQueryオブジェクトを返すんであって(なんか書き方がおかしいけど…)、
Javaでいうオブジェクトを返してるんじゃないからなぁ。

607 :デフォルトの名無しさん:2011/09/08(木) 17:16:12.24
「流れるようなインタフェース」は一時期Javaでも流行ったんよ。
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?FluentInterface

標準APIでも、例えばJava Persistence API のQueryなんかそんな感じだよね。
http://java.sun.com/javaee/5/docs/api/javax/persistence/Query.html


608 :デフォルトの名無しさん:2011/09/08(木) 21:12:59.30
縦型ツールバーで選択ファイルをzipで圧縮したいのですが、Windowsの送るにあるzipってコマンドじゃないようで使えません
何か方法はあるでしょうか?

609 :デフォルトの名無しさん:2011/09/08(木) 23:03:41.72
>>606
おい、うそつくな。API見直してこい

610 :デフォルトの名無しさん:2011/09/09(金) 03:13:21.53
引きニート 21才
java独学で始めたけど計算ばっかじゃん

これ一人で出来るの?

611 :デフォルトの名無しさん:2011/09/09(金) 04:04:10.34
>>597
おれもソースフォーマットの関係で一行ずつ書く方が好きだな
あとデバッグの時に追いやすい
エラーはいた時に箇所がわかりやすい
setterの戻りがnullの時に調べるのがめんどそう


612 :デフォルトの名無しさん:2011/09/09(金) 08:15:56.01
何がしたいのかもわからず「できるのか」とか流石に知能が低すぎる。

613 :デフォルトの名無しさん:2011/09/09(金) 08:17:25.50
計算なんてほとんど出てこないけど

614 :デフォルトの名無しさん:2011/09/09(金) 08:18:44.95
計算以外に条件によって分岐というのもある。

615 :デフォルトの名無しさん:2011/09/09(金) 15:11:13.71
おたずねします。
メニュー構造のような階層をもつ定数値を格納しておくのに最適な方法は何ですか?
階層ごとに取り出して処理したいのですが。

616 :デフォルトの名無しさん:2011/09/09(金) 15:12:07.87
初心者にはHSPがお似合い

617 :デフォルトの名無しさん:2011/09/09(金) 15:32:47.20
xmlじゃね

618 :デフォルトの名無しさん:2011/09/09(金) 16:52:55.77
RuntimeExceptionについての質問です。

引数チェック時のIllegalArgumentExceptionなど、明示的に実行時例外をthrowするケースがあると思のですが、
この時メソッド定義のthrows節やJavaDocの@throwsに実行時例外を記述しますか?

メソッドの仕様を明らかにするという目的でJavaDocに@throwsを書くべきだと思うんですが、
メソッド定義のthrows節はどうするのが良いか気になっています。

619 :デフォルトの名無しさん:2011/09/09(金) 17:00:41.66
表示しないけどJTreeつかうとか。

620 :デフォルトの名無しさん:2011/09/09(金) 17:58:07.12
>>608
java zipでググればすぐ出てくるじゃないか

621 :デフォルトの名無しさん:2011/09/09(金) 17:59:23.09
>>615
compositeパターン

622 :デフォルトの名無しさん:2011/09/09(金) 18:02:53.87
>>618
標準ライブラリでは付けてないみたいね。

623 :デフォルトの名無しさん:2011/09/09(金) 18:03:25.15
>>610
できる

624 :デフォルトの名無しさん:2011/09/09(金) 19:23:55.74
>>602
>static <T extends BaseClass> T create(Class<T> clazz) {
> return clazz.newInstance();
>}

たぶん
static <T extends BaseClass> T create(Class<T> clazz) thows Exception {
 return (T)clazz.newInstance();
}
にしたいんだろうけど(例外まわりはおいといて)、この定義だと
いきなり T が現れているから、コンパイルエラーになる。
どう書けばいいのかは、おれにはわからないんだけど。

625 :デフォルトの名無しさん:2011/09/09(金) 20:04:07.05
>>624
ならないけど?

626 :デフォルトの名無しさん:2011/09/09(金) 20:37:34.62
>>618
実行時例外は何らかの形でドキュメントに明示しておく必要がある。

ただし、IllegalArgumentExceptionについては全てのメソッドのJavadocに書くと面倒なので、
Javadocのoverviewで前提条件に違反したらこれらを投げると明記しておいて、
特に特記事項が無い限り、後は省略してしまうのが簡単かもしれない。

また、NullPointerExceptionについても同様に、
特記しない限り非nullということにして(コレクションや配列の要素も非nullを既定として)
これに違反した引数が渡されたら投げるとoverviewに書いてしまうのが簡単。
(ただ、たまたまnullでもOKなロジックを持つメソッドが作れてしまうと悩ましい。)

メソッドの定義のthrows節については、Effective Javaによると書かないらしい。
これは、Javadocを見たときにチェックされる例外と区別できるからとか。

627 :デフォルトの名無しさん:2011/09/09(金) 21:14:20.82
>>624
キャストも要らんし、手抜きでthrows Exceptionにするのもなんだかなぁ……

628 :デフォルトの名無しさん:2011/09/09(金) 21:21:51.14
>>626
IllegalArgumentExceptionは結局メソッド毎に前提条件列挙しないといかんような。
なので@throws IllegalArgumentExceptionで前提条件列挙しても手間大して変わらん。

overviewに特に記述がなければnull渡したらNullPointerExceptionと書いてあるなら
null渡してもOKなメソッドについては全部文書化するべきだな。

629 :デフォルトの名無しさん:2011/09/09(金) 21:35:02.00
>>628
前提条件が各引数で独立なら、
@param でそれぞれの引数毎に記述した方が分かりやすいと思う。
従属しているような複雑な前提条件だったら、
@throws に全部書き込むのは無理矢理かもしれない。
簡単に書けるものなら…むにゃむにゃ

nullについては、引数だけじゃなく、メソッドの返却値にも同様に、
明記しない限り非null(コレクションや配列の場合は要素も非null)
ということにするのが簡単。
チェーンメソッドの全てに、返値は非nullです!って書くのは面倒

630 :デフォルトの名無しさん:2011/09/09(金) 21:41:17.04
>>627
Class.newInstance()は、throws節には書いてないが、
ありとあらゆるチェックされる例外が投げられるアホなメソッドだから
Exceptionを投げる(かキャッチする)方がマシだぞ

631 :デフォルトの名無しさん:2011/09/09(金) 21:57:54.93
>>624
戻り値の型をObjectにして、呼び出し側でキャストするしかないのかなぁ。
そんなエレガントな方法あるなら、javax.rmi.PortableRemoteObject#narrow()のような
クソ仕様は生まれなかったはずだし。

632 :デフォルトの名無しさん:2011/09/09(金) 22:17:53.69
>>624
<T extends BaseClass> で定義してあるじゃないか。
-source 1.5 以上になってないとかいうオチか?

633 :デフォルトの名無しさん:2011/09/09(金) 22:18:48.44
>>630
それなら getConstructor().newInstance() すればいいんじゃね?

634 :デフォルトの名無しさん:2011/09/09(金) 22:32:30.72
>>629
例外発生条件があっちこっちに分割して書かれるのってケアレスミスの元じゃね?
@paramに全部の条件かけるならともかく、そうでないなら@throwsに一括して書く方が良いね。

@return 算出された日付。非nullです! とか書かないだろ、普通。
@return 算出された日付。途中でエラーが発生した場合はnull。とかは書くかもしれんが。

635 :デフォルトの名無しさん:2011/09/09(金) 22:42:24.47
実行環境のclasspathに存在する全クラスの一覧を取得するにはどうすればよいですか?

636 :デフォルトの名無しさん:2011/09/10(土) 11:57:57.91
>>635
クラスローダーとリフレクションでググれ

637 :デフォルトの名無しさん:2011/09/10(土) 11:59:23.56
>>634
APIによっては書くだろ
コレクション返すAPIとか、サイズゼロなのかnullなのか。

638 :デフォルトの名無しさん:2011/09/10(土) 13:34:05.05
>>625
ほんとに?

/* BaseClass.java */
public class BaseClass {
}

/* Example.java */
public class Example {
static <T extends BaseClass> T create(Class<T> clazz) thows Exception {
return (T)clazz.newInstance();
}
}

$ java -version
java version "1.6.0_26"

$ javac Example.java
Example.java:2: ';' expected
static <T extends BaseClass> T create(Class<T> clazz) thows Exception {
^
1 error

どんなコード書いたらエラーにならないんだろ。


639 :デフォルトの名無しさん:2011/09/10(土) 14:03:14.85
thows

640 :デフォルトの名無しさん:2011/09/10(土) 14:13:08.90
>>639
そういう恥ずかしい所は指摘しちゃ絶対ダメだよw

641 :デフォルトの名無しさん:2011/09/10(土) 15:01:54.96
618です。
実行時例外についてのレスありがとうございました。

話題はJavaDocの書き方に移ったようですが、
少なくともthrows節には書かないので良さそうですね。

…って地震だ!

642 :デフォルトの名無しさん:2011/09/10(土) 18:08:31.72
個人情報を入力していくJavaで作った画面があるんだけど、
その入力されたデータをデータベースに登録されている同じ人のデータを入力された値に更新して
更新日をその変更した日に更新したいんだが、違う項目に値が入って肝心の更新日が変更されない。
だから更新日で検索かけてもその人が出てこないって状況なんです。
これって中のプログラムが悪いんですかね?

643 :デフォルトの名無しさん:2011/09/10(土) 18:12:26.69
>肝心の更新日が変更されない
ってとこまで判ってるならその原因探れよ

644 :デフォルトの名無しさん:2011/09/10(土) 22:47:21.60
>>642
>違う項目に値が入って肝心の更新日が変更されない。

プログラムは、書いたとおりに動くよ、。


645 :デフォルトの名無しさん:2011/09/10(土) 22:59:20.82
プログラムは、書いたとおりにしか動かないよ。

646 :デフォルトの名無しさん:2011/09/10(土) 23:03:27.07
Java

647 :デフォルトの名無しさん:2011/09/10(土) 23:06:51.44
天才の俺様が間違える分けない
コンパイラのバグだろう
Sunの開発者は送球に修正すべし

648 ::2011/09/10(土) 23:13:55.71
Swingに関して質問なのですが、
LayoutManagerをnullにしたところ、ScrollPaneが表示されなくなりました。

setBoundsしたら表示されるようなのですが、
何が原因で表示されなくなるのかご存知の方が居られましたら教えてください。

649 :デフォルトの名無しさん:2011/09/10(土) 23:14:48.90
>>647
たった3行の文章なのに、間違いが・・・

650 :デフォルトの名無しさん:2011/09/10(土) 23:15:33.62
LayoutManagerをnullにしたのが原因なんじゃないかな

651 ::2011/09/10(土) 23:21:15.87
>>650
まあ、確かにそのとおりですね。w
失礼しました。

LayoutManagerをnullにすると、無効になるパラメータ等があるのかと思って
質問させていただきました。
どうなのでしょうか。

652 :デフォルトの名無しさん:2011/09/10(土) 23:31:25.97
LayoutManagerにnullをセットすると
absolute positioningになるんじゃなかったっけ?
だからだよ。

653 ::2011/09/10(土) 23:40:11.87
>>652
absolute positioning では、
setPreferredSize()等のレイアウト指定処理が無効になっている、
ということでしょうか。

一々setBounds()しなければならない、と。
面倒ですが、仕方ないですね。

お返事、ありがとうございました。

654 :デフォルトの名無しさん:2011/09/11(日) 00:06:39.89
>>653
LayoutManagerにnullセットするのが邪道なんだよw
Null Layout is Evil。わざわざ自らトラブル招いてるんだから。

そのAPIの意味や、背後の思想を理解して使えば
何が起きるか予想できる。
逆に、行き当たりばったりで使うと
「ハマり」から自力で脱出出来なくなるよ

655 ::2011/09/11(日) 11:14:31.61
>>654
null Layout自体が駄目ですか。

でも、レイアウトマネージャを使うと、枠一杯にボタンが広がったりしますけど、
例えば、メッセンジャの画面のような、
・大きなコントロール(チャットログ)
・小さなコントロール(発言入力枠)
・ボタン
を、一つの画面に同時に配置するときとか、どのようにしてらっしゃいます?

特にボタンの運用に困ることが多々あるのです。
ちょっとでか過ぎるでしょう。

656 :デフォルトの名無しさん:2011/09/11(日) 11:52:10.76
borderlayout

657 :デフォルトの名無しさん:2011/09/11(日) 12:18:05.78
>>655
よく分からんがこんな感じ?
http://pastebin.com/yAB3djEx


俺も最近始めたばかりなので
GroupLayout(Java6からだよね?)以前はどうやってレイアウトしてたのか気になる。

658 :デフォルトの名無しさん:2011/09/11(日) 12:33:52.09
GridBagLayoutを多用している俺は異端なのか…
設定やら配置やらの面倒な処理を共通クラスに押し込めてやれば多少複雑な
コンポーネントの配置でもそこそこ見やすくコーディングできるんだがなぁ

659 :デフォルトの名無しさん:2011/09/11(日) 12:38:47.53
>>658
お前は異端というかゴミ

660 :デフォルトの名無しさん:2011/09/11(日) 13:10:50.30
>>656
それサンプル見ただけで拒否反応起こるんだけど、どういう状況を想定したレイアウトなんだろう?

>>658
ああ、確かにありがち。
マジックナンバー使いまくりの醜いコードしか見たことないけど、
うまい使い方あるんですかね?


661 :デフォルトの名無しさん:2011/09/11(日) 13:26:42.31
>>660
borderlayoutなら
>>655
・大きなコントロール(チャットログ)
・小さなコントロール(発言入力枠)
・ボタン

も簡単にできるよ。

まずチャットログはcenterに配置する。
それから別のJpanelを用意して、このjpanelもborderlayoutにする
でこのcenterに発言入力枠をいれて、eastにボタンを配置する。
後は、このjpanelをsouthに配置すればいい

662 :デフォルトの名無しさん:2011/09/11(日) 13:41:14.42
よろしくお願いします

eclipseでjavaを書いています。
同一プロジェクトの中に同じ名前のclassファイルを置きたいです。
もちろんフォルダ(パッケージ)は分けていますが、出来る場合はどのようにimport すればいいのでしょうか?

663 :デフォルトの名無しさん:2011/09/11(日) 13:43:00.73
>>647

664 :デフォルトの名無しさん:2011/09/11(日) 14:10:02.72
>>662
インポートせずにパッケージ生書き

665 ::2011/09/11(日) 14:38:27.36
やっぱり、JPanelを入れ子にする方法ですか…。
あれ、面倒なんですよね…。

画面遷移もしているのですが、
JPanelを益々、沢山作らないといけなくなりますね。

666 :デフォルトの名無しさん:2011/09/11(日) 15:22:03.72
>>665
>>657は無視かい

667 :デフォルトの名無しさん:2011/09/11(日) 17:00:02.28
インターフェースについて質問です
下のstrListは、ArrayList型ですか?List型ですか?

List<String> strList = new ArrayList<String>();


668 : ◆QZaw55cn4c :2011/09/11(日) 17:03:00.95
>>667
arryalist 型でしょう、普通。

669 :デフォルトの名無しさん:2011/09/11(日) 17:17:06.55
実行時の型を聞いているのか
コンパイル時の型を聞いているのか

670 ::2011/09/11(日) 17:53:51.74
>>666
申し訳ない。
出掛けに慌ててレスするものじゃないですね。

GroupLayoutはあまり使った事が無く、一瞥して理解するのは難しそうなので、
これから試してみたいと思います。
ありがとうございます。

671 :デフォルトの名無しさん:2011/09/12(月) 09:49:00.75
>>576
誰かこれわかりませんか?

672 :デフォルトの名無しさん:2011/09/12(月) 10:13:48.53
そんなのライブラリによるとしか言えないだろ
そりゃ「XMLをパースするライブラリ」なら自分で書いてるだろうし
もっと高レベルなライブラリなら標準の使ってるかもしれないし自作かもしれないし他の使ってるかもしれない

673 :デフォルトの名無しさん:2011/09/12(月) 10:17:22.79
ゆとりってバカだよなw

674 :デフォルトの名無しさん:2011/09/12(月) 10:50:28.23
DOMパーサ実装がどのように選ばれるか/設定するかは
javax.xml.parsers.DocumentBuilderFactoryのドキュメントとかにいろいろ書いてある。
SAXパーサ実装もほぼ似たようなもの。

675 :デフォルトの名無しさん:2011/09/12(月) 11:02:21.66
標準のファクトリ使ってないかもしれないじゃん
もしかしたらプルパーサかもしれないし

676 :デフォルトの名無しさん:2011/09/12(月) 16:56:28.95
条件が続くかぎり、ループ処理を入れ子にしていくようなループって作れるでしょうか?

677 :デフォルトの名無しさん:2011/09/12(月) 16:58:01.31
ループ処理を入れ子って具体的には?

678 :デフォルトの名無しさん:2011/09/12(月) 17:07:09.53
>>677
すみません、ちょっと例を準備して再度書き込ませていただきます。

679 :デフォルトの名無しさん:2011/09/12(月) 17:16:13.86
>>677
下記のような感じです。ピラミッド型になっていき、これを50回も繰り返せば目的は達成できるのですが、他にまともなやり方はないかと思いまして。
下を見ても意味がわからないかもしれませんが、自分でも書いてて意味がわからなくなってきました・・・。

int j= 0; while(j<hogecs.get(number).size()){
int number2 = hogecs.get(number).get(j);
///////////
int k= 0; while(k<hogecs.get(number2).size()){
int number3 = hogecs.get(number2).get(k);
///////////
int l= 0; while(l<hogecs.get(number3).size()){
int number4 = hogecs.get(number3).get(l);
///////////
int m= 0; while(m<hogecs.get(number4).size()){
int number5 = hogecs.get(number4).get(m);
///////////
nantoka.add(awawa(number5));
m++;
}
nantoka.add(awawa(number4));
l++;
}
nantoka.add(awawa(number3));
k++;
}
nantoka.add(awawa(number2));
j++;
}
nantoka.add(awawa(number));

680 :デフォルトの名無しさん:2011/09/12(月) 17:16:27.75
再帰のことかな?
スタックオーバーフローで死ぬパターンw

681 :デフォルトの名無しさん:2011/09/12(月) 17:19:36.72
すみません、タブが削除されちゃうみたいで、修正しました。こういう感じです。
int j= 0; while(j<hogecs.get(number).size()){
    int number2 = hogecs.get(number).get(j);
    ///////////
    int k= 0; while(k<hogecs.get(number2).size()){
        int number3 = hogecs.get(number2).get(k);
        ///////////
        int l= 0; while(l<hogecs.get(number3).size()){
            int number4 = hogecs.get(number3).get(l);
            ///////////
            int m= 0; while(m<hogecs.get(number4).size()){
                int number5 = hogecs.get(number4).get(m);
                ///////////
                nantoka.add(awawa(number5));
                m++;
            }
            nantoka.add(awawa(number4));
            l++;
        }
        nantoka.add(awawa(number3));
        k++;
    }
    nantoka.add(awawa(number2));
    j++;
}
nantoka.add(awawa(number));

682 :デフォルトの名無しさん:2011/09/12(月) 17:30:38.19
再帰でいいよ
どうせ入れ子の階層が増えるとループ回数が激増するから
スタックオーバーフローするほど深くはできないでしょ

683 :デフォルトの名無しさん:2011/09/12(月) 17:31:24.32
再帰だと、hogecsとnantokaはインスタンスフィールドと仮定して

public void recursive(int number) {
 for (int i = 0; i < hogecs.get(number).size(); i++) {
  recursive(hogecs.get(number).get(i));
 nantoka.add(awawa(number));
 }
}

684 :デフォルトの名無しさん:2011/09/12(月) 17:35:38.70
>>682,683
再帰ですか、ちょっと調べてみたら凄い難しくて頭が沸騰しそうです。
頑張って勉強してみます、ありがとうございました。

685 :デフォルトの名無しさん:2011/09/12(月) 17:52:05.27
こういう時こそC/C++をちゃんと勉強したことがあるかどうかだよな

686 :デフォルトの名無しさん:2011/09/12(月) 19:06:24.99
関係ないだろ

687 :デフォルトの名無しさん:2011/09/12(月) 19:08:21.50
javaで画像の縮小や切り取りを綺麗にできるライブラリってなんでしょうか?

688 :デフォルトの名無しさん:2011/09/12(月) 19:23:48.12
GoFのパターンで重要なのはどのパターンですか?

689 :デフォルトの名無しさん:2011/09/12(月) 19:26:43.63
シングルトンパターン

690 :デフォルトの名無しさん:2011/09/12(月) 20:02:27.38
FlyWeight

691 :デフォルトの名無しさん:2011/09/12(月) 20:05:53.55
GoFのパターンの1つとして数えられてるわけじゃないが超重要なのは移譲の概念
だいたいその応用

692 :デフォルトの名無しさん:2011/09/12(月) 20:32:26.82
-以上-

693 :デフォルトの名無しさん:2011/09/12(月) 22:33:31.63
>>687
java.awt.imageパッケージ

694 :デフォルトの名無しさん:2011/09/13(火) 00:01:16.23
>>687
http://ja.wikipedia.org/wiki/ImageMagick
http://ja.wikipedia.org/wiki/ImageJ
後者はどんなのか知らんけど。

695 :デフォルトの名無しさん:2011/09/13(火) 00:52:29.78
ジェネリクスで指定したクラスを配列にして、空データを返す
そんな事をしたいのですが、
下記のソースコードではうまくいきませんでした。
どこが間違っているのでしょうか?
public xxx(T outputObj){
Class resultObject = outputObj.getClass();
T[] r2 = (T[])Array.newInstance(resultObject, 1);
r2[0] = (T)resultObject.newInstance();

696 :デフォルトの名無しさん:2011/09/13(火) 01:20:52.86
タイマーの作り方がいまいちわからない。

threadとsynchronize を上手く使えばいいのか?

697 :デフォルトの名無しさん:2011/09/13(火) 01:40:41.28
>>695
日本語からもコードからも何をやりたいのかさっぱり分からん。

>>696
タイマだけならsynchronizedする必要は無いけど。
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/concurrent/ScheduledExecutorService.html

698 :デフォルトの名無しさん:2011/09/13(火) 03:16:12.96
MacのCocoa Bindingみたいに、JavaでもGUIの状態と変数を自動で同期してくれるような仕組みってありますか?


699 :デフォルトの名無しさん:2011/09/13(火) 08:16:48.00
>>698
一口にGUIといっても色々あってだな…
AWTにはそういう仕組みはない。
SWTとSWINGは識者の登場を待ってて。
サードパーティ製品にはそういうのがあった気がするけど個人が手を出せる価格ではなかった(年間サポートつき数十万単位)。

700 :デフォルトの名無しさん:2011/09/13(火) 09:03:09.42
>>698
JavaFX

701 :デフォルトの名無しさん:2011/09/13(火) 10:20:13.09
>>695
あーやっとわかった気がする。これか。
public class Class695 {

public <T> T[] xxx(T outputObj) throws InstantiationException, IllegalAccessException {
Class<T> resultObject = (Class<T>) outputObj.getClass();
T[] r2 = (T[]) Array.newInstance(resultObject, 1);
r2[0] = resultObject.newInstance();
return r2;
}

public static void main(String[] args) throws InstantiationException, IllegalAccessException {
String[] res = new Class695().<String>xxx(new String("test"));
System.out.println(res[0]);
}
}

やっぱり何をやりたいのかはさっぱりだが。

702 :デフォルトの名無しさん:2011/09/13(火) 11:30:06.70
javaxのパッケージは何の意味を持つものでしょうか?
java誕生以降に追加された機能とか書いてあったりしますが。
OpenJDKなどのサードパーティーのJREにも必ず含めないと行けない決まりがあるのでしょうか?

AnyRunを考えると、環境によってjavaxがない場合もあるから使用しちゃいけない、なんてことあるのでしょうか?

javaってこのあたりがよくわかりません。

703 :デフォルトの名無しさん:2011/09/13(火) 12:36:28.91
何の意味も無いよ。
自己責任で自作パッケージ名をjavax.で始めるもよし。

あるパッケージがランタイムに含まれているかどうかは、
その都度各版のAPIドキュメント見て確認するしかない。

半年もサーブレットの開発してれば、SEやEEのパッケージ名の大半は
区別付くようになるけどなー。

704 :デフォルトの名無しさん:2011/09/13(火) 12:49:31.69
>>703
javaxやjavaで始まるパッケージ名を使うのはライセンス違反じゃなかったっけ?

705 :デフォルトの名無しさん:2011/09/13(火) 17:05:05.11
WindowsのDLL向けに作ったJNIのラッパーは
LinuxのSOにもそのまま使えますか?

706 :デフォルトの名無しさん:2011/09/13(火) 17:11:59.71
同名同引数同戻り値型で同じ動作をする関数しか使ってなければ、
JNIのC言語のソースも再利用できるって程度。

707 :705:2011/09/13(火) 17:49:25.21
>>706
Java側のラッパー(.classまたは.jar)はそのまま利用できますか?

708 :デフォルトの名無しさん:2011/09/13(火) 18:22:59.75
>>702
http://stackoverflow.com/questions/727844/javax-vs-java-package

javaxもjavaと同じ。存在しない環境がある可能性なんて無い。

Androidみたいな擬似Java環境構築しようとした場合なんかには、
とりあえずjavaxは置いといてjavaパッケージ以下を実装しよう、みたいな目安にはなるかも。

古いバージョンのAppletを動かす際にjava.*に新しいクラスが増えると問題あるから
javaxができた、とかいう説明を昔聞いたけど、事実かどうかは分からない。


>>698
Beans Binding
http://journal.mycom.co.jp/column/jsr/010/index.html
http://netbeans.org/kb/docs/java/gui-binding_ja.html

709 :デフォルトの名無しさん:2011/09/13(火) 18:25:56.90
JavaFXはこれかな。
http://download.oracle.com/javafx/2.0/binding/jfxpub-binding.htm

710 :デフォルトの名無しさん:2011/09/13(火) 18:29:45.07
>>708
日本語でおか

711 :デフォルトの名無しさん:2011/09/13(火) 19:57:35.20
色んな文字コードの可能性があるStringオブジェクトをUTF-8に変換するにはどうすればいいですか?

712 :デフォルトの名無しさん:2011/09/13(火) 20:11:08.77
>>711
Stringに色んな文字コードは無い。
> String は、「補助文字」を「サロゲートペア」で表現する UTF-16 形式の文字列を表します
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/String.html


Stringになる前のバイト列に文字セットを指定してStringを生成するのは
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/String.html#String(byte[], java.nio.charset.Charset)

StirngをUTF-8バイト列に変換したいのであれば
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/String.html#getBytes(java.nio.charset.Charset)


713 :デフォルトの名無しさん:2011/09/13(火) 21:17:41.13
↑なんだコイツ?

714 :デフォルトの名無しさん:2011/09/13(火) 21:21:34.36
>>713
>>711のこと?

715 :デフォルトの名無しさん:2011/09/13(火) 22:22:52.66
>>713
お前そればっかだな

716 :デフォルトの名無しさん:2011/09/13(火) 22:43:45.48
str.equals("あ")

はjavaファイルの文字コードによって意味が変わりますか?

717 :デフォルトの名無しさん:2011/09/13(火) 22:48:17.33
思い切り意味が変わるから、くれぐれもソースコンパイル時の文字コード指定は
きちんと指定しような

718 :デフォルトの名無しさん:2011/09/13(火) 22:57:45.81
やっぱそうですか^^
やはりUTF-16での数値で比較する方がベターなんですかね?
可読性は落ちますが

719 :デフォルトの名無しさん:2011/09/13(火) 23:02:53.76
>>718
は?馬鹿?

720 :デフォルトの名無しさん:2011/09/13(火) 23:03:36.82
コンパイル時にちゃんとエンコーディング指定すりゃいいだけだな。

721 :デフォルトの名無しさん:2011/09/13(火) 23:04:30.12
ちがうの?

722 :デフォルトの名無しさん:2011/09/13(火) 23:09:29.19
昔は糞サーブレットプログラムでnew String(s.getBytes("ASCII"), "Shift_JIS")
なんてソースをよく見たな

723 :デフォルトの名無しさん:2011/09/13(火) 23:14:23.44
main()の頭で
 assert 'あ' == 0x3042;
とか書いとけばビルドミスは検出できる。

海外の開発環境も交えて真剣に国際化に取り組むなら、
日本語文字列はプロパティファイルに\u記法で書いて
実行時に読み込むのが定番。

724 :デフォルトの名無しさん:2011/09/14(水) 01:50:07.39
>>723
普通UTF-8で統一する。
JavaよかソースファイルのエンコーディングにセンシティブなGroovyなんかでは顕著。

725 :デフォルトの名無しさん:2011/09/14(水) 01:55:48.97
GrailsはフレームワークでUTF-8決めうちしてるしな。

726 :デフォルトの名無しさん:2011/09/14(水) 03:11:39.58
そこに、絵文字を扱えるように!
というご託宣が、、

727 :デフォルトの名無しさん:2011/09/14(水) 06:58:47.53
そういえばUnicodeに絵文字が追加されてたな


728 :デフォルトの名無しさん:2011/09/14(水) 08:29:01.44
パソコンでみえない

729 :デフォルトの名無しさん:2011/09/14(水) 10:20:16.40
涙でみえない

730 :デフォルトの名無しさん:2011/09/14(水) 16:52:54.47
センシティブって何?

731 :デフォルトの名無しさん:2011/09/14(水) 17:01:11.78
>>712
馬鹿?w

732 :片山博文MZ:2011/09/14(水) 17:20:40.70
>>730
sensitive
敏感な,感じやすい; 傷つきやすい,過敏な

733 :デフォルトの名無しさん:2011/09/14(水) 17:26:27.59
文字列の場合は大文字小文字を区別する

734 :デフォルトの名無しさん:2011/09/14(水) 18:06:15.92
大文字小文字の話なら case sensitive


735 :デフォルトの名無しさん:2011/09/14(水) 20:16:39.33
キャストの判別ってだらだら長いコードにならないようにしたいよねえ。
なんかいい方法ある?


736 :デフォルトの名無しさん:2011/09/14(水) 20:19:11.28
visitor使うとかenumで振り分けるとか

737 :デフォルトの名無しさん:2011/09/14(水) 21:21:32.56
C,C++からJavaに移る時、注意する事。ハマりやすい所があったら教えてください

738 :デフォルトの名無しさん:2011/09/14(水) 21:28:10.32
>>730
わかりにくい表現ですまん。辞書の意味では>>732の通り。

Javaなら実行時にコンパイル済みだから、ソースコードのエンコーディングは気にしなくていいけど、
Groovyはいわゆるスクリプト言語なので、実行時にソースコードのエンコーディングを指定しなきゃならん。

面倒臭さ具合は↓を見てくれ。
ttp://d.hatena.ne.jp/uehaj/20090815/1250316330
で、面倒なんで環境はUTF-8で統一しとく、ということが多いということ。

>>731
お前そればっかだな


739 :デフォルトの名無しさん:2011/09/14(水) 22:30:52.34
質問です。
java EE6 SDK をダウンロードしてインストールしてるのですが、
sunオンラインアカウントの登録というところでずっとエラーが出てしまうのですが、

どうすればインストールできるのでしょうか?OSはWindows7のHomePremierです。




740 :デフォルトの名無しさん:2011/09/14(水) 23:56:26.22
eclipseでブレークポイント設置する時にいつも↓みたいにやってるんですが
もっとスマートな方法教えてください

if(str.equals("abc")){
 system.out.println("(;´Д`)");//ここにブレークポイント
}

741 :デフォルトの名無しさん:2011/09/15(木) 00:18:34.15
それのどこがブレークポイント設定してるんだ?釣りにしてはひどすぎる。

742 :デフォルトの名無しさん:2011/09/15(木) 00:25:51.03
if文の条件が真のときに
(;´Д`)で止めようとしてんでしょ

743 :デフォルトの名無しさん:2011/09/15(木) 00:31:26.16
(;´Д`)が真だってのかよ

744 :デフォルトの名無しさん:2011/09/15(木) 00:34:13.47
何いってんの?

745 :デフォルトの名無しさん:2011/09/15(木) 00:34:39.51
Eclipseって条件付きデバッグの設定できなかったっけ


746 :デフォルトの名無しさん:2011/09/15(木) 00:35:24.37
みす
条件付きブレークポイント


747 :デフォルトの名無しさん:2011/09/15(木) 01:04:04.20
>>740
それは何をやっている(つもりの)コードなの?

748 :デフォルトの名無しさん:2011/09/15(木) 01:06:14.36
>>742

749 :デフォルトの名無しさん:2011/09/15(木) 01:08:19.06
ビルドパスとクラスパスの違いを教えてください

750 :デフォルトの名無しさん:2011/09/15(木) 01:27:56.61
  ∧_∧
  (´・ω・) いやどす
  ハ∨/~丶
  ノ[三ノ |
 (L|く_ノ
  |* |
  ハ、__|
""~""""""~""~""~""

751 :デフォルトの名無しさん:2011/09/15(木) 01:38:45.39
どすどす

752 :デフォルトの名無しさん:2011/09/15(木) 01:55:07.95
>>750
わからないならレスしないでください
迷惑です

753 :デフォルトの名無しさん:2011/09/15(木) 02:02:23.07
わからない奴の方がめずらしいんだが

754 :デフォルトの名無しさん:2011/09/15(木) 02:10:31.34
>>752=750

755 :デフォルトの名無しさん:2011/09/15(木) 02:24:33.81
CLASSPATH

756 :デフォルトの名無しさん:2011/09/15(木) 03:09:57.61
>>737
この前は仮想デストラクタではまりました。ああ逆か Java -> C++ の話ね。

757 :デフォルトの名無しさん:2011/09/15(木) 03:48:03.71
>>753
みんなわかってないみたいです
誰に聞いても「わかったようなこと」しか言いませんから

758 :デフォルトの名無しさん:2011/09/15(木) 05:41:09.25
>>757
ほらよ
http://tinyurl.com/68lcbzv

759 :デフォルトの名無しさん:2011/09/15(木) 05:43:28.10
>>758
つーか、ググればわかる事を人に聞く奴には
Javaは向いてない。身の丈考えず背伸びするのやめて
もっと素人向けの言語使ったほうがイイぞ

760 :デフォルトの名無しさん:2011/09/15(木) 08:16:37.57
以前このスレでjunkutilと命名してもらった者です。
あれからSourceForgeに登録して、JunkUtilのWikiを充実させました。

http://sourceforge.jp/projects/junkutil/wiki/FrontPage

もうすぐ正式リリースとなります。今後ともよろしくお願いいたします。

761 :デフォルトの名無しさん:2011/09/15(木) 08:56:06.94
うぜえ
mixiとsourceforgeでやってろ

762 :デフォルトの名無しさん:2011/09/15(木) 09:09:28.08
>>739
>>524 付近

763 :デフォルトの名無しさん:2011/09/15(木) 09:18:56.62
>>760
ここにはもう来ないでください

764 :デフォルトの名無しさん:2011/09/15(木) 10:03:15.52
JDKダウンロードした後は環境変数を設定するんですよね?だから

ユーザー変数 Path
変数値 ;C:\Program Files\Java\jdk1.7.0\bin

としたのに、コマンドプロンプト上では

 ↓ ↓
C:\Users\Owner>cd c:\java
指定されたパスが見つかりません。
 ↑ ↑

となります・・・どうしたらいいですか?
再起動もしました。

765 :デフォルトの名無しさん:2011/09/15(木) 10:05:42.24
Cドライブ直下にjavaディレクトリをつければそのコマンドは通る

766 :デフォルトの名無しさん:2011/09/15(木) 10:13:56.45
>>765
確かにそれは通ったんですが
↓↓

c:\Java>javac sample.java
'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

c:\Java>java sample
Error: could not open `C:\Program Files\Java\jre7\lib\i386\jvm.cfg'

↑↑
となります・・・どうしたらいいでしょう?

767 :デフォルトの名無しさん:2011/09/15(木) 10:15:19.40
にちゃんねるはおそろしいところですね

768 :デフォルトの名無しさん:2011/09/15(木) 10:21:05.14
>>766
java -version の結果を貼れ

769 :デフォルトの名無しさん:2011/09/15(木) 10:30:30.43
本当にPathを「;C:\Program Files\Java\jdk1.7.0\bin」のみにしてしまったとか?

さすがにそんなアホな事は……いやまさか……だがしかし……

770 :デフォルトの名無しさん:2011/09/15(木) 10:32:42.04
>>768
こうなりました・・・

↓↓
C:\Users\Owner>cd \

C:\>java-version
'java-version' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

↑↑

Os はVistaです。

771 :デフォルトの名無しさん:2011/09/15(木) 10:33:30.16
>>770
java-version じゃない java -version だ

772 :デフォルトの名無しさん:2011/09/15(木) 10:38:19.94
>>771
お手数かけます・・

↓↓
C:\>java -version
Error: could not open `C:\Program Files\Java\jre7\lib\i386\jvm.cfg'

↑↑

こうなりましたね。ちなみにコマンドプロンプトのインデックスバー
は日本語で"コマンドプロンプト"ってなってて
"C:\WINDOWS\system32\cmd.exe"じゃないです。

773 :デフォルトの名無しさん:2011/09/15(木) 10:38:25.21
専門学校では夏休みはいつからいつまでなんですか?

774 :デフォルトの名無しさん:2011/09/15(木) 10:40:09.72
>>770
たぶんウイルスにヤられたな

775 :デフォルトの名無しさん:2011/09/15(木) 10:45:06.20
>>772
以下のページの事例と同じだと思われる。
http://www.smg.co.jp/seminar/java/message.html

たぶんインストール時の権限が足りてないか何かで、
インストール自体がうまくいっていない。

776 :デフォルトの名無しさん:2011/09/15(木) 10:48:45.77
>>773
東京大学ですよ、僕は。情報系です。

>>775
えぇ・・同じ結果になるだけでは?一応かなりスムーズにインストールできた
んですが・・
パッケージは
Java SE Development Kit 7
Windows x86 79.48 MB jdk-7-windows-i586.exe
です。

できればこれ以外でサインイン無しでインストールできる
ものはないでしょうか?

777 :デフォルトの名無しさん:2011/09/15(木) 10:51:09.92
>>776
お前が誰かなんてどうでもいいから、
黙って管理者権限でアンインストール&再インストールしろ。


778 :デフォルトの名無しさん:2011/09/15(木) 10:51:38.67
>>772
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1229181427

コマンドプロンプトで
echo %PATH%
した結果貼ってみれ。

779 :デフォルトの名無しさん:2011/09/15(木) 10:51:40.33
完全にアンインストールする方法はどうしたらいいでしょうか?
C直下にjavaディレクトリをいれたいのですが、それを丸ごとごみ箱
に移動し、削除すればいいのでしょうか?

780 :デフォルトの名無しさん:2011/09/15(木) 10:54:06.49
>>778
パソコンの中身見られるのは怖いので・・一応最後に追加された
とこだけ・・だめですか?

C:\Users\Owner>echo %PATH%


----非可視-----

;C:\Program Files\Java\jdk1.7.0\bin

↑↑
こうなりました・・

781 :デフォルトの名無しさん:2011/09/15(木) 10:54:20.11
>>779
アンインストーラの使い方も知らないんだったらプログラミングは諦めて
PCの使い方らか勉強しなおしてこい。

782 :デフォルトの名無しさん:2011/09/15(木) 10:55:09.29
>>780
>>778の知恵遅れのリンクの通りにしろ

783 :デフォルトの名無しさん:2011/09/15(木) 11:00:51.46
>>782
僕の場合javac sample.javaのコンパイルというのでしょうか、それすら
とおりませんので・・環境変数設定間違ってますか?

784 :デフォルトの名無しさん:2011/09/15(木) 11:04:51.69
おまえにJavaは向いてない
あきらめれ

785 :デフォルトの名無しさん:2011/09/15(木) 11:04:53.66
jreはインストールしたがjdkはインストールしてない、とか間抜けな事やってる可能性も

786 :デフォルトの名無しさん:2011/09/15(木) 11:05:21.26
PC音痴のド低脳の相手をするのもだんだん飽きてきたな。

787 :デフォルトの名無しさん:2011/09/15(木) 11:06:43.34
ところで、専門学校では夏休みはいつからいつまでなんですか?

788 :デフォルトの名無しさん:2011/09/15(木) 11:06:45.66
>>783
判断に必要な情報見せないのに判断しろとか……

789 :デフォルトの名無しさん:2011/09/15(木) 11:12:54.39
>>783
知るかボケ。
echo %PATH% の結果晒すか、環境変数設定変更するか。
それが嫌ならOSからクリーンインストールしろ。


790 :デフォルトの名無しさん:2011/09/15(木) 11:13:11.82
>>785
奴にjreを選択的にインストールする知能があると思うか?いや無い。

791 :デフォルトの名無しさん:2011/09/15(木) 11:17:01.11
すいません・・  環境変数Pathの;C:\Program Files\Java\jdk1.7.0\bin
の先頭のわけのわからない;みたいなのをはずして javaディレクトリをprogram fileに入れなおすと
C:\Users\Owner>javac -version
javac 1.7.0
となりました!! 成功ですか?
だけど今度はコマプロ上でC:\javaにもっていくことができません。



792 :デフォルトの名無しさん:2011/09/15(木) 11:22:48.55
相変わらずアホ全開のスレですな

793 :デフォルトの名無しさん:2011/09/15(木) 11:23:29.04
コマプロ(笑)

794 :デフォルトの名無しさん:2011/09/15(木) 11:23:53.53
>>791
そうか…… C:\Program Files にインストールしたJavaディレクトリを
手動で C:\ 直下に移動させたのか……

この……ド低脳がッ!

795 :デフォルトの名無しさん:2011/09/15(木) 11:26:48.30
専門学校では夏休みはいつからいつまでなんですか?

796 :デフォルトの名無しさん:2011/09/15(木) 11:27:04.85
環境変数Pathのprogram filesをどけました・・
で今javaディレクトリはC直下にあります。

でコマプロ上で
c:\Java>javac -version
javac 1.7.0

c:\Java>javac sample.java
javac: ファイルが見つかりません: sample.java
使用方法: javac <options> <source files>
使用可能なオプションのリストについては、-helpを使用します


こうなってしまいます・・・どうしたら・・


797 :デフォルトの名無しさん:2011/09/15(木) 11:31:39.82
>>796
Javaは諦めろ。おまえの知能指数では無理だ。

798 :デフォルトの名無しさん:2011/09/15(木) 11:33:03.61
c:\Java>javac sample.java
sample.java:1: エラー: クラスHelloWorldはpublicであり、ファイルHelloWorld.javaで
宣言する必要があります
public class HelloWorld {
^
エラー1個

c:\Java>java sample
Error: could not open `C:\Program Files\Java\jre7\lib\i386\jvm.cfg'

c:\Java> javac HelloWorld.java

c:\Java>java Helloworld
Error: could not open `C:\Program Files\Java\jre7\lib\i386\jvm.cfg'






799 :デフォルトの名無しさん:2011/09/15(木) 11:33:29.33
>>796
これ以降は有料になるのでマイクロソフトのサポート係に電話してください

800 :デフォルトの名無しさん:2011/09/15(木) 11:35:31.92
>>793

801 :デフォルトの名無しさん:2011/09/15(木) 11:40:14.27
わざとやっている感しかない・・・レスつけてるのも本人か?

802 :デフォルトの名無しさん:2011/09/15(木) 11:49:58.29
お前に足りないものは、それは〜情熱思想理念頭脳気品優雅さ勤勉さ!
そしてェなによりもォーーーーーーー知能が足りない!!」

803 :デフォルトの名無しさん:2011/09/15(木) 11:52:05.70
すみません。今日は諦めることにしました。
お付き合いくださりありがとうございます。

804 :デフォルトの名無しさん:2011/09/15(木) 12:03:05.08
先生!しつもーん

基本的な事になるかと思いますが
java.nio.charset.Charset.defaultCharset().displayName() ;
で調べると出るキャラクタセットを別のものに変える事って出来ますか?

開発環境と実行環境でこの値が違っており、発生している文字化けの原因はこのあたりだと見ています。


よろしくおねがいします

805 :デフォルトの名無しさん:2011/09/15(木) 12:04:21.80
file.encodingでググろう!

806 :デフォルトの名無しさん:2011/09/15(木) 12:34:55.79
ところで、クラスパスとビルドパスの違いを明確に説明できる奴ってここにはいないの?

807 :798:2011/09/15(木) 12:35:58.37
コンパイルは通りました。

c:\Java> javac HelloWorld.java

c:\Java>java Helloworld
Error: could not open `C:\Program Files\Java\jre7\lib\i386\jvm.cfg'

最後の最後で裏切られました・・・・
だいたいC直下にjavaディレクトリいれたのに
`C:\Program Files\Java\jre7\lib\i386\jvm.cfg'
のProgram Filesってなんなんでしょうか・・・


808 :798:2011/09/15(木) 12:38:50.17
あれ?何もいじってないのに、急に実行できた。

809 :デフォルトの名無しさん:2011/09/15(木) 12:39:30.42
>>776

810 :デフォルトの名無しさん:2011/09/15(木) 12:39:53.72
>>805
せんせえありがとうございます!!ここを見ておかげで問題点が絞り込めたと思います
http://www.simeji.com/wiki/index.php?cmd=read&page=Java%A4%CE%CD%AB%DD%B5&word=file.encoding#content_1_5


環境はGAEなんですが jspでコレ↓を実行すると
out.println("Default encoding: "+new java.io.InputStreamReader(System.in).getEncoding()); // ※1
out.println("file.encoding: " +java.lang.System.getProperty("file.encoding")); // ※2

実行環境(グーグルサーバ)での表示状態
Default encoding: ASCII
file.encoding: UTF-8

開発環境(マック)での表示状態
Default encoding: UTF8
file.encoding: UTF-8

となりましたあ
システムプロパティの設定で file.encodingはUTF-8と指定したので合ってるんですが ※2
このデフォルトでのエンコーディングが環境により異なるんですよねえ ※1

この環境設定のデフォルト・エンコーディングをいじくる方法がわからないので
処理が必要なところのその場しのぎ判定でやりくりするしかなさそうな現状・・・・・・(T−T)

811 :798:2011/09/15(木) 12:41:13.57
ちなみに東京大学じゃなくて東京の大学です。
東京工科大学です。ちょっとマジで意味がわからない。
急にできるようになった。

812 :798:2011/09/15(木) 12:47:10.85
一回jreのディレクトリから始めてjvm.cfg探しに
手動で探ったからですかね。ディレクトリ探った
だけで実行できるようになるのかな?もう意味がわからない。
相変わらずjava自体はC直下
環境変数は
ユーザーが
変数名 PATH  変数値 C:\Java\jdk1.7.0\binとなってます。
Path PATHの大文字小文字の違いも関係あるのかな・・

813 :デフォルトの名無しさん:2011/09/15(木) 13:04:53.21
>>810
DEFAULT_ENCODING

814 :804:2011/09/15(木) 13:08:46.19
ありがとうでもそれやってもだめだったお・・・・・(T−T)
方法は下記だお

appengine-web.xml
<system-properties>
<property name="DEFAULT_ENCODING" value="UTF-8" />
</system-properties>

815 :デフォルトの名無しさん:2011/09/15(木) 13:14:32.29
東京工科大学と専門学校(IT・情報系)では質がいい学生が多いのはどちらですか?

816 :デフォルトの名無しさん:2011/09/15(木) 13:17:53.86
多さなら東京工科大学だろ
底辺は大差ないみたいだけどw

817 :デフォルトの名無しさん:2011/09/15(木) 13:19:15.39
マジレスすると

東京工業 東京工科 東京理科のどれかに入ってれば就職は
良さそう。

818 :804:2011/09/15(木) 13:22:56.24
GAEのバグかしらね・・・・・

appengine-web.xml
<system-properties>
<property name="DEFAULT_ENCODING" value="UTF-8" />
</system-properties>

をかえて
http://code.google.com/intl/en/appengine/docs/java/config/appconfig.html#System_Properties_and_Environment_Variables
ココ↑に明示されているとおり

appengine-web.xml
<env-variables>
<env-var name="DEFAULT_ENCODING" value="UTF-8" />
</env-variables>

で環境設定するとローカルの開発環境のマックではこんなのでる↓
com.google.appengine.tools.development.AbstractContainerService$IncorrectEnvironmentVariableException:
One or more environment variables have been configured in appengine-web.xml that have missing or different values in your local environment.
We recommend you use system properties instead, but if you are interacting with legacy code that requires specific environment variables to have specific values, please set these environment variables in your environment before running.
{DEFAULT_ENCODING=UTF-8}
at com.google.appengine.tools.development.AbstractContainerService.checkEnvironmentVariables(AbstractContainerService.java:515)
(以下略)

ちなみにこれで実行環境(グーグルサーバ)にデプロイして
out.println("Default encoding: "+new java.io.InputStreamReader(System.in).getEncoding());
out.println("file.encoding: " +java.lang.System.getProperty("file.encoding"));
の jsp出力がコレ↓
Default encoding: ASCII
file.encoding: UTF-8

高卒脳には解決ムリぽだわ

819 :デフォルトの名無しさん:2011/09/15(木) 13:47:13.50
東京工業 東京工科 東京理科 専門学校(IT・情報系)
このなかで偏差値レベルでなくIT系英語を余裕でこなせるような学生が多いのはどこでしょうか?

820 :デフォルトの名無しさん:2011/09/15(木) 14:13:17.36
>>819
そんなくだらない質問をするあんたよりはマシだから安心して採用しろ。

821 :798:2011/09/15(木) 14:39:22.60
環境変数を読み込むタイミングを知らなかったのが原因でした。

822 :デフォルトの名無しさん:2011/09/15(木) 15:03:15.26
>>819
東大と京大だろうな

823 :デフォルトの名無しさん:2011/09/15(木) 15:44:29.74
ArrayList<ArrayList<String> hoge = ArrayList<ArrayList<String>>();

上のようなarraylistがあって、1つの単語を上書きしたいのですが、

hoge.get(0).get(0) = "上書き";
では出来ません。

remove→add

をする意外にスマートな方法ってないでしょうか?

824 :デフォルトの名無しさん:2011/09/15(木) 15:47:27.90
hoge.get(0).set(0, "上書き")

825 :デフォルトの名無しさん:2011/09/15(木) 15:51:18.38
>>824
即レスありがとうございます!

826 :デフォルトの名無しさん:2011/09/15(木) 16:55:32.21
hoge.set(0, "上書き")

827 :デフォルトの名無しさん:2011/09/15(木) 16:57:26.38
ついでに。

set(int index, E element)
リストの指定された位置にある要素を、指定された要素で置き換えます。

置き換えます
置き換えます
置き換えます
置き換えます
置き換えます


828 :デフォルトの名無しさん:2011/09/15(木) 20:05:16.09
LD_LIBRALY_PATHってなんですか

829 :デフォルトの名無しさん:2011/09/15(木) 20:15:06.88
>>806
NetBeansのプロパティ見りゃ一発。
slf4jはビルドパスに必要だけどlogbackは不要。
実行時のクラスパスには両方指定する必要がある。

>>828
Java関係ない。
そんなのも分からないならWindows使うよろし。

830 :デフォルトの名無しさん:2011/09/15(木) 20:50:38.35
>>827
荒すな

831 :695:2011/09/16(金) 00:08:32.77
いろいろと修正してどうしてもうまくいきませんでした。
public class AAccessor{
public AAccessor(){}
@SuppressWarnings("unchecked")
public <T extends DbResult>T[] get(Class<T> resultObject) throws IllegalAccessException, InstantiationException{
T[] blist = (T[])Array.newInstance(resultObject, 1);
blist[0] = resultObject.newInstance();
return blist;
}
}
public class TClass extends DbResult {
public TClass(){
super();
}
}
こんな風なソースなのですが、
(new AAccessor()).get(TClass.class);
と呼び出すとInstantiationExceptionでうまく動きません。
どのようにすれば動くようになるでしょうか?

832 :デフォルトの名無しさん:2011/09/16(金) 02:39:45.70
java初心者なのですが
javaをダウンロード・インストールして
ネットに載っているサイトを見ながら環境変数を整えたのですが
コマンドプロンプトでjavacと入力すると
エラー:メイン・クラスcom.sun.tools.javac.Mainが見つからなかったか
ロードができませんでした
というのが出てきました
どうすればいいのでしょうか?

833 :デフォルトの名無しさん:2011/09/16(金) 03:48:03.34
eclipse使え

834 :デフォルトの名無しさん:2011/09/16(金) 04:38:51.67
.cfgなんてまだ生き残ってたんだな。

835 :デフォルトの名無しさん:2011/09/16(金) 07:25:37.16
>>831
>>701

836 :デフォルトの名無しさん:2011/09/16(金) 08:47:27.86
専門学校では夏休みはいつからいつまでなんですか?

837 :デフォルトの名無しさん:2011/09/16(金) 13:30:05.48
>>832
やったことをもっと具体的に書け

>>831
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Class.html#newInstance()

838 :デフォルトの名無しさん:2011/09/16(金) 14:52:49.83
String d = "2011/9/16";
のようなStringの日付をCalendar型に変換するにはどうやればいいのでしょうか?

839 :デフォルトの名無しさん:2011/09/16(金) 15:34:54.96
Calendar cal = Calendar.getInstance();
cal.setTime(new SimpleDateFormat("yyyy/MM/dd").parse("2011/9/16"));

840 :デフォルトの名無しさん:2011/09/16(金) 21:29:18.83
クラス内で、関数名なしにいきなり{ }でくくられているコードは、どのように働くのでしょうか?
具体的には下記のようなコードです。


public class GraphicUtil {
private static final BitmapFactory.Options options = new BitmapFactory.Options();
static{
options.inScaled = false;
options.inPreferredConfig = Config.ARGB_8888;
}
}

841 :デフォルトの名無しさん:2011/09/16(金) 21:31:45.78
スタティックイニシャライザ
でググろう!

842 :デフォルトの名無しさん:2011/09/16(金) 21:36:40.67
>>841
ありがとうございます!検索しようにもキーワードすら思いつかず困っていました。

843 :デフォルトの名無しさん:2011/09/16(金) 22:37:44.48
あ?おりゃ、無職じゃ。文句あっか?

844 :デフォルトの名無しさん:2011/09/16(金) 23:25:32.15
求人
でググろう!

845 :デフォルトの名無しさん:2011/09/17(土) 00:50:07.19
Javaを始めてしばらく経ったけれども、
よく分からない記法とかコードとかもう出尽くした感じだ

匿名クラスとか、staticイニシャライザとか、ジェネリクスとかの他に
何か特殊な書き方してるコードとかある?

846 :デフォルトの名無しさん:2011/09/17(土) 00:54:56.11
break ラベル;とかリフレクションとか

847 :デフォルトの名無しさん:2011/09/17(土) 01:04:41.05
配列よりArrayListの方が便利なんですが
性能的にはどうなんですか?

848 :デフォルトの名無しさん:2011/09/17(土) 01:36:49.78
>>845
意味不明

849 :デフォルトの名無しさん:2011/09/17(土) 09:45:24.61
>>847
読んで字のごとく内部で配列使ってるんだから素の配列使うより遅いに決まってるだろ。
javaの配列自体遅いから気にする程でもないが。

850 :デフォルトの名無しさん:2011/09/17(土) 11:54:15.98
要素がオブジェクトなら言うほど遅くないが
IntegerとかDoubleとかでボックス化しまくるととんでもなく遅くなる

851 :デフォルトの名無しさん:2011/09/17(土) 12:06:32.35
名詞じゃないんだからBOX化ってへんじゃないか?

852 :デフォルトの名無しさん:2011/09/17(土) 12:13:31.87
>>851
autoboxingのboxは名詞が動詞化したものだろうけど、
ボックス化の"ボックス"は普通に名詞だろう。

というか一般的な用語だと思うけど。
http://ja.wikipedia.org/wiki/%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E5%8C%96

853 :デフォルトの名無しさん:2011/09/17(土) 12:26:43.18
なんでJavaなんかやってるんですか?
どうせWindowsで開発してるんだしC#の方がいいじゃないですか
Javaが出来るよりC#が出来た方がVS IDEまかせで簡単のならなんでもに作れるじゃないですか!

854 :デフォルトの名無しさん:2011/09/17(土) 12:28:29.92
バージョン管理システムって何がおすすめ?

855 :デフォルトの名無しさん:2011/09/17(土) 12:29:20.44
C#の方が便利だとは思うがLinuxに移植するときのことを考えるとJavaかな

856 :デフォルトの名無しさん:2011/09/17(土) 12:52:13.81
といっても結局Windowsでしか使いませんよね
たまに使わないLinux GUIなんかWeb Html 5ベースでいいんじゃないですか!

857 :デフォルトの名無しさん:2011/09/17(土) 12:52:56.26
ぶっちゃけ、GUI関連のクラス設計とかはC丼よりJavaの方が優れてるよね(´・ω・`)

C丼は手間がかかる。

858 :デフォルトの名無しさん:2011/09/17(土) 12:53:11.87
Java5より前にboxって言葉使われてたっけ?
.NETだとボックス化は公式用語だけど、それ由来?

859 :デフォルトの名無しさん:2011/09/17(土) 12:55:50.49
c#よりJavaの方がGUIが優れているなんて
あり得んだろ。
あんな整理されていない糞ライブラリが

860 :デフォルトの名無しさん:2011/09/17(土) 13:00:10.33
C丼・・・(笑)

861 :デフォルトの名無しさん:2011/09/17(土) 13:04:24.37
C#は規格化されているとはいえWPFとか式木とかMS独特の言語拡張が多いですがGUIはやっぱりwinformsが主流なんですか?

862 :デフォルトの名無しさん:2011/09/17(土) 13:06:47.88
C丼 並
汁だくで〜

863 :デフォルトの名無しさん:2011/09/17(土) 13:12:09.69
イギリス在住で
「Boxing Day」を、人を殴りまくっていい日かなんかと
勘違いする日本人は多いらしい。

864 :デフォルトの名無しさん:2011/09/17(土) 13:12:22.23
GUIでWinForm使うやつは老人。
WPF>>>Java>WinForm

865 :デフォルトの名無しさん:2011/09/17(土) 13:13:58.39
C#は、現場の文化レベルが5〜6年前という感じ
洗練されてなくて泥臭い

866 :デフォルトの名無しさん:2011/09/17(土) 13:15:01.69
WPFはそんなに流行ってないだろw

867 :デフォルトの名無しさん:2011/09/17(土) 13:17:53.82
WPF使う位ならJavaでいいわ
WinFormの手軽さが、GUI系ツール作りがあまりイケてないJavaから見た
数少ないメリットなのに

868 :デフォルトの名無しさん:2011/09/17(土) 13:20:41.01
java7便利なのに
驚く程話題にあがらないな
時代に取り残されてる奴しかつどってないのか

869 :デフォルトの名無しさん:2011/09/17(土) 13:25:17.52
Javaであまりイケてないのはlafがカスタム出来ないことですよね?
日本語でsynthのページがまったくないんですが仕様がxmlだからWPF xamlとほとんど同じじゃないですか!
JavaFXは始まる前からオワコンていう話ですし、JavaSEはsynthがあるからまだまだイケるんじゃないですか?!

870 :デフォルトの名無しさん:2011/09/17(土) 13:27:17.22
クライアントでダメなのはSwingがクソだからに尽きる

871 :デフォルトの名無しさん:2011/09/17(土) 13:38:08.95
日本でJavaが流行らないのはJavaのせいじゃなくて、ほとんどの日本人開発者(コーダー)は英語だと読めないし理解もできないからです

872 :デフォルトの名無しさん:2011/09/17(土) 13:41:33.39
>>871
日本以外では流行っているの?

873 :デフォルトの名無しさん:2011/09/17(土) 13:41:57.09
>>871
何年前の話だw
おまえの周りだけじゃね?

874 :デフォルトの名無しさん:2011/09/17(土) 13:50:32.11
>>868
日本語のページだけしか見てないでしょ?

875 :デフォルトの名無しさん:2011/09/17(土) 14:16:47.42
>>874
どう見てもこのスレの話だろw
日本語すら読めないのか

876 :デフォルトの名無しさん:2011/09/17(土) 14:23:42.16
>>875
情弱乙

877 :デフォルトの名無しさん:2011/09/17(土) 14:25:14.97
日本語の使い方すらわかっていない痛い奴だったか

878 :デフォルトの名無しさん:2011/09/17(土) 14:27:54.04
実際ここ最近の質問も回答も話題も
何年前の知識だよ?って内容ばっかりだよねー
ま、質問スレだからしょーがないけど

879 :デフォルトの名無しさん:2011/09/17(土) 14:38:40.26
>>868
情弱乙

880 :デフォルトの名無しさん:2011/09/17(土) 14:43:57.58
つまりJava7というのは使いにくいってことでしょうか?

881 :デフォルトの名無しさん:2011/09/17(土) 15:01:34.58
Java5の総称型すらも正確に理解できない開発者(コーダー)がJava7にまで手が回るわけない

882 :デフォルトの名無しさん:2011/09/17(土) 15:02:11.51
あれだけ人いたのに急に閑古鳥。。
Java7誰も知らないんですかね

883 :デフォルトの名無しさん:2011/09/17(土) 15:05:08.14
ジェネリクスを正確に理解って何のことだろ
イレージャーがうんたらとかそんなん?
コバリアンスがうんたらとか言えばいいの?
奥行きそんなにないだろ

884 :デフォルトの名無しさん:2011/09/17(土) 15:09:04.47
>>880
いろいろ捗る

885 :デフォルトの名無しさん:2011/09/17(土) 15:15:46.76
>>44

886 :デフォルトの名無しさん:2011/09/17(土) 15:17:08.65
総称型いらないわぁ

887 :デフォルトの名無しさん:2011/09/17(土) 15:20:17.15
>>883
アパッチのコレクションズ(3.2.1)が未だに総称型をサポートしてないのはどうしてですか?

888 :デフォルトの名無しさん:2011/09/17(土) 15:20:51.42
今更invokedynamicとかくだらんもののためにJVM弄るんなら
総称型もイレイジャのクソ実装じゃなくてJVMに組み込めただろうと

889 :デフォルトの名無しさん:2011/09/17(土) 15:25:30.43
Javaは型推論がまだまだ弱いな
7で少しだけマシになったがアレだけじゃなあ

890 :デフォルトの名無しさん:2011/09/17(土) 15:56:58.56
>>868
質問・相談スレッドだからね。
Java7以前の質問が大半なのは当然。

891 :デフォルトの名無しさん:2011/09/17(土) 15:57:52.56
>>887
Java1.4でも使えるようにするため。

892 :デフォルトの名無しさん:2011/09/17(土) 15:58:54.40
>>868
何か質問があるのであれば具体的にどうぞ。

893 :デフォルトの名無しさん:2011/09/17(土) 16:06:50.30
7も知らない人に質問することはありません^^

894 :デフォルトの名無しさん:2011/09/17(土) 16:11:34.61
ParallelArrayってマルチコアじゃなくても効果でますか?

895 :デフォルトの名無しさん:2011/09/17(土) 16:15:41.61
>>868
情弱乙

896 :デフォルトの名無しさん:2011/09/17(土) 16:22:19.57
>>894
処理途中でブロッキングIOが入るとかなら効果でるよ。

897 :デフォルトの名無しさん:2011/09/17(土) 17:18:50.62
>>871

898 :デフォルトの名無しさん:2011/09/17(土) 17:59:46.63
>>852
javaだとそのままカタカナ英語にしてオートボクシング/アンボクシングだし基本値とオブジェクト型のラップを勝手にやるjavascriptじゃ名前すら無い。
C#でしか聞いたこと無いしググってもDVD-BOXかwikipediaかC#しかでてこなかった。文法はあってんだけど感覚的に変な訳だな。

899 :デフォルトの名無しさん:2011/09/17(土) 18:15:25.87
まあボックス化っていうとboxalizeの訳語か?みたいにみ聞こえるのは確か。

900 :デフォルトの名無しさん:2011/09/17(土) 18:32:48.76
javaとhtml web開発がほとんどなら別にwindowsのライセンスを買ってまでwindows上で開発しなくてもなくてもいいかなって思う。
windowsで普段使うアプリというとoffce,ide,browerぐらいだからubuntuで十分だし。

901 :デフォルトの名無しさん:2011/09/17(土) 18:57:00.19
>>898
javascriptは別に勝手にラップしてるわけじゃないんだな暗黙的にメソッドが呼ばれてるだけで
すべてがオブジェクト型だからラップがいらない・・たとえば数値はNumberを継承したオブジェクトで文字列に数値型を加算しようとしたらtoStringが呼ばれてたり・・
#スレチ

902 :デフォルトの名無しさん:2011/09/17(土) 23:05:17.39
すみません。内部クラス(アダプタクラス)内でメインウィンドウの参照を得るにはどう記述したらいいのですか?
↓こんなような場面です。

jButton1.addActionListener(new ActionListenter() {
  public void actionPerformed(ActionEvent e) {
    jFileChooser.showOpenDialog(親ハンドル);
    // ↑ここでthisと書きたい(メインウィンドウの参照)
  }
}

903 :デフォルトの名無しさん:2011/09/17(土) 23:05:51.12
上げわすれました・・

904 :デフォルトの名無しさん:2011/09/17(土) 23:20:43.12
>>902
取り囲むクラスの名前.this

905 :デフォルトの名無しさん:2011/09/17(土) 23:39:15.86
引数に指定したオブジェクトを書き換えるメソッドを作る場合、
戻り値を返してメソッドの外側で書き換えるのと
voidにしてオブジェクトをメソッド内で書き換えるのは
一般にどっちの方がいいんですか?

906 :デフォルトの名無しさん:2011/09/17(土) 23:41:08.36
>引数に指定したオブジェクトを書き換えるメソッドを作る場合、
て自分で言っといて何を言ってるんだ


907 :デフォルトの名無しさん:2011/09/17(土) 23:46:06.57
あおいからすうぜえ

908 :894:2011/09/18(日) 00:34:10.68
>>902
それ、内部クラスとは言わない
おかしなオレオレ用語を氾濫させるなカスが

909 :894:2011/09/18(日) 00:35:55.64
>>905
メソッドの命名や責務しだいだな

910 :デフォルトの名無しさん:2011/09/18(日) 00:48:06.66
以下のコードでstrが書き換わらないのはなぜですか?

public static void main(String[] args) {
 String str = "a";
 System.out.println("str:" + str);
 changeStr(str);
 System.out.println("str:" + str);
}

static void changeStr(String aStr){
 aStr = "b";
}

実行結果
str1:a
str1:a


911 :894:2011/09/18(日) 00:53:19.08
>>910
Stringがプリミティブじゃなく参照型だからだ

912 :デフォルトの名無しさん:2011/09/18(日) 00:56:26.29
プリミティブなら書き換わらないのは理解できるけど、
参照型なら変わるように思えるが

913 :デフォルトの名無しさん:2011/09/18(日) 00:56:55.43
書き換えたいならStringBuilderを使うといいよ

914 :デフォルトの名無しさん:2011/09/18(日) 00:57:30.28
>>913
それはわかってるけど、なんでStringじゃ書き換わらないのかを聞いてるんだけど

915 :デフォルトの名無しさん:2011/09/18(日) 00:57:36.94
まだまだ暑いですなぁ…


釣れますか?

916 :デフォルトの名無しさん:2011/09/18(日) 00:58:23.38
>>911

( ゚Д゚)ハァ?

917 :デフォルトの名無しさん:2011/09/18(日) 00:58:35.88
うそを書く奴 → >>911
質問と違う答えを書く奴 → >>913

アホしかおらんのか

918 :デフォルトの名無しさん:2011/09/18(日) 01:00:16.17
>>908 に突っ込む奴はいないのかよ!

919 :デフォルトの名無しさん:2011/09/18(日) 01:02:19.76
>>910
値のコピー渡しだから

以上

920 :デフォルトの名無しさん:2011/09/18(日) 01:03:09.73
Stringは文字列のアドレスを渡してて
StringBuilderはStringBuilderのアドレスを渡してるからだよ

921 :デフォルトの名無しさん:2011/09/18(日) 01:03:23.84
>>917
>>911は正しいだろw
おまえの考えてる正解を晒してみ

922 :デフォルトの名無しさん:2011/09/18(日) 01:04:14.72
嘘が反乱してるな
Stringはオブジェクトだから参照渡しだよ

923 :デフォルトの名無しさん:2011/09/18(日) 01:04:47.97
>>919
Javaは参照をコピー渡しだろ

釣りとアホと勘違いのコンボが酷くなってきたな

924 :デフォルトの名無しさん:2011/09/18(日) 01:07:38.72
>>923
変数の値をコピー渡しじゃん

変数の中身がプリミティブがリファレンスかは知らん

925 :デフォルトの名無しさん:2011/09/18(日) 01:08:13.13
// aStr = "b"の直前
str -> "a" <- aStr

// aStr = "b"の直後
str -> "a" aStr -> "b"


926 :デフォルトの名無しさん:2011/09/18(日) 01:08:47.96
>>924
その表現ならOK
だが>>919の表現はないな

927 :デフォルトの名無しさん:2011/09/18(日) 01:16:13.96
>>925

結果は合ってるが
なぜstrとaStrの参照が変わるかの解説がないので△

928 :デフォルトの名無しさん:2011/09/18(日) 01:18:35.43
10年前の話題だと急に活気づくな

929 :デフォルトの名無しさん:2011/09/18(日) 01:37:51.59
aStr = "b";

↑はaStrが参照しているオブジェクトの値を書き換えたのではなく参照先が変わった処理
aStr = new String("b");と同じ

strは依然として"a"のアドレスを参照していて
aStrは"b"のアドレスを参照しているため
strは"a"のまま

930 :902:2011/09/18(日) 01:38:45.31
>>904
どうもありがとうございます。お礼が遅くなりすみません。
コンビニに行ったついでに、ちょろちょろしてきました・・

今夜はいい気候です。

931 :デフォルトの名無しさん:2011/09/18(日) 01:39:04.58
>>929
厳密には同じではないけどな

932 :デフォルトの名無しさん:2011/09/18(日) 01:45:09.52
javaの仕様を決めた人が文字列処理の表記を簡単にした結果
わかりにくくなってしまったんだよな

aStr="b";

を見ると値が書き換わっていると誤解しやすいな

933 :デフォルトの名無しさん:2011/09/18(日) 01:55:01.56
>>931

厳密にはこう

aStr = new StringBuffer().append("b").toString();

934 :デフォルトの名無しさん:2011/09/18(日) 02:00:42.61
すっきりわかったわ

935 :デフォルトの名無しさん:2011/09/18(日) 02:01:19.86
>>933
いや、そういう話じゃなくて。
newしなければ同じ文字列なら同じ参照使うよねって話

936 :デフォルトの名無しさん:2011/09/18(日) 02:07:42.87
同じ文字列じゃないじゃん

937 :デフォルトの名無しさん:2011/09/18(日) 02:10:03.77
厳密には違うことにはかわりない
本当は違うのに等価だと誤って覚えるのは
いくないよ

938 :デフォルトの名無しさん:2011/09/18(日) 02:12:23.98
DIコンテナというのに興味があります
今から覚えるならseasarとspringどっちがいいですか?
理由付きでご意見下さい

939 :デフォルトの名無しさん:2011/09/18(日) 02:13:26.73
批判厨ばっか

940 :デフォルトの名無しさん:2011/09/18(日) 02:16:39.89
>>938
シーサーはドキュメントが糞。
沖縄県人以外は使ってはいけない

941 :938:2011/09/18(日) 02:18:26.11
>>940
ドキュメントの沖縄方言が酷いということでしょうか?

942 :デフォルトの名無しさん:2011/09/18(日) 02:27:44.19
特にプロジェクトで指定されてるとかでなければあえて覚えるメリットないだろ>Seasar

あとな、数年前のXMLをゴリゴリ書く必要があった時代ならともかく、
いまのDIは「なんか知らんけど動くぞ」というレベルまで使いやすくなってる。
要は使えないのがおかしいレベル。つうことでSeasarもSpringもどっちも覚えとけ。

943 :938:2011/09/18(日) 02:38:23.71
りょ、両方ですかー><
統一の規格?のようなものに則っているとかでないなら、
出来ればまず片方をきちんと極めてからにしたいのですが、、

944 :デフォルトの名無しさん:2011/09/18(日) 03:04:10.06
public class Astr {
 String str;

 Astr(String s) {
  str = s;
 }

 String get() {
  return str;
 }

 void changeStr(String s){
  str = s;
 }

 public static void main(String[] args) {
  Astr str1 = new Astr("a");
  System.out.println("str1:" + str1.get() );
  str1.changeStr("b");
  System.out.println("str1:" + str1.get() );
 }
}

945 :デフォルトの名無しさん:2011/09/18(日) 03:18:28.38
何がしたいんだ?

946 :デフォルトの名無しさん:2011/09/18(日) 03:19:34.20
>>943
英語読めるならspringにしとけ

947 :938:2011/09/18(日) 03:23:33.46
>>946
英語は読めます。
Springの方が良いのは
どの辺りなのでしょうか?

948 :デフォルトの名無しさん:2011/09/18(日) 09:12:25.85
ツマラン

949 :デフォルトの名無しさん:2011/09/18(日) 09:26:30.71
最先端さんカッコイイなあ

950 :デフォルトの名無しさん:2011/09/18(日) 10:13:17.25
C#にはrefやoutがあるのに

951 :デフォルトの名無しさん:2011/09/18(日) 10:40:40.01
専門学校では夏休みはいつからいつまでなんですか?

952 :デフォルトの名無しさん:2011/09/18(日) 11:21:43.42
これだからJabaは、っていわれるいつだっていいだろ

953 :デフォルトの名無しさん:2011/09/18(日) 12:11:28.12
>>950
C++にもあるよ。Javaは敢えて取り除いた。

954 :デフォルトの名無しさん:2011/09/18(日) 14:10:35.03
>>819

955 :デフォルトの名無しさん:2011/09/18(日) 14:44:33.76
C#の拡張メソッドみたいなことを、Javaでやりたいのですが、
バイトコード弄るライブラリなどを使えば実現できるでしょうか?

956 :デフォルトの名無しさん:2011/09/18(日) 14:50:18.51
>>947
SeaserやSpringも悪くはないけどJavaEEのDI/CDIを勉強するのオススメ。
日本はまだまだStruts1+Spring(SAStruts + Seaser2)が多い感じだけど海外はJavaEE5とJavaEE6で賑わってる。


957 :デフォルトの名無しさん:2011/09/18(日) 15:24:05.71
>>955
バイトコード弄っても無駄。
コンパイラかプリプロセッサ作ればできる。

Java8まで待てばdefender methodが付く予定。

958 :955:2011/09/18(日) 15:43:31.12
>>957
そうですか、、あれ便利なんですよねー。
Date型とか使いにくいので、自分好みに染めたいなあ、と。
Java8を首長くして待ちます

959 :デフォルトの名無しさん:2011/09/18(日) 15:47:07.75
defender methodは元のインターフェイスに宣言を追加する必要があるから
代わりにはならない
それに元々Java7の提案でそれ以降音沙汰無し

960 :デフォルトの名無しさん:2011/09/18(日) 15:53:51.71
new Query(items)
.where(new Predicate<Hoge>() { public boolean predicate(Hoge item) { return item.isEnabled(); } })
.select(new Mapping<Hoge, String>() { public String map(Hoge item) { return item.getName(); } })
.toList();
拡張メソッドが無くてもこんな風に…と思ったがラムダがないと使い物にならんな

961 :デフォルトの名無しさん:2011/09/18(日) 16:03:57.72
>>959
lamda-devで時折defender methodプロトタイプかなんかのhgのchangesetが流れてたような。

962 :デフォルトの名無しさん:2011/09/18(日) 16:12:06.90
関数型っぽいことやりだすとチェック例外が邪魔になるんだよな
expression transparencyとか泥沼

963 :デフォルトの名無しさん:2011/09/18(日) 20:27:29.49
>>861

964 :デフォルトの名無しさん:2011/09/19(月) 00:07:21.24
変数名に変数をつけたいのだが
どうすればいいのだ?
例えば
buttonに末尾にどんどん数字をincしたい
for (i = 0; i >= 10;i++) {
button + i = hogehoge;
}
的なことはできないの?

965 :デフォルトの名無しさん:2011/09/19(月) 00:14:38.89
> 数字をincしたい

966 :デフォルトの名無しさん:2011/09/19(月) 00:15:32.15
配列でいーんじゃねーの?

967 :デフォルトの名無しさん:2011/09/19(月) 00:22:33.81
スレチかもしれんが教えてくれ

SJC-Pの試験を受けようと思ってるんだが、
チケットの購入からいまいちやり方がわからん
すまんが教えてくれ

968 :デフォルトの名無しさん:2011/09/19(月) 00:29:02.79
ハンターハンター読め
チケット買うところから試験が始まってる

969 :デフォルトの名無しさん:2011/09/19(月) 00:35:01.23
今OJC-Pになってるんだよな

970 :デフォルトの名無しさん:2011/09/19(月) 00:37:13.85
>>969盲点だった。SJC-Pでググるからダメなんだな

971 :デフォルトの名無しさん:2011/09/19(月) 00:37:24.85
オラクルが試験やると
ボッてるイメージが先行するのは何でなんだぜ

972 :デフォルトの名無しさん:2011/09/19(月) 00:57:47.65
>>967
【OCJ-P】Oracle認定Java資格 実用情報 8【SJC-P】
http://hibari.2ch.net/test/read.cgi/prog/1307519355/

973 :デフォルトの名無しさん:2011/09/19(月) 02:47:11.04
「StrutsによるWebアプリケーションスーパーサンプル」

現在の最新は第3版だけど第2版と第1版が中古で安く売っている。
中身があまり変わらないなら安い中古でいいかなと思ってるのだがどうだろう?

974 :デフォルトの名無しさん:2011/09/19(月) 03:00:26.11
>>973
中古でおk

975 :デフォルトの名無しさん:2011/09/19(月) 15:09:38.17
(MainWin.java)
import java.awt.*;
import java.awt.event.*;

class MainWin extends Frame implements ActionListener {
 public MainWin(String title) {
  setTitle(title);
  addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
    System.exit(0);
   }
  });
  MenuBar menuBar = new MenuBar();
  setMenuBar(menuBar);
  // [File]
  Menu menuFile = new Menu("File");
  menuFile.addActionListener(this);
  menuBar.add(menuFile);
 }
}
(Test.java)
import java.awt.*;
import java.awt.event.*;

public class Test {
 public static void main(String args[]) {
  MainWin main_win = new MainWin("MAIN");
(省略)
}
Java入門サイトに載っているメニューを表示するプログラムを入力しました。
しかし「MainWinはabstructでなく、java.awt.event.ActionListener内のabstructメソッドactionPerformed(java.awt.event.ActionEvent)をオーバーライドしません。」とコンパイルエラーが出ます。
何が悪いのでしょうか?

976 :デフォルトの名無しさん:2011/09/19(月) 15:35:12.29
>>975
原因はコンパイラが出してくれているエラーメッセージそのままだ。
MainWinでactionPerformedメソッドを定義する必要がある。

もう一度祖のサイトやらを見直せ。
記載コードと自分のコードに差異があるはずだ。

取り敢えずコンパイル通したいなら
> class MainWin extends Frame implements ActionListener {
から implements ActionListener を削除しろ。


977 :デフォルトの名無しさん:2011/09/19(月) 21:54:28.74
引数のgraphics gのイメージがわきません
どこから受け取るのでしょうか?
gじゃないとダメなのでしょうか?

978 :デフォルトの名無しさん:2011/09/19(月) 21:58:16.05
>>977
別にgじゃ無くても良いよ


979 :デフォルトの名無しさん:2011/09/19(月) 22:05:06.68
俺には引数なくても描写できるイメージがある

980 :デフォルトの名無しさん:2011/09/19(月) 22:12:56.28
そんなことどうでもいいからじすれ

981 :デフォルトの名無しさん:2011/09/19(月) 22:48:15.56
教えろや

982 :デフォルトの名無しさん:2011/09/19(月) 22:50:40.82
次スレ建てたら教えてやらないこともない
かもな

983 :デフォルトの名無しさん:2011/09/19(月) 22:53:18.02
じゃあ終了で

984 :デフォルトの名無しさん:2011/09/19(月) 23:08:56.17
ジャアバいばい

985 :デフォルトの名無しさん:2011/09/19(月) 23:20:57.09


986 :デフォルトの名無しさん:2011/09/19(月) 23:23:18.07
埋葬


987 :デフォルトの名無しさん:2011/09/20(火) 01:07:03.39
> このメソッドは型booleanの結果を戻す必要があります

for()に入らない場合のreturnが無いよね

988 :デフォルトの名無しさん:2011/09/20(火) 07:34:09.70
うめ

989 :デフォルトの名無しさん:2011/09/20(火) 09:04:35.90
立てる。

990 :デフォルトの名無しさん:2011/09/20(火) 09:07:49.08
たてた。
★★Java質問・相談スレッド148★★
http://hibari.2ch.net/test/read.cgi/tech/1316477239/

991 :デフォルトの名無しさん:2011/09/20(火) 18:42:59.56
>>990


992 :デフォルトの名無しさん:2011/09/20(火) 18:56:35.35
>>990
乙乙


993 :デフォルトの名無しさん:2011/09/20(火) 20:35:27.18
    ノノノノ
   ( ゚∋゚)
  /⌒\/⌒ヽ_______
 | ̄⌒\ 彡ノ_   |
 |_________\_|__ 丿____|
/_____________\彡ノ_________\
 ‖      \ヽ    ‖
         ヽミ

994 :デフォルトの名無しさん:2011/09/20(火) 20:39:08.70
>>990
おつ

995 :995:2011/09/21(水) 15:04:23.79
javaを勉強したいのですが、オフラインの環境でも勉強・プログラミングは可能でしょうか。

996 :デフォルトの名無しさん:2011/09/21(水) 15:31:52.13
>>995
できるよ

997 :デフォルトの名無しさん:2011/09/21(水) 15:34:54.19
想像でマスターしたよ

998 :デフォルトの名無しさん:2011/09/21(水) 15:35:17.92
もちろんできるけど、初めの環境揃えるのにインターネット接続環境があった方が便利だし、
何かわからないことあったらすぐググれるのは大きいね。
オフラインだと上記の問題をどう解消するか、ということを考えとかないといけないと思う。

999 :デフォルトの名無しさん:2011/09/21(水) 17:16:21.92
>>998
今は完全にオフラインで完結しようとなると日経ソフトウェアの言語特集でCDーROM付くのを待つしか無いかな
(東京付近在住なら、書泉ブックタワーとかでバックナンバー買えたはずだけど)


1000 :デフォルトの名無しさん:2011/09/21(水) 17:38:31.39
1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

235 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)