1 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 22:35:13.65 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング 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質問・相談スレッド154★★ toro.2ch.net/test/read.cgi/tech/1337684981/
2 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 22:38:48.29 ] **** 関連スレッド案内 **** ■ AWT と Swing は -- Java低速GUI Swing & JavaFX 10 toro.2ch.net/test/read.cgi/tech/1316592884/ ■ SWT は -- Java 高速GUI SWT 3 hibari.2ch.net/test/read.cgi/tech/1164877399/ ■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は -- iモード携帯電話用Java(iアプリ) Part22 hibari.2ch.net/test/read.cgi/tech/1295766416/ ■ DoCoMo 以外は -- CLDC+MIDP+携帯電話用Javaスレッド part 9 hibari.2ch.net/test/read.cgi/tech/1249357352/ ■ Androidアプリの作成は -- Androidプログラミング質問スレ Part23 toro.2ch.net/test/read.cgi/tech/1340103432/ ■ 課題・宿題は -- ★★ Java の宿題ここで答えます Part 72 ★★ toro.2ch.net/test/read.cgi/tech/1337692704/ ■ NetBeansに関する雑談は -- NetBeans Part6 toro.2ch.net/test/read.cgi/tech/1273665879/ ■ Eclipseに関する雑談は -- Eclipse統合M33【Java/C++/Ruby/Python/Scala】 toro.2ch.net/test/read.cgi/tech/1340974518/ **** 開発環境、実行環境は **** ■ Java SE Downloads www.oracle.com/technetwork/java/javase/downloads/index.html
3 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 23:25:31.23 ] おつ
4 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 09:09:38.26 ] google driverみたいなのを作りたいんですが、サーバにはjavaを使おうと考えています。 java + tomcatとかで作れば簡単にできるんですかね? それとも1からぜーんぶjavaで書いたほうがいいんですか
5 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 09:14:35.73 ] Google Driveの難しさはプログラミングでなく 設計にあると思うのだが。 Tomcatありなしで悩む奴には難しいだろう。
6 名前:4 mailto:sage [2012/06/30(土) 09:35:25.46 ] >>5 クライントにあるやつをサーバへアップするプログラムを作って遊びたいだけだよ それを説明するために、google dirveといっただけで 普段は.netで業務アプリを作っているので、javaなんて使ってないないわけで >Tomcatありなしで悩む奴には難しいだろう。 そんなこといわれてもなー
7 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 09:38:29.84 ] >>6 TCPサーバーを自作しようとしてた? とりあえずTomcat入れてHTTPオンリーで考えとけ
8 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:29:50.26 ] >>1 乙 【前スレ】 > 990 名前:デフォルトの名無しさん[sage] 投稿日:2012/06/29(金) 22:35:43.89 > ★★Java質問・相談スレッド155★★ > toro.2ch.net/test/read.cgi/tech/1340976913/ > >> 2以降のテンプレっているのか? JDK (TM) 6 ドキュメント java.sun.com/javase/ja/6/docs/ja/ は必要かと…
9 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:51:44.17 ] apache commons の FileUploadっての使ってみたい
10 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 14:16:07.01 ] >>6 それも業務アプリののりで普通にVB.NETで作れば?w
11 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 14:40:35.41 ] 【Tomcatとは?】 [名] 1 雄猫. 2 ((俗))女の尻(しり)を追い回す男,女たらし. [動] (〜・ted, 〜・ting)(自)((俗))女の尻を追い回す((around)). (〃'∇'〃)ゝエヘヘ ja.wikipedia.org/wiki/Apache_Tomcat
12 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 14:45:31.67 ] >>11 【でわ、Apache HTTP Serverとわ?】 ja.wikipedia.org/wiki/Apache
13 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:01:51.38 ] >>10 普段はPL/SQL・VB.NET・AS3(Flex@MXML)の3つの言語を使っているので、VBだけ使っているというわけではないんだけどね 画面はC#で作ってみようかなーって思ってるよ。 ASP.NET + IISじゃ面白くないなーって思ったので、久しぶりにjavaで遊んでみようかと思っただけで 今面白そうだなーって考えている構成は(できるかどうかは別として サーバ:rpm系Linux(Virtual Boxで稼動) + apache + tomcat + java + mysql クライアント:C# 遊ぶだけなので、apache + tomcat以外はどうにかできるかなと思っている
14 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:29:28.48 ] VB.NET(笑)
15 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:31:48.35 ] C++.NET
16 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:35:03.16 ] >>13 javaで遊んでみなくていいので、何も考えずそのまま ASP.NET + IIS でやってください。
17 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:49:31.88 ] virtual boxとかmysqlとか関係ないことは いちいち書かなくていい。 ここはお前のオナニースレじゃない
18 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:52:41.56 ] 馬鹿には無理
19 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 00:25:25.88 ] スルー能力って大切だよね
20 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 01:09:18.98 ] はいお姉さま
21 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 01:55:54.74 ] >>20 ジジイはすっこんで炉
22 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 12:29:11.41 ] ここで質問していいのかよく分かりませんが、javaの設定で質問です 最近気が付いたのですが、 インターネット一時ファイル(キャッシュ)のディスク領域サイズが32768MBになっています ドライブのサイズをオーバーしていますが、このままでいいのでしょうか? (現時点のキャッシュサイズは使用した分だけで小さい) 確か前は1000MBがデフォルトだった記憶が・・・
23 名前:デフォルトの名無しさん [2012/07/01(日) 13:37:56.17 ] javaでアプリを作る際、アプリ独自例外を作るケースはどのようなものがありますか。 例えばstrutsでExceptionHandlerを書き換える場合など、 例外の処理方式を独自仕様としたい場合以外は標準のままでもよいのでしょうか。
24 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 13:41:05.94 ] ぬひ
25 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 14:47:32.36 ] >>22 たぶん、質問が勘違いだと思う
26 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 15:05:29.86 ] Javaの資格なんてプログラムかけるという同僚がいるのですがその人のコード自分の持ってる知識でしか書かないから読みにくくて困ってます。 たとえばコレクションの特性考えないでなんでもかんでもArrayList使ったり、オブジェクトの比較でComparatorを使わずに自分で独自の比較メソッド作って比較したりします。 特にひどいのが、警告されてるにもかかわらず未だに型安全なプログラムをかかず、Object型からキャストするようなプログラムを書きます。 読みにくい上、バグが発生しやすいです。 こういう人に勉強させるにはどうしたらいいでしょうか。
27 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 15:10:24.05 ] 日本語でおk
28 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 15:12:44.98 ] すいませんJavaの資格なくてもプログラムかけるという同僚がいて、その同僚は自分の知ってる知識だけでプログラムを書くので読みにくくて困っているということです あとそれ以外は訂正はありません
29 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 15:20:25.32 ] >>28 勘違いしてるようですけど、◯◯の勉強が必要なのはあなたの方じゃないですか?
30 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 15:34:56.40 ] 日本語でおk
31 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 15:39:25.55 ] >>26 は果たしてそのなんだかの資格をとったのだろうか? だとすると、その資格ってのは下らないな。
32 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 15:43:01.75 ] >>26 参考程度に自分の意見を書き込んでみます >コレクションの特性考えないでなんでもかんでもArrayList使ったり、 どの程度のプログラムを書いているかわからないけど、この程度の気にしなくていい(キモイというのは認める) 業務アプリケーションならば性能のいいサーバでアプリが動いているので、こんなの無視できる範囲だと思う >読みにくい上 みんな給料をもらうためだけにプログラムを書いているから、コードの可読性を無視している所はあると思うよ 何年もやってるとプログラムは汚くてもいいから、早いところ家に帰りたくなるんだよ ある程度業務がわからないとどんなコードも汚く見える気がするなー ほとんどの人はプログラムの可読性よりも、定時で家に帰りたいと思っている これが真理なはず
33 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 15:46:44.13 ] 日本IT土方のくせにとやかく言うなw
34 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 16:00:52.21 ] >>33 まぁ、俺みたいなIT土方さんはたくさんいるわけで
35 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 16:45:54.45 ] >>29 なんの勉強が必要なのでしょうか 私の書いたところから明確に指摘していただけますか それではただ感情論で批判してるようにしか見えません >>31 JavaのOracle Databaseはシルバーまで、それからSE、webコンポーネントの資格もってます. 国家資格だと、基本、応用、データベーススペシャリスト、セキュリティスペシャリストの資格持ってます。 今ITの会社ならどこでも推奨する資格です。Oracleに限ってはjava限定ですが。。。 どういう点でくだらないのでしょうか。あなたの意見も感情的に批判してるようにしか見えません。 >>32 「コレクションの特性を考えずに」のところ批判されるのははっきり言ってないです。 リソースの管理として特性は絶対に考えます。 毎秒の何千、何万件というトランザクションを処理するプログラムですし個人じゃなく会社で管理するような規模のでかいものです。 3会社ほど転職しましたがどこでもかならず気にされていましたし、まずリソース上の問題として上がった時のチェックリストには必ずどの会社も入ってました。 もし、個人という単位で書いてくれていたなら申し訳ありません。 「読みにくい上」というのは分かりました。その点は納得しました。
36 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 16:47:58.49 ] 板違い
37 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 16:51:47.64 ] ITマニュアル君には何言っても無駄w
38 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 16:52:17.28 ] >>26 馬を水辺に連れていけても、水を飲ませることはできない 消えていくだろう
39 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 17:03:14.84 ] 日本語不自由なん? ちょいちょいおかしい
40 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 17:05:25.30 ] 安全なキャストといっても 使用するフレームワークによっては未だにJava 1.4互換で 書かれてたりするのでいかんともしがたいところもある。 使用するフレームワークが糞なのはわかってるが、 歴史的経緯で無理なのだ。
41 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 17:09:39.40 ] ArrayListはコピーが発生するから遅いってことはありませんよ。かなりなJVMやライブラリの内部のことを知らないと理解できないでしょうけど。 しかもオラクルjdkではたしかjdk1.6からはObject[]で管理してるので、結局非推奨キャストしてます。 パフォーマンスを気にして他人のフリースタイルにいちゃもんつけるなら、例えばそのArrayList実装の部分をちゃんとプロファイリングしてそれがホットスポットであり非常に重要であかどうかを検証しないといけません。 もちろんマニュアルどおりにやることも大事ですけど、マニュアルどおりであれば合理的であるすなわち何事にも常に最善であり効率的であるとは言えません。
42 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 17:20:47.51 ] >>39 中国人か朝鮮人が日本にIT留学(IT出稼ぎ)しに来てるんでしょう。 インド人も人件費では安いですけど日本は一応極東アジア圏ですから。
43 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 17:25:12.36 ] >>35 うーんよくわからないんだけど、suicaでさえ1日に3000万トランザクションだよ > Suicaは1日当たり最大3000万件であるのに対し >毎秒の何千、何万件というトランザクションを処理する そもそも、そんなにトランザクションが走っているプログラムを、ころころと修正しない気がするんだけど リソースがって言っているけど、面倒なのでハードウェアを追加・リプレースすればいいじゃん 例えどんなに性能のいいプログラムでも、ある程度まではハードウェアスペックも必要なのではないかと
44 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 18:14:27.88 ] javaのdbについて初歩的な質問があります 一般的なjavaアプリはdbに接続するたびに、DriverManager.getConnection()を行っているのですか? 自分のイメージだとDriverManeger.getConnection(DbControler.getConnectionString());みたいなことをやっているのかなーと思いました。 それとも、フレームワークにコネクション管理を丸投げするのが一般的ですか?
45 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 18:17:01.96 ] まっとうなプログラムでgetConnectionは使いません。 Cでいうscanf並に使ってはいけないメソッド。
46 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 18:25:52.37 ] >>44 TomcatではDBCPを使う
47 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 18:53:13.44 ] TomcatじゃなくてもWebコンテナ/J2EEサーバアプリじゃなくても、 コネクションプールを使うためにDBCPを使う。
48 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 19:19:15.55 ] >>38 馬と言うのは走るのが好きだし、 岩塩やら角砂糖やら、喉の渇くものも大好き。 伯楽は無しと言う
49 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 19:31:37.02 ] >>45-47 ありがとうございます
50 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 19:55:27.28 ] シングルスレッドのバッチ処理なら 最初に接続1本作るだけだな。
51 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 22:21:31.78 ] >>49 いえいえ
52 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 22:23:45.31 ] no problem
53 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 23:23:31.19 ] 祭りだー anago.2ch.net/test/read.cgi/femnewsplus/1341151330/
54 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 00:01:00.40 ] サーバーアプリでもないのにコネクションプーリングって必要かね?
55 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 00:34:37.99 ] >>54 必要になる前にバックグラウンドで接続しといて、レスポンスよくするとか。複数箇所でいちいち接続しないで再利用するとか。使用を検討するには十分だと思うけど。
56 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 00:51:18.11 ] サーバアプリでも無いのにレスポンスって、 JavaのGUIアプリからdb直結するつもりか?
57 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 01:02:20.54 ] >>28 基本的にお前は間違ってないと、俺は思うよ。 読みやすいか読みにくいかは、人によって感じ方が違うかもしれないけど、 少なくとも特性を考えながら書いているお前と、理由もなく毎回ArrayListを使う人ならば、 少なくともお前のほうが良いコードを書く意識を持っていると推測する。 ただ、そいつに勉強させる手段は無い。なぜなら本当にそれで良いと思っているから。 自分で失敗して痛い目見ないとわからない。たぶん失敗しても気にしないタイプだろうけど。 要するに残念だがあきらめろ…。
58 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 01:13:49.14 ] >>26 JDKに入ってるsrc.zip内のソース読ませてみたら?
59 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 01:17:36.62 ] Collectionの特性というのは、 ArrayList以外にはLinkedListとかを使い分けようってこと? それとも、同僚がBlockingQueueを使わないで 全部ArrayListでsynchronizedしようとしてるとかいう話なのかな
60 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 01:35:50.67 ] どっちも同じだろ アルゴリズムに対するデータ構造の向き不向き 計算コスト理解してなくてArrayList#containsとか使ってんじゃね
61 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 05:35:24.92 ] これは酷い慈円>>57
62 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 06:51:43.99 ] >>56 クライアントアプリの方がレスポンスはダイレクトに影響する。必要ならするだろ。というか、サーバーアプリでもないのに必要かという質問の答えだぞ?
63 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 08:44:42.07 ] int [可変][固定]って感じの2次元配列を作りたいんですが、どうすればできますか? List <int []> L = new ArrayList<int[]>(); int [] a={1,2,3}; while(1){ a[0]++; L.add(a); } ってやって上手く動くじゃんと思ったら、aのアドレスを何個もって中身は覚えてないし、 そのせいで全部同じ値だしでどうすりゃいいの?
64 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 09:09:42.03 ] ぶっちゃけメモリ効率も速度も、多くの場合でArrayListは優秀。 例えば末尾要素だけを激しく追加・削除するならLinkedListが、 集合として扱うならSetが「教科書的に正しい」んだろうが。 LinkedListは、ArrayListに対してほとんど常に非効率。 HashSetの場合、ArrayList#containsはforループで走査するからいかにも遅そうだが、 HashSet#containsも実際には、要素の#hashCodeでフィールドの全走査、 さらに衝突したハッシュ値のLinkedList全走査するから、爆速ってわけじゃない。 要素が100万個ある、とかなら明らかにHashSetの方が速いだろうが、 メモリ効率は依然としてArrayListの方が良い。 なので、何も考えずにArrayList一択、というのは意外とうまくいく。
65 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 10:31:24.97 ] >>63 > L.add(a); L.add(a.clone());
66 名前:973 [2012/07/02(月) 11:23:23.35 ] Java初心者です。 String配列をString型に変換したいです。また、String型に変換した物をdouble型に変換したいと考えております。 ※現在、電卓アプリを作成しています。。。 String strBuf[] = new String[10]; String result = ""; 例えばstrBuf[]の中身は下記のようになります。 strBuf[0] = "1"、strBuf[1] = "2"〜中略〜strBuf[8] = "9"、strBuf[9] = "0" このような状態を一続きにしたいと考えております。 ※下記のようにしたいです。 result = "1234567890" この後、resultをdoubleに変換。 よろしくお願いします。
67 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 13:30:13.49 ] >result = "1234567890" for (String s : strBuf) result+=s[k]; >この後、resultをdoubleに変換。 Double.parseDouble(result); まずはジャバの初心者用教本を一通り終えて常識的な使い方を覚えてみてはどうですか?
68 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 13:30:48.26 ] for (String s : strBuf) result += s;
69 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 14:53:27.04 ] 入力されたURLが存在するか確かめる良い方法はないのでしょうか? MalformedURLExceptionはただの文法チェックのようですし、javaにはURLが間違ってる場合その旨を伝える例外などはないんですか
70 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 14:58:39.10 ] ないよ
71 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 16:37:31.50 ] >>69 HttpURLConnectionで接続してエラーが返ってきたらないだろう
72 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 16:40:45.62 ] if(((HttpURLConnection)(new URL("www.2ch.net ").openConnection())).getResponseCode() != 200) { System.out.println("ある"); }else{ System.out.println("ない"); }
73 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 16:44:49.45 ] >>69 が信ずるところの「URLが存在する」の定義に沿って確認するしかないと思う。 確かめようとした瞬間にそのURLからリソースが得られる場合を存在するというのなら、 単にURLConnectionを開いて実際にデータが拾えるかどうかを確認すればいい。 ただ、この定義だと自身や通信経路やサーバの状態に依存するだろうから、 もし質問を重ねたいなら>>69 はもう少し問題を明確にしたほうがいいだろう。
74 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 20:30:35.97 ] JAVAで正確な10mmを印刷するには何ピクセル必要ですか? JAVAで印刷部分を実装中なのですが、Printableをimplementsして実装しています。 印刷内容は public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) のGraphicsに投げると印刷されるので Graphics2D g2 = (Graphics2D)graphics; と2Dにキャストして、その後RectangleやLineなどで描写しています。 RectangleやLineは座標や幅を指定して長さや大きさを決めますが、印刷時に正確なミリ単位のラインなどを引きたい場合と考えています。 JAVA印刷における、LineやRectangleでミリ単位の指定方法がありましたら、教えていただきたいです。
75 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 20:49:28.42 ] jdbc driverをロードする際にclass.fornameでロードしますが、なぜわざわざリフレクションを使うんですか? インスタンス化せずにstaticイニシャライザを実行したいからってことですかね
76 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 21:37:10.99 ] ついでにもうひとつ質問をさせていただきます。 Java@ResultSet == C#DataTableという認識であっていますか?
77 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 21:37:26.05 ] 引数がすっげえ多いクラスがあって、どうにかならないかと思ったら @テレスコーピング・コンストラクタ コンストラクタをオーバーライドしまくっておく AJave Beans とりあえず Object obj = new Object()で生成して あとのメンバ変数はsetMemberで設定する という方法があるのは分かりましたが、3つ目の方法としてBuilderパターンがあると知りました。 ですがBuilderパターンのメリットがよく分かりません。 結局は、void main (Strings[] args)側で、コンストラクタメソッドを呼び出して引数渡すんですよね?
78 名前:77 [2012/07/02(月) 21:51:24.53 ] なお、今作ろうとしているプロジェクトは、 ・データ登録用の基本クラス ・基本クラスから独自メンバーを持つ継承クラス1 ・基本クラスから独自メンバーを持つ継承クラス2 ・基本クラスから独自メンバーを持つ継承クラス3 がございます。
79 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 21:59:25.73 ] >>77 Builderパターンって初期化の面倒なクラスを、Builderクラスで初期化するだけじゃないの? そもそも、数回しか使わないのにデザインパターンって使う必要あるのかなと思った
80 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 22:29:41.50 ] Builderはオブジェクト生成のインタフェースと実装を分離したいときに使うものだよ。 DBアクセスとか帳票出力とかデバイスドライバみたいな、 同じ手順で異なるオブジェクトを作りたくて、それを利用する側にオブジェクトの作り方の違いを意識させたくない時に使う。 それが77の用途にあってるのなら使うといいよ。
81 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 22:33:34.45 ] >>74 PageFormat#getImageableHeight() あたりから計算するしか。
82 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 22:40:30.25 ] OSGiて使える?有望?
83 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 22:54:31.89 ] >>79 >>80 ありがとうございました
84 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 23:11:58.99 ] いえいえ
85 名前:74 mailto:sage [2012/07/02(月) 23:38:04.79 ] >>81 ありがとうございます。 ただ、getImageableは環境によってまちまちになるのと、あくまで描写エリアという考え方なので違うかなと。 1/72インチを単位として〜という部分から、72ppiと仮定して実装してみたものの、印刷時に数ミリずれたりなど違うようです。 そもそも、RectangleのWidthやLine座標の1の違いが、1ピクセルなのかすら判断できず困っています。 難しいです。。
86 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 23:39:33.56 ] >>85 そんなあなたにJNI
87 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 00:07:40.50 ] >>77 ビルダーがぴったりと思われ Effective Java 2nd ed. の Item 2 英語でいいなら書籍でググれば出てくる デザインパターンというよりは、 名前付き引数やその省略時のデフォルトの値を付けられないJavaのイデオムとして使われる 欠点は、コード量が多くなること。それが許容できないなら、そのままで
88 名前:87 mailto:sage [2012/07/03(火) 00:14:21.84 ] すまんが >英語でいいなら書籍でググれば出てくる と言ったが、大事な2ページが飛ばされてるなw 名著だから買っとけ
89 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 00:35:46.03 ] >>82 よろしく
90 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 00:47:18.76 ] Jenkinsその他、Java系サーバがことごとくうるう秒で狂った話、 技術上の詳細まだ上がってないみたいだけど誰か知らない? 前スレでJavaにうるう秒は関係ないって言ってた奴出てこいよー。
91 名前:74 mailto:sage [2012/07/03(火) 01:04:00.25 ] >>86 JAVA単体では実現できないってことですか… 他の言語を覚えるのはともかく、いまからネイティブでのアクセスの仕方を学んだりするのは、かなりハードル高いですね。
92 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 06:33:03.42 ] >>90 俺だが何か?
93 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 06:47:02.43 ] Eclipse で以下のコードがコンパイルできないのですが、何が間違っているのでしょうか? import java.util.ArrayList; public class Hoge { public static void main(String[] args) { ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList.add(42); arrayList.add(123456); int[] as = (int[])arrayList.toArray(new int[0]); // ここでビルドエラー System.out.println(as[0]); System.out.println(as[1]); } }
94 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 07:10:59.98 ] >>93 エラーメッセージぐらい書きなさいよ ArrayListはObject型しか使えない ArrayList<Integer>で変数宣言してるのに なぜプリミティブ型のintに戻すのかよくわからない intって書いてるとこをIntegerにすれば動くが このプログラムでArrayListを使う意味もよくわからないな
95 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 07:47:07.97 ] >>90 それLinuxの問題。
96 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 08:35:45.43 ] >>87 >>88 ありがとうございます。 ただ、自分が作りたいものはデータ登録用のクラスなんですけれど、 全てのメンバーが、入力必須項目で空白(null)は弾くようにしているか、自動的に他のメンバーから計算される類のもので よく考えれば、コンストラクタ呼び出し方に複数のバリエーションはありえないかもしれません・・
97 名前:デフォルトの名無しさん [2012/07/03(火) 12:11:21.71 ] 初めまして. とあるプログラムを作っています. 出力が 1.0 1.0 1.0 0.5 0.2 0.14 0.07 0.049 0.035 1.0 1.0 1.0 0.5 0.2 0.12 0.12 0.036 0.048 となるようにプログラムを作ったはずなのですが, 最後4行が, 0.12000000000000001 0.12000000000000001 0.036000000000000004 0.04800000000000001 となってしまいます. 何度見直しても原因がわかりません.eclipseでもideoneでも結果は同じです. 教えていただけませんか. ideone.com/8aCbd
98 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 12:27:23.88 ] 計算機イプシロンでぐぐれ
99 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 12:51:58.17 ] ググって計算機イプシロンの意味はなんとなくわかりました。 しかし、0.12000000000000001において 0.00000000000000001が計算機イプシロンだとおもうのですが、何故それが計算されて、足されたのか分かりません。 また、プログラムをどのように修正すれば 得たい結果が得られるでしょうか。
100 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 13:14:30.90 ] 0.12を2進数に変換してみようか
101 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 14:35:49.46 ] 十進数ならキリの良い小数でも、二進数だと循環小数だったりするから。 java.math.BigDecimalなら十進数で計算できて、有効桁数や丸めルールも 好きに設定できるから、使うといいよ。
102 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 15:51:09.10 ] Javaのdoubleは 0.11999999999999999555910790149937383830547332763671875 と 0.12000000000000000943689570931383059360086917877197265625 の間の数が用意されていない。 ソースに「0.12」と書くとJavaコンパイラは勝手に前者に書き換えてしまう。 そして後者が君の答えに一番近かったと判断されたのだろうね。 どうしても100等分した12にきっちりこだわるのなら、 double使ったプログラムごと捨てて作り直した方がいい。
103 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 00:42:42.59 ] >>102 double使って金がらみの計算するなんて自殺行為だよね。 何でdoubleなんかつかうんだろ。
104 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 01:14:46.34 ] 金がらみの計算なんて何処にも書いてないが
105 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 02:05:02.20 ] >>104 別に書いてなくてもいいでしょ。
106 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 04:53:01.75 ] これはひどいw
107 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 05:06:07.83 ] ttp://ideone.com/2HYH9 小町算なんだが、見てもさっぱりわからん。 どなたか解説して頂けませんか?
108 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 05:32:50.62 ] 何が分からないのかによる 日本語が分からないのかJavaが分からないのか、 分かるところから書いてけ
109 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 09:59:32.26 ] TomcatでWebアプリを作っている場合で セッション情報の一覧みたいなものは取得できるものでしょうか? セッション情報のログイン情報を見てログインユーザー一覧などの 取得を想定しています。
110 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 10:15:37.42 ] >>109 自分のAPのサーブレットが入り口なのだからメモリかDBにでも必要な情報を書き込めば
111 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 10:18:13.52 ] >>110 やはり自分で管理するしかないですか・・・
112 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 15:09:56.98 ] あーあ…