トップページ⇒tech
1001コメント296KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん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/
0232デフォルトの名無しさん2011/08/27(土) 11:02:07.10
http://chosuke.rumix.jp/main.aspx?g=6430245a3f64679be
これの7−1 出来ません。 教えてください。
0233デフォルトの名無しさん2011/08/27(土) 11:19:20.43
>>228
junkutilですか。かっこいいですね。使ってもいいですか?

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

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

>>231
車輪の再発明(RtW)ですか。
なるべく丸く作るよう努力します。
0234デフォルトの名無しさん2011/08/27(土) 11:28:12.74
final class おれ様Utils extends ちんこ勃起
0235デフォルトの名無しさん2011/08/27(土) 12:31:22.29
>>216
0236デフォルトの名無しさん2011/08/27(土) 16:04:50.68
234
implements Impotenz
0237デフォルトの名無しさん2011/08/27(土) 17:47:53.99
apache→アパッチ族→ゲロニモ→シャーマン→巫女→巫女みこナース→巫女みこ→micomico→micomi-commons

んじゃ「Micomi Commons」で。
0238デフォルトの名無しさん2011/08/27(土) 18:30:01.85
>>227
>FileUtil、StringUtil、OptGets、ExcelUtil、NullUtil
まずこんなクラスを排除することから始めるんだな。クラス設計が腐ってる
0239デフォルトの名無しさん2011/08/27(土) 19:31:38.53
>>238
どういう設計がいいですか?
0240デフォルトの名無しさん2011/08/27(土) 19:45:43.79
いや柔軟性とか拡張性とか言い出したら使いづらくなってわざわざユーティリティ作る意味が
なくなるからオブジェクト指向設計的にどうとか考えなくていいと思うよ。
0241デフォルトの名無しさん2011/08/27(土) 19:57:59.63
それって公開するの?使いやすいライセンスにしてほしいな。個人的にはGPLでもいいのだけれど
名前がどうのこうのよりドキュメントをちゃんと書いて欲しい。これがないユーティリティなんて悲惨だわ
0242デフォルトの名無しさん2011/08/27(土) 20:02:06.03
俺っちコモンズで
0243デフォルトの名無しさん2011/08/27(土) 20:10:21.27
Jakartaでええがな
0244デフォルトの名無しさん2011/08/27(土) 20:17:08.09
>>239
まずユーティリティークラスの存在自体がかなりおかしい。
そのクラスは何を表す概念なの?
J2SEのAPIに???Utilなんて無いでしょ。
0245デフォルトの名無しさん2011/08/27(土) 20:25:47.43
いるよねー利便性じゃなくて
OOP的にどうなの?的ないちゃもん付けるやつ
殆ど100%ろくにプログラムすら書けないの
0246デフォルトの名無しさん2011/08/27(土) 20:26:30.50
パッケージにはjava.utilがあるから、パッケージjunk.utilとか作ってそこに収めればどうだろう?
ところで、自作のパッケージってどこに入れたらいいのかな?java以下に勝手に入れるとまずいよね。
0247デフォルトの名無しさん2011/08/27(土) 20:29:19.00
>自作のパッケージってどこに入れたらいいのかな?java以下に勝手に入れるとまずいよね。
使うのをためらってしまいそうな発言だな…w
0248デフォルトの名無しさん2011/08/27(土) 20:33:31.53
いやいや、246!=227だよ。ちょっと便乗しただけさ。
今はorig.〜みたいに勝手に作ってやってるけど、これってどうなん?自由なんって思っただけ。なんかスマンw
0249デフォルトの名無しさん2011/08/27(土) 20:36:23.89
OpenJDKがGPLだからGPLで結局問題ない
0250デフォルトの名無しさん2011/08/27(土) 20:39:03.94
>>248
自由。
トラブル起こらないように自分が持ってるドメイン名の逆を使った方が良いよ、という程度。
昔はパッケージ名の登録所みたいなサイトが有ったけど最近は使ってないな。
0251デフォルトの名無しさん2011/08/27(土) 20:49:22.13
てかユーティリティ公開するのに自サイトの一つくらいもってないのかw
0252デフォルトの名無しさん2011/08/27(土) 21:17:10.77
>>244
標準APIに無いからしかたなく???Utilってつくるんじゃん。
そらJ2SEのAPIには無いわ。
02532442011/08/27(土) 21:44:00.63
>>245
>OOP的にどうなの?的ないちゃもん付けるやつ
ほう。OOP的に間違っていることは理解できるんだ。
特定のクラス内で閉じたり特定のクラスと関連が強いのにわざわざUtilに出す
アホが多くて困るわ。

>>252
お前の作るUtilが標準APIに無いのは当たり前だろ。
すべてのUtilクラスの存在がおかしいと言っているんだ。アホですか?
0254デフォルトの名無しさん2011/08/27(土) 22:05:55.08
ふんがー!ふんがー!
0255デフォルトの名無しさん2011/08/27(土) 22:39:21.34
>>238
それでどういう設計がいいんですか?
0256デフォルトの名無しさん2011/08/27(土) 22:39:51.10
>>253
ほい。
http://commons.apache.org/lang/api-release/index.html
0257デフォルトの名無しさん2011/08/27(土) 23:16:07.42
語尾にs付いてないから間違いとか言い出しそうだw
0258デフォルトの名無しさん2011/08/27(土) 23:36:58.85
>>244
SwingUtilitiesがあるだろ
0259デフォルトの名無しさん2011/08/27(土) 23:43:56.72
>>244
適当言ってんじゃねえよ。
javax.rmi.CORBA.Util
javax.swing.text.Utilities
0260デフォルトの名無しさん2011/08/28(日) 00:01:50.59
>>206
0261デフォルトの名無しさん2011/08/28(日) 00:51:39.72
標準ライブラリをラップしただけのユーティリティが世の中にこれほど量産されて
それが有難がられるってことはそもそも標準ライブラリの設計にも問題があるんだろうな
実際使いづらいし
0262デフォルトの名無しさん2011/08/28(日) 00:57:36.72
そうかな。
バージョンの重ねるごとに改善されて行ってると思う。
7のFileSystemとPathはまだ違和感があるけどw
0263デフォルトの名無しさん2011/08/28(日) 00:57:41.32
>>238
そうするとどういう設計がいいんでしょうか?
0264デフォルトの名無しさん2011/08/28(日) 01:03:20.33
なんとかUtilってクラスメソッドの置き場所に困ってるからとりあえず名前で括っとくか的なノリだよね。
0265デフォルトの名無しさん2011/08/28(日) 01:17:55.77
凝集度っていうのがクラスのまとめ方の目安になるよ
Utilによくまとめられるものは、機能的に似たものを寄せ集めるって感じで、
論理的凝集にあたり、凝集度が低いとされる
凝集度の低いモジュールは保守/評価/再利用/読解が難しいため好ましくないとされる

ttp://ja.wikipedia.org/wiki/%E5%87%9D%E9%9B%86%E5%BA%A6
0266デフォルトの名無しさん2011/08/28(日) 01:33:18.72
凝縮度が高いUtilクラスもあるわけで、
Utilクラスだから凝縮度が低いわけじゃない。

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

SwingUtilitiesは偶発的凝集かな?

論理的凝縮のUtilクラスの例は思いつかないなぁ。
0267デフォルトの名無しさん2011/08/28(日) 03:43:14.59
状態を持たないなら寄せ集めでも大して問題はない
0268デフォルトの名無しさん2011/08/28(日) 05:38:13.52
>>266
SwingUtilitiesは手続き的凝集を機能毎にSwingUtilities、SwingUtilities2、SwingUtilities3に分けてある。
汎用性の高いものだけ公開APIにしてあるから偶発的に見えるだけ。
SwingUtilitiesこそSwing実装の共通部分を疎結合にするためにある。
0269デフォルトの名無しさん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
を取得したいのですが?

0270デフォルトの名無しさん2011/08/28(日) 10:37:00.14
パーサーにそんな機能はないので自分でやる。
というか自分でやる以外にない。
0271デフォルトの名無しさん2011/08/28(日) 10:41:32.79
ですよねー。
0272デフォルトの名無しさん2011/08/28(日) 11:05:23.29
HTMLの特殊文字エスケープを逆変換するメソッドってありますか?
< → < とか & → & の変換をするコードはけっこう見つけたけど、
String中の & や < を元に戻すコードは見つからなかったのですが
02732722011/08/28(日) 11:07:24.03
失礼。2行目
× < → < とか & → &
○ < → &lt; とか & → &amp;
02742722011/08/28(日) 11:31:57.16
ごめんなさい。自己解決しました。 Apache commons langってのがあるんですね
0275デフォルトの名無しさん2011/08/28(日) 12:28:47.04
数行書けばいいだけのことにcommonsはでかすぎないか?
02762722011/08/28(日) 12:51:41.61
>>275
確かに。。。
面倒臭がらないで自分で書くべきですかね
0277デフォルトの名無しさん2011/08/28(日) 13:50:36.41
ちょいと参考書について質問があるんだけど、
ハンドラーとかDTOとか、用語からの概念を説明しているサイトなんかは沢山あるけど
それが実際にどういったソースコードで表現されているかを
サンプルソースをふんだんに使って解説している参考書は無いかな?
0278デフォルトの名無しさん2011/08/28(日) 15:49:30.51
クラス設計やユーテレテー設計を日本語で勉強するならジャバよりもシーシャープの方が全然勉強になるって聞いたんですけどどうしてですか?
0279デフォルトの名無しさん2011/08/28(日) 16:52:14.53
>>278
その人がM$信者だというだけです。
0280デフォルトの名無しさん2011/08/28(日) 19:21:03.15
>>278
そら、Javaのクラス設計は汚いからな。
C#も2.0までは糞だったが、3.0からかなり良くなった。
0281デフォルトの名無しさん2011/08/28(日) 19:44:50.61
それならどういうクラス設計にするとジャバ全体の設計は良くなるんでしょうか?
0282デフォルトの名無しさん2011/08/28(日) 19:46:50.63

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

こんな感じのを出したいんですけどなんかそれっぽいライブラリありませんか?
0283デフォルトの名無しさん2011/08/28(日) 20:34:55.26
それぐらいだったら、ライブラリなんか探さなくても
 System.out.println("11月 旅行 結婚式 12月 1月");
 System.out.println("|   ▼   ▼    | |");
 System.out.println("−−−−−−−−−−−−−−−−−−−−−−");
でいいじゃない。
0284デフォルトの名無しさん2011/08/28(日) 20:38:23.65
>>281
こうあるべき、だけじゃなくて使う人のことを考える
0285デフォルトの名無しさん2011/08/28(日) 20:54:34.66
>>282
マジレス
HTML
0286デフォルトの名無しさん2011/08/28(日) 21:12:06.44
>>280
2.0も3.0もだいたい同じだな
さては大して使ったこともないのに適当にいってるんだろ?
0287デフォルトの名無しさん2011/08/28(日) 21:25:57.98
どんなにスンバラシイ設計をしたとしても誰かからは
イチャモンつけられるんだから、
自分が使いやすいように好きに設計すればいいいんだよ^^
0288デフォルトの名無しさん2011/08/28(日) 22:12:06.64
設計云々よりも英語も出来ないのにジャバを勉強しちゃおうなんてのは時間の無駄
0289デフォルトの名無しさん2011/08/28(日) 22:30:05.78
>>286
お前、3.0のWPFでGUIが完全に全部作り直しになったのに同じって、
本気で言ってるのか?
0290デフォルトの名無しさん2011/08/28(日) 22:41:49.46
WPFなんてSWT並に普及してないだろ。
0291デフォルトの名無しさん2011/08/28(日) 22:45:00.27
日本では実はC#よりもVBでドットネットにアクセスしている人の方が多い。
0292デフォルトの名無しさん2011/08/29(月) 00:13:35.83
ライブラリ全体がガラッと変わったかのような口ぶりだったのにGUI周りだけの話かい
0293デフォルトの名無しさん2011/08/29(月) 01:16:20.05
Java 7のFIleSystemとPathは使いやすいのか使いにくいのか良くわからんな。
0294デフォルトの名無しさん2011/08/29(月) 01:45:11.71
カタカナ書き流行ってんの?
今のところ揶揄したがりさんしかカタカナ書きはしてないようだけどさ
0295デフォルトの名無しさん2011/08/29(月) 03:53:27.78
同じ奴に決まってるだろ
0296デフォルトの名無しさん2011/08/29(月) 04:43:52.02
>>216
0297デフォルトの名無しさん2011/08/29(月) 07:20:20.66
>>278
そんな話初めて聞いた。どこでそれを?
0298デフォルトの名無しさん2011/08/29(月) 07:23:21.56
>>293
相互変換もそんなに苦じゃないわけだし、自分のコードの中で使う分には使いやすさは同等。
だけど標準APIやらCommonsやらのインタフェースがFileばっかりなので…
0299デフォルトの名無しさん2011/08/29(月) 12:33:22.25
GAEの掲示板つくろうと思ってるんやけど
テンプレートエンジンはどれがいいかな

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

掲示板のテンプレートサンプルあったら
そのまま使ったろー思ってちょっと調べたけどみつかんなかったわ
03002272011/08/29(月) 22:43:29.12
JunkUtil、少し整理ができたので、圧縮したプロジェクトとJavaDocを公開します。

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

なんでこの機能が無いんだ。なんでこの機能があるんだ。
この部分未完成だろ糞が。などの手厳しい御意見を頂ければ幸いです。
0301デフォルトの名無しさん2011/08/29(月) 23:11:14.05
無駄にシングルトンにしないで全部staticでいいよ
インターフェイス被せたりしないなら何の意味もない
03022272011/08/29(月) 23:14:13.25
>>381
そうですか。全体的に見直してみます!
0303デフォルトの名無しさん2011/08/30(火) 00:25:17.58
配列に関する質問です。

例えば
Hoge[]hoge = new Hoge[10000];
という配列を作り、
hoge[100]までしか使わないことによって、どのようなデメリットが発生しますか?
0304デフォルトの名無しさん2011/08/30(火) 00:37:02.28
lengthが使えないので面倒
メモリの無駄
0305デフォルトの名無しさん2011/08/30(火) 02:00:47.36
>>381でどんな素晴らしいレスが来るのか期待
0306デフォルトの名無しさん2011/08/30(火) 03:37:40.61
Java SE 6 ドキュメント 日本語版がほしいんだけど
DLできません
英語版はDLできる
どうなってんだ
0307デフォルトの名無しさん2011/08/30(火) 03:59:12.17
スレの上の方に補完あるよ
0308デフォルトの名無しさん2011/08/30(火) 04:10:13.72
>>307
ありがとう補完分を手に入れられました。
冷静にスレ読んだら英語版だけになったのをやっと理解しました
久しぶりに勉強再開するので日本語翻訳版があって当たり前だと思い込んでました。
0309デフォルトの名無しさん2011/08/30(火) 09:14:48.80
2つ入力欄があって

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


で処理を分けたいんですけどどのようにすればスマートに行きますか?
0310デフォルトの名無しさん2011/08/30(火) 09:17:00.43
if文を使えばいい。
0311デフォルトの名無しさん2011/08/30(火) 09:31:28.78
Obserberパターンだな
項目の状態を監視するクラスを作って、更新の都度メソッドを呼び出せばいい。
複雑な設定画面や帳票画面なんかでよく使われる。
0312デフォルトの名無しさん2011/08/30(火) 09:33:13.34
すまん上げてしまった。
0313デフォルトの名無しさん2011/08/30(火) 11:06:53.46
唐突にすいません。ちょっと困っています。
今研究室でニュートン法やSD法などを勉強しながらjavaを使ってプログラムをしたりしているのですが、そういった解析に関するプログラムについての質問はどこですればいいのでしょうか?
もしよければ教えてください。
0314デフォルトの名無しさん2011/08/30(火) 11:12:27.93
学校の先生に聞け
JavaよりCの宿題スレとかFortranのスレとかの方が詳しい人いると思う
0315デフォルトの名無しさん2011/08/30(火) 19:24:19.93
マルチうぜえ
0316デフォルトの名無しさん2011/08/30(火) 19:24:49.45
http://mixi.jp/view_bbs.pl?id=64669912&comment_count=5&comm_id=368966
0317デフォルトの名無しさん2011/08/30(火) 21:19:01.91
>>309
白い目で見られると思うけどビットフラグ
0318デフォルトの名無しさん2011/08/30(火) 22:31:14.01
Javaを使ってコマンドプロンプトの閉じるボタンを押しても無効化できる方法ってありますか?
0319デフォルトの名無しさん2011/08/31(水) 00:18:27.23
んな環境依存なことJavaでまともな方法でできるわけない
0320デフォルトの名無しさん2011/08/31(水) 00:27:08.17
拡張子が.javaらしいファイルを落としてきたのですが
これをどうすればいいですかね
0321デフォルトの名無しさん2011/08/31(水) 00:32:38.01
jdkをインストールする所から始めると考えると結構骨だな
0322デフォルトの名無しさん2011/08/31(水) 00:38:23.65
>>320
http://www.microsoft.com/japan/msdn/archive/vjsharp/default.aspx
0323デフォルトの名無しさん2011/08/31(水) 00:40:57.63
>>320
らしいって何だ
拡張子見ても.javaじゃ無いって事か?
0324デフォルトの名無しさん2011/08/31(水) 00:41:40.95
拡張子表示してないんだろう。。。
0325デフォルトの名無しさん2011/08/31(水) 00:45:33.95
>>320
メモ超ひらいて.jaraらしいファイルをドラッグ&ドロップ
0326デフォルトの名無しさん2011/08/31(水) 02:35:46.19
誰か居る?
0327デフォルトの名無しさん2011/08/31(水) 02:40:53.57
iruyo
0328デフォルトの名無しさん2011/08/31(水) 02:47:02.51
使い終わった配列をnullにするとどのタイミングでガーベージがクリアしてくれるんだろう。
0329デフォルトの名無しさん2011/08/31(水) 02:51:17.57
状況によるとしか言えないんじゃないのか
少なくともnullを代入した直後にすぐgcはされないだろうけど
0330デフォルトの名無しさん2011/08/31(水) 08:54:56.95
nullにしたあとマークされた後にGCが来るタイミングじゃないの?
0331デフォルトの名無しさん2011/08/31(水) 09:02:49.16
>>329
リファレンスカウントを使った実装が
無いとも言い切れないんじゃないかと思うが
■ このスレッドは過去ログ倉庫に格納されています