1read 100read
2013年06月プログラム41: ★★Java質問・相談スレッド162★★ (241) TOP カテ一覧 スレ一覧 2ch元 削除依頼
float 使うヤツはドシロートかおぢさん (148)
インデントを強制しても綺麗なコードにはなりません (165)
おまいらのプログラムの勉強の仕方を教えろください (200)
Boost総合スレ part10 (118)
マルチスレッドプログラミング相談室 その9 (185)
十進BASIC (127)

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


1 :2013/06/09 〜 最終レス :2013/06/21
プログラミング言語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質問・相談スレッド161★★
http://toro.2ch.net/test/read.cgi/tech/1364006637/

2 :
Javaが理解できない万年雇われ3流PGの老害は見苦しいからもう沸いてくんなよ

3 :
細かいことだが、老害というのは
老いたことが害なのではなく、
老いた者が量産され社会のバランスを
欠いている様が害という考えだ

4 :
クソスレ発見

5 :
Javaは三日で習得した
だが次の三日で見限った

6 :
前スレの
>>995さん
>>996さん
C的というよりC++的なコードありがとうございます。
ちょっと最近C/C++やって無かったので思い出しながらコード見たんですが
で、>>996さんのコード見て
Zow *dive(Zow * zow2) {
  zow2=new Zow();
}
Zow * const zow=new Zow();
dive(zow);
をちょっと改変して
Zow *dive(Zow ** zow2) {
  *zow2=new Zow();
}
Zow * const zow=new Zow();
dive(&zow);
っていう動作(C++ならコンパイルエラー)をJAVAで実装するのは
無理って事ですか?

7 :
はい無理です

8 :
>>6
Javaには参照渡しが無いので直接的には無理。
代わりに要素数1の配列を使うのがよくあるうんこコード。
Zow[] zow = new Zow[]{new Zow()};

9 :
間違えた。わすれて。
>C++ならコンパイルエラー)をJAVAで実装

10 :
>>6
こんなかんじ?
http://ideone.com/9g1M3D

11 :
>>10
わざわざありがとうございます。
一応 setZow(Zow z)が抜けてたので補完して・・・
まぁ、質問しまくって、俺みたいな馬鹿で中途半端な知識量でも
private finalの部分は一応わかっていました。
(たぶん、私にわかりやすくと思い書いて頂いたと存じます)
自分の疑問だったのは、static finalのインスタンスをメソッドが
なぜ変更されないのかが疑問だったので。
前スレの>>987さんの説明の参照の値渡し。
っていう説明とC++で書いた例のソースを見してもらって理解しました。

12 :
Oracle、Java向けタイムゾーン更新ツールの無償提供を打ち切る
ttp://developers.slashdot.jp/story/13/06/09/0635243/

13 :
グローバルワイドな一流人材はUTCしか使わないから無問題。
どうしてこう、政治家は歴制度をいじりたがるかね

14 :
UTCでしか業務しないエンドユーザーは
世界の一握りしかいないのだが、
その限られた顧客しか相手にしない>>13
無問題なのだろう

15 :
>>13=キチガイ

16 :
>>1-15 =クソスレ住人

17 :
ム板のどのレス見ても井の中の蛙大海を知らず的なレスばかり
この世のどのプログラマも自分が携わった分野しか知らないんだから
業界全体を知った風なこと言う奴ってどうかしてるわ
>>13とか>>14のことね

18 :
>>17お前だけには言われたくないわ

19 :
おまえらみんな自分のしたレスをもっと冷静になって客観的に見るんだ!自分がいかに恥ずかしいレスをしているか!

20 :
他人事のようにというふうにあなたはおっしゃったけれども、私は自分自身を客観的に見ることはできるんです。あなたとは違うんです。そういうことも併せ考えていただきたい

21 :
>>20
福田さんだ、この人ぜったい福田さんだ。

22 :
>>17
自己紹介乙

23 :
教えてください。
java.lang.Threadクラスのsleepで使っている、システムタイマーと
java.util.Timerで使っているシステムタイマーは同じものですか?

24 :
違うんじゃね?java.lang.Thread#sleep()は、たぶんタイムゾーンもうるう秒もシカトする

25 :
>>24
java.util.Timerでシステム時刻を変更すると処理がとまる可能性がある
という記事を見つけて、対策をしないといけないのですが、そうなると
Thread.sleepはどうなんだろうとおもって。

26 :
猪瀬のせいで、多摩川超えると処理が止まるとか、それはやだなぁ

27 :
>猪瀬のせいで
は?

28 :
>>25
API 仕様からはそのような挙動は
許されないように想えるんだけど、
バグなの?

29 :
イマドキのOSをネットに繋いで普通に運用していたら、
システム時刻なんてしょっちゅう変更されているはずなのだけれど?

30 :
JavaSEがCookieやSSLを実装している以上、時計あわせはジャバラーの義務っ
カレンダで試用制限とかしてるアプリ職場に押しつけられると、
カレンダ偽装する奴が増えてトラブルになるんでやめろー

31 :
>>29
どうせ時刻逆転のケースだろ
近代的オペレーティングシステムで
普通それはない

32 :
関数の計算結果を自動的にグラフ作成し 画像として
ホームページなどに表示する手順などを解説している
サイトや著書などを知ってる方おりましたら
おすすめをお願いします。

33 :
三角関数や対数程度でいいのなら「Processing」でアマゾンぐぐれー

34 :
サーバーでgnuplotでも動かせばいいじゃない
Javaで調べるとまずアプレットが出てくると思うけどそれだけはやめとけ

35 :
・HP掲載のJavaとJavaScriptを勘違いして質問している
・HP掲載のJavaAppletでの表示の話
・サーブレットの動的HPの作成の画像作成の話

36 :
JAVAのGUIアプリでグラフ画像とHTML自動生成の話という可能性も微レ存

37 :
グラフならd3かhighchartだな今なら。

38 :
質問するところを間違ってしまったみたいで申し訳ないです
>>33 >>34 >>35 >>36 >>37
ありがとうございます
早速Amazonにあった本や論文などを学校の図書購入希望
やキャットで検索や閲覧希望ぶち込みました。

39 :
Java Platform Standard Edition 7 ドキュメント
http://docs.oracle.com/javase/jp/7/
このドキュメントのダウンロードのzipとか無いの?昔は日本語ドキュメントをダウンロードできた気がしたんだけど

40 :
そもそも何で日本語だけこんなに贔屓にするんだろう?日本顧客が結構金蔓なのか?

41 :
まさか日本政府が要求してたり?

42 :
IT後進国の馬鹿な日本ぐいしかもうJava使ってる国が無いんだろう

43 :
日本GUI

44 :
なぜオーバーライドをデフォルトにしたのですか?
継承先にこのメソッドを破壊された場合はどうしようなどと考えるとテスト項目を作るのが億劫です

45 :
そういうOOPのノウハウの多くはそもそもJava開発で蓄積されたものだからだろ
例えば後付けで追加された@Overrideなんか明らかに設計失敗の証拠で、
本来なら後発のC#と同じくoverride修飾子を付けないとコンパイルエラーとするべきだった
昔は継承は既存コード再利用のための強力な仕組みだとか言ってたけど
Javaによって色々問題点が明らかになって今は大分考え方が変わったからな

46 :
>OOPのノウハウの多くはそもそもJava開発で蓄積されたものだからだ
JAVA信者の基地外っぷりもここまでいくと
人としてやばい

47 :
「継承先にこのメソッドを破壊された場合はどうしよう」などと悩むのはどんな
ケースだろう?
オーバーライドされたり派生クラスで実装が与えられたときの振る舞いを注意深く
扱うのはprotectedかabstractなメソッドぐらいであって、その他publicなメソッド
についてはあまり気にしないけれどもなぁ。
いくらオーバーライドを禁止したところでデコレーター使えばいくらでもpublic
メソッドの実装なんて差し替えられるわけだし。

48 :
オーバライドって元々は、既存コードは変更しないというルールの下で
既存コードが変更できないなら上書きすればいいじゃないという考え方が基本だから
後から勝手に何でもかんでもオーバライドできたほうがいいわけ
今ではそういうやり方は糞と考えられてるが

49 :
>>47
publicメソッドを同じクラス内から呼んでる場合があるだろ?

50 :
とりあえずコンストラクタからpublicメソッド呼ぶのやめい

51 :
なんで?

52 :
親クラスプログラマにしてみれば、
コンストラクタぐらい目の行き届くとこでやって欲しいし、
子クラスプログラマにしてみれば、
自分のコンストラクタ始まる前にインスタンスメソッド呼ばれても困る
PMD使えばまとめて検出できるよ

53 :
消えろじゃヴぁ

54 :
仕事のない糞言語から目の敵にされる我らがJAVA様

55 :
ピーターの法則:
組織において有能な人間は昇進しより高い能力を求められ、無能になったところで昇進が止まる
ゆえに組織のいたるところ無能な人間で満たされる
これを人間からソフトウエアに置き換える
たとえばWindows, たとえば C,Java
これらは有用と評価され普及度を高め、クソと評価されるあたりで普及が止まった
これらに対し、社会経験のない中二病、もとい、お子さまは
世の中はクソで満ちあふれている、俺が何とかしなければと情熱を燃やすのである
なお、それが非常にうまく行った場合、結局は上の行程を繰り返すのみ

56 :
Windowsって普及止まったの?CEのこと?

57 :
>>52
C++最高というわけですね

58 :
真のプロフェッショナルはクラス利用者の勝手な継承を許さないようにコーディングする
どうしても継承したい場合はユーザーが自分でラッパーを書いてそれを継承しなければならないように作る

59 :
初心者向けの本で、
> 継承の仕組みを利用した書き方を、『差分プログラミング』とも呼びます
なんて読んだことがあるけど…。
差分で済むから継承、なんてやってたら、is-a関係がとんでもないことになるよね…。
まずは全てのクラスをfinal & イミュータブルにするのが基本。
状態変化を持つクラスだけ、1つずつアクセス範囲を検討するのが良いんだろうな。

60 :
なぜC系言語しかやってこなかった人は意味も無くpublicにするのだろうか
外から見える分得だと思ってるんだろうか
例え将来的にpublicに使うとしても、もしその瞬間には必要ないのなら時がくるまで閉じておけ。社会の窓を。

61 :
>>55
Windows8は止まることなく退化を続けてるよ。
>>52
別に子クラスが仕様を満たしてなかろうと、親クラスが壊れるわけじゃないからいいだろ。親クラスのここを通って、ここのサブルーチンを…とか言ってる奴じゃないかぎり。

62 :
昔ながらの品質保証部とかが
「外部から観測できない手続きは禁止」
とかいってprivateを毛嫌いしてるんじゃね?

63 :
>>48のような考え方で作ろうとしたら必然的にprivateフィールド禁止になるぜ
親クラスは変更しない前提だからカプセル化する必要もない
実際、サブクラスの自由度のためにフィールドは全部protectedにするという
規約はそう珍しくないし

64 :
protectedなフィールドが一番使用頻度が低いなぁ。
publicかprotectedなアクセサがあれば十分だと思うのだけど。フィールドを裸単騎で
子孫クラスに晒す必要性が殆ど無い。
privateでないフィールドはpublic static finalぐらいしか普段は作らない。

65 :
老害はカプセル化の意味も知らないんだろうか

66 :
アクセサさえ通してればカプセル化だと思ってる>>64みたいな奴は非常に多いよね

67 :
必要条件と十分条件の区別も十分につかない>>66みたいな奴も非常に多いよね。

68 :
既存クラスは変更せず、必要な変更はオーバライドによって行うという条件なら
フィールドはとりあえずサブクラスから好きに触れるようにしないと仕方ない
という話に対して、アクセサ使えばいいと言うのは的外れだろう
結局片っ端からアクセサで公開することになり問題の本質は変わらん

69 :
派生でオーバーライドやり放題だと全部パブリックと大差ない
やろうと思えば基底を無視して全部上書きも出来るのだから
それでは基底を引数に受けとるメソッドはどうやってテストすればよいのか
膨大な量になるぞ
派生が作られるたびに今まで作って来た基底を引数に受けとるメソッドを追加でテストしなければならない

70 :
>結局片っ端からアクセサで公開することになり
ならないよ。
子孫クラスに対して実装の詳細を隠すことも知らないのであれば、とりあえず
クラスの設計をする手を止めて既存の有名どころのライブラリやフレームワーク
のJavaDocでも色々読んだ方が良い。
protectedフィールドで内部状態を子孫にガンガン公開している実装なんて
どれほどあることやら。protectedはabstract methodと同様に継承によって機能
拡張できるポイントとして慎重に、かつ詳細なドキュメントと共に定義されて
いるのが殆どだと思うが。

71 :
>>69
基底クラスのメソッドにこのメソッドは○○しなければならないと明記しておいて、
受け取る方のメソッドには引数として受け取ったインスタンスのメソッド××を呼び出すと明記しておく。
テストでは受け取る方のメソッドが××を実際に呼び出してるかどうかテストすりゃOK。

72 :
メソッドのオーバーライドを出来ないようにしろで終わる話なのに
オーバーライド出来るケースの話を延々とするチンパンジー達

73 :
カプセル化と継承による機能変更は両立するものではない

74 :
アグリゲーションとコンポジットの違いがあるからには、private一点張りじゃなくて、protectedが必要なこともある。

75 :
publicがオブジェクトの使用者向けのAPIであるようにprotectedはクラスの
開発者向けのAPIの一部だから。
finalでないpublicフィールドの公開がまずあり得ないようにfinalでない
protectedフィールドの公開もあまり無い。protectedフィールドを再代入
出来る形で子孫クラスに公開したところで、再代入したら何が起こるかは
詳細にドキュメントに書くか、あるいは親クラスのソースを遡って影響範囲
を検討する必要がある。大抵便利でも安全でもないので普通に避ける。
実装の詳細に関する知識を共有した見知った範囲の人間がコードを弄る際の
手抜き程度しか出番は無いと思う。
protected finalも、例えばハンドラ等のオブジェクトを子孫クラスに触ら
せる場合はフィールドよりゲッター使った方が色々便利なのであまり出番が。
使用者には公開しないプリミティブ型や文字列の不変値ぐらいか。

76 :
どうして基地外ほど長文を書きたがるんだろう

77 :
フィールド全部protectedとかprivate禁止とかありえんだろ。

78 :
リスナーとかデザパタ実装するならオーバーライド便利やねん
てかそういうときだけしか使わんけどねん

79 :
>デザパタ実装するなら
この考え方がまさにJAVAドカタ

80 :
privateだと舐めるな!
こっちにはリフレクションがあるんだぞ!

81 :
ドカタはリフレクション使えないから心配ない。

82 :
リフレクションは設計崩壊の産物
ダイナミックキャスト並みに要らない

83 :
ドカタがリフレクション使う必要は無いけれどもドカタでも使えるものを作るには
リフレクションも必要なんだよ。比較的真面目な話として。
フレームワークのAPIとしてはキャストやリフレクションが不要な綺麗な設計に
なっているのに対してフレームワークの実装中ではjava.reflectやCGLIBの類を
ガンガン使っているのは割と普通。
アノテーションとかも定義済みのを使っているうちはリフレクション不要だけど
自前で定義し始めると簡単なリフレクションを使う必要があるよね。

84 :
フレームワーク実装したこともない奴がフレームワーク実装の話をするチンパンジースレ
難読化もできないしな

85 :
Javaの基礎の本と、Eclipseの本でいいのがあったら教えてください

86 :
プラグインありきのeclipseなのに、それ系の本買う奴ってマジで馬鹿だと思う
あんなもん直観的にわかるだろ。まぁ俺も昔1冊買ったことあるけど

87 :
>>85
かっこいいやつ
タイトルは覚えてないが自分がこれから使うバージョンを解説したものを選べ
>>86
じっくり機能を把握したいじゃん♪
3000円越える本は図書館にリクエストを出すという手がある。

88 :
if文の書き方なんですが、
if( !(src.equals(dst))) { 〜〜
というのと、
if( src.equals(dst) == false ) { 〜〜
というの、どちらが慣習的に普通なんですか?
不毛な質問でごめんなさい。

89 :
慣習じゃなくてjavaでオブジェクトの比較を行うとき
その2つは判定方法が違うんですけどー(プリミティブ型は除く)
equalsはオブジェクトが同じなら真を返すけど
==は生成されたインスタンスが違えばオブジェクトの中身が同じでも偽になる

90 :
>>88
boolean型なら、どっちでも動作は変わらないんだけどね。
前者が極めて一般的。
あえて後者を使っていた場合「すごく複雑な論理演算の結果、falseなんだぞ!」という強い意図を表してる。
コードの読み手は、そこに何かトリッキーな仕掛けがあるんじゃないかと疑うのよ。
だから、ごく普通のif文では if(xxx == false) とか if(xxx == true) は使わないな。

91 :
!だと見落としのミスが増えそうな印象
(事実、俺はよく見落とす)

92 :
一般的とかそういう感覚じゃねーから

93 :
気持ち悪いならnot_equalsでも作れ

94 :
javaの初心者です。
質問さして下さい。
オブジェクトの比較で
  == を使うときって、そのインスタンスのハッシュ値が同等の時だけtrueですか?
また、
eaualsを使うときは、そのインスタンスの中身さえ同じならばtrueですか?
どなたかご教示ください。

95 :
あ、88さんも同じ質問してたみたいですね。
すみません。

96 :
質問さしてください。
javaをある程度学んで、NetBeensってやつで
メニューとJTextAreaをペタってはって、JFileChooserでファイルを選んで
File file = filechooser.getSelectedFile()で
Fileのインスタンスを得て、JTextAreaに表示するだけって事をしたいんですが
JTextAreaの変数(ここではtxtareaとします)
txtareaのどのメソッドを選んで、どういう処理をしていけばいいんでしょうか
しょうもない質問ですが、ご教示ください。

97 :
>>94
>>89

98 :
>>96
ttp://www.javadrive.jp/tutorial/jfilechooser/index5.html

99 :
テキストエリアの一部の文字だけ文字色やフォントを変えることは出来る?
自分で文字位地と長さ調べて別のテキストエリア貼らなきゃダメかな

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Android SDK以外でのアプリ作成を全面禁止へ (124)
【Lua】組み込み系言語総合 その6【Squirrel】 (146)
Go の宿題片付けます (142)
ネットワークプログラミング相談室 Port29 (229)
Go の宿題片付けます (142)
ファミリーベーシック (138)
--log9.info------------------
【第二のテクラ】知恵袋のmandoseikun【法律厨】 (127)
オクのcher(チャー)とかkitsonは偽物ばかり (128)
転売初心者が転売で儲ける方法part72 (184)
なつかしの名出品者を語れ! (131)
【木立クソ業者】東京機械設計【手抜き半導体】2 (116)
最高入札者を削除する自演つり上げ出品者の検証スレ (133)
高値で売れる絶版書 (190)
文章の最後に「全裸で。」と付け加えるスレ (162)
テストスレ (884)
保守 (116)
おっほえええええええええええええええええええええ (109)
【ネットボランティア】余ったCPUを・・・ (157)
狼どこいった (142)
【人多すぎ】nntp板自治スレッド【分割議論】 (156)
雑談はさみ将棋 (119)
雑談将棋 (185)
--log55.com------------------
★2ch.scは何故失敗したのか
★クロール批判要望スレ
★削ジェンヌに文句ある人集合
★迷惑行為報告担当 - 小さな親切募集中 2
★2ch.scへの要望スレ Part3
★かっこう観測所
★スレ立て人キャップ
★2ch.scニュース系板観測所