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

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

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

1 :デフォルトの名無しさん:2013/03/23(土) 11:43:57.99
プログラミング言語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質問・相談スレッド160★★
http://toro.2ch.net/test/read.cgi/tech/1361516065/

2 :デフォルトの名無しさん:2013/03/23(土) 18:42:22.38
< `∀´>ニダー

3 :デフォルトの名無しさん:2013/03/24(日) 03:19:47.47
Eclipse Community Forums: CDT ≫ Redirect Input and Output
http://www.eclipse.org/forums/index.php/m/697301/

ここ見るとリダイレクトできるとか書いてあるが
引数の設定のとこに <hoge.txt とか >hoge.txt を書けとか
試してないから本当に出来るかは知らんけど

4 :デフォルトの名無しさん:2013/03/24(日) 03:22:36.02
>>3
CDTって書いてあるけどjavaでもいけんのか?

5 :デフォルトの名無しさん:2013/03/24(日) 03:25:10.64
http://toro.2ch.net/test/read.cgi/tech/1361516065/995
これつかって試してみればええねん

6 :デフォルトの名無しさん:2013/03/24(日) 04:38:29.96
Eclipseというのを入れてみたが糞重すぎてワロタ
ネットブックに入れるのは流石に無理かw
NetBeansってのはどうなんだろか

7 :デフォルトの名無しさん:2013/03/24(日) 05:07:00.49
>>4
できないよ

8 :デフォルトの名無しさん:2013/03/24(日) 07:14:46.17
前スレで気になったんだけど

for(;;)

ってどういう意味ですか?こういう特殊な書き方は名称を知らないとなかなかggってもヒットしなくて困りました

9 :デフォルトの名無しさん:2013/03/24(日) 07:26:15.69
for文で、ループの継続条件が省略された場合は、常にループを継続
for(;;) {...} は while(true) {...} と同じ

10 :デフォルトの名無しさん:2013/03/24(日) 07:30:50.42
>>9
どうもです
ちなみにforで書く場合とwhileで書く場合とでは何か違ってくるのですか?何かを意識した書き方とかあるのかな

11 :デフォルトの名無しさん:2013/03/24(日) 08:08:22.10
それを話し始めると不毛な論争に突入する的なもの
ちなみに俺は while(true) 派

12 :デフォルトの名無しさん:2013/03/24(日) 08:58:50.79
SoundAPIについて質問なのですが、ShotMessage.NOTE_ONを送信して1秒音を鳴らしたい場合、どのように書くのが普通ですか?
例えば

receiver.send(new ShortMessage(ShortMessage.NOTE_ON, 0, 60, 120), -1);
Thread.sleep(1000);
receiver.send(new ShortMessage(ShortMessage.NOTE_ON, 0, 60, 0), -1);

のように、ドの音をベロシティ120で送信し、Threadを1秒sleepさせ、その後ベロシティ0で再度送信する書き方をネットで見つけたのですが、このような書き方が普通なのですか?
これじゃ音はならないにせよドの音がベロシティ0で鳴り続けているような気がします・・・。
「何秒間鳴らす」をしたい場合、精度と処理速度を考えるとどのように書くべきなのでしょうか

13 :デフォルトの名無しさん:2013/03/24(日) 10:51:59.22
0HzなPCM音もヴェロシティゼロなMIDI音も、音圧ゼロと同じ事だと思うんだが

14 :デフォルトの名無しさん:2013/03/24(日) 10:57:25.75
>>13
音が鳴らないという点で同じであって他は違うんじゃ?

15 :デフォルトの名無しさん:2013/03/24(日) 11:04:15.73
AC'97チップやHD Audioチップにバックグラウンドで音波データ流し込んでいる
ソフトシンセか何かがVM内かドライバ内にいるんだろうが、気に病むことはない。

それでも心配なら外付けMIDI音源買おう。

16 :デフォルトの名無しさん:2013/03/24(日) 11:18:28.16
>>12
ベロシティゼロのノートオンはノートオフと同じ扱いと聞いた覚えがあるけれど
気になるならノートオフを送ればいいんじゃない
精度とかは送るタイミングを自分でうまいこと調整するしかない

17 :デフォルトの名無しさん:2013/03/24(日) 11:21:01.83
>>16
了解しました

18 :デフォルトの名無しさん:2013/03/24(日) 12:48:55.31
JAVAは、本買ってさらっとしか勉強しなかったんですが。
あらためて質問さして下さい。
以下のようなソース
public class Test01 {
public static void main(String[] args) {
byte b1 = 1;
byte b2 = 2;
コンパイルエラー // byte b3 = b1 *b2;
byte b3 = (byte) (b1 * b2);
System.out.print(b3);
}}
で、b1*b2がint型で返すという事ですが
となるとJAVAのメモリーレイアウトは、4バイトで
char,boolean,byte,shortは、それぞれ4バイトの領域をメモリー上にもっている
と思って良いですか?
どなたか、ご教示を。

19 :デフォルトの名無しさん:2013/03/24(日) 12:50:20.31
違う。演算が4バイトに昇格されて行われる場合があるだけ。

20 :デフォルトの名無しさん:2013/03/24(日) 13:22:31.73
馬鹿だけど自信満々

21 :デフォルトの名無しさん:2013/03/24(日) 15:29:26.32
>>6
javacとed使ってろ。

22 :デフォルトの名無しさん:2013/03/24(日) 17:12:40.06
>>10
1兆回ループ回したらwhile(true)のが0.13秒早かった

23 :デフォルトの名無しさん:2013/03/24(日) 18:54:58.20
>>10
for自体がwhileのよくあるパターンを構文化しただけじゃないの。そのパターンに当てはまらない無限ループはwhileの方が読み易いと思う。

24 :デフォルトの名無しさん:2013/03/24(日) 19:01:41.33
for文は配列専用
while文はList専用

と使い分けている

25 :デフォルトの名無しさん:2013/03/24(日) 19:11:19.30
その使い分けの意図はよく解らない。

26 :デフォルトの名無しさん:2013/03/24(日) 19:19:11.51
昔から配列操作といえばfor文だったから
初期化子が中にあるというのが

ただしfor(:)の場合は例外

27 :デフォルトの名無しさん:2013/03/24(日) 19:20:50.20
反復回数が一定の処理ならfor文のほうがパッと見でソースが分かりやすい
反復子?って奴の変化が単調ならfor文、ループ内の処理次第で変わるならwhile

28 :デフォルトの名無しさん:2013/03/24(日) 19:21:27.25
>>24
iteratorの糖衣構文はforでしか使えないよなぁ。

29 :デフォルトの名無しさん:2013/03/24(日) 19:36:11.65
くだらんこといってないでruby勉強しろ

30 :デフォルトの名無しさん:2013/03/24(日) 19:46:00.45
はいはいrubyruby

31 :デフォルトの名無しさん:2013/03/24(日) 19:56:55.80
forを使った方が反復子のスコープが小さいというのはある。

Iretator<String> i = list.iterator();
while(i.hasNext()){...}



for(Iretator<String> i = list.iterator(); i.haxNext();) {...}

ではiのスコープがループの外に出ないのでforの方が良いという場合はある。

32 :デフォルトの名無しさん:2013/03/24(日) 20:11:55.74
馬鹿には無理

33 :デフォルトの名無しさん:2013/03/24(日) 20:47:35.57
>>31
java6からだっけ、foreach使えるようになったらイテレータとか使わなくなった

34 :デフォルトの名無しさん:2013/03/24(日) 22:09:54.96
remove使う場合など反復子そのものに用事があるときはforの糖衣構文ではなく
whileとか使う必要がある。

35 :デフォルトの名無しさん:2013/03/24(日) 22:44:52.40
ループ条件に定数式使っただけで警告をもりもり吐く
お節介な「品質向上システム」とかがあってだな・・・

36 :デフォルトの名無しさん:2013/03/24(日) 23:36:08.36
>>31
独習JavaだかEssential Javaだかにそんなことが載っていたような気がする

37 :デフォルトの名無しさん:2013/03/25(月) 02:01:09.61
Iteratorや糖衣構文のfor-eachは使うには便利だが、
自前で実装するとなると面倒臭い。

hasNext()でカーソル進めて、
next()でカーソルが指すオブジェクトを取得。

の方がずっと楽なのに、なんであんな仕様なんだ?

38 :デフォルトの名無しさん:2013/03/25(月) 02:03:27.80
Iteratorパターンってもともとそういうもんでしょ
わざとクラスを分割しているんだと

39 :デフォルトの名無しさん:2013/03/25(月) 02:09:55.64
ListIteratorつかって

List#get(nextIndex())

40 :デフォルトの名無しさん:2013/03/25(月) 02:55:26.55
>>39
配列や線形リストのIteratorなら自作でも割と簡単。

hasNext()で次のデータがあるか調べる(内部状態は変化しない)、
next()でデータを返す+カーソルを進める(データを返しつつ、内部状態も変化させる、だがremove()のために返したデータは記憶しておく)
っていうJavaのIteratorの仕様だと、

例えば、親ディレクトリを指定して、サブディレクトリを含む全ファイルを1つずつ返すIterator
なんてのを作るのがクソ面倒臭いのよ。

41 :デフォルトの名無しさん:2013/03/25(月) 06:44:21.10
あまり難しい話は禁止ね
やめなさい

42 :デフォルトの名無しさん:2013/03/25(月) 08:33:44.98
>>40
そもそも、Genericsの仕様が難儀だからなあ
Genericsを意識しなかったら簡単につくたりして

43 :デフォルトの名無しさん:2013/03/25(月) 09:05:16.73
ArrayListのlistiteratorかiteratorでremoveがunsupportedで驚いた覚えが。
LinkedListを使えば良かったけど。

44 :デフォルトの名無しさん:2013/03/25(月) 13:53:11.13
>>40
commonsかどっかに、子Iteratorを連結するIterator実装があったよ

45 :デフォルトの名無しさん:2013/03/25(月) 17:17:56.65
ここしばらくUpdateが無いな。

46 :デフォルトの名無しさん:2013/03/25(月) 17:19:28.30
おまえ干されてるんだよw

47 :デフォルトの名無しさん:2013/03/25(月) 17:32:14.24
えっ?
ジャバってオワコンなんでしょ!?

48 :デフォルトの名無しさん:2013/03/25(月) 18:03:46.96
EZアプリ(J)を作るよ!

49 :デフォルトの名無しさん:2013/03/25(月) 20:00:04.32
      ∧_∧
     ( ´∀` )  ところでこのゴミ、どこに捨てたらいい?
     /⌒   `ヽ
    / /    ノ.\_M
    ( /ヽ   |\___E)
    \ /   |   /  \
      (   _ノ |  / ウワァァン ヽ
      |   / /  |ヽ(`Д´)ノ|
      |  / /  ヽ( C++)ノ
      (  ) )     ̄ ̄ ̄
      | | /
      | | |.
     / |\ \
     ∠/

50 :デフォルトの名無しさん:2013/03/26(火) 00:11:29.24
>>49
まあゴミというな
JVMとOSを作ってくれる奴なんだから
それ以外はほとんどゴミだが

51 :デフォルトの名無しさん:2013/03/26(火) 02:13:45.19
クラスClassA のメンバ関数 func()内で new した配列の寿命についてお聞きしたいです。

class ClassA {
 int[] func() {
  int[] retArray = new int[10];
  return retArray;
 }
}
class ClassATest {
 public static void main(String[] args) {
  ClassA classA = new ClassA();
  int[] array = classA.func();
  System.out.println( array.length );
 }
}

ClassAの func() 内で newした int型配列retArrayを、ClassATest内のarray に返すものですが、この場合
ClassAの retArrayはプログラム終了までメモリ開放されないのでしょうか?
初歩的な質問で申し訳ありませんが、よろしくお願いします。

52 :デフォルトの名無しさん:2013/03/26(火) 02:55:05.82
プログラム終了というのが何を指すかが微妙だが、だいたいあってる。
変数が勝手によく分からないものを参照したり null になったりなどはしない。

53 :デフォルトの名無しさん:2013/03/26(火) 03:00:10.64
>>50
コンパイラ、もだね

54 :デフォルトの名無しさん:2013/03/26(火) 03:03:11.83
>>51
補足
メモリが開放されないのかどうか危惧しているなら、
おおよそ、どのスレッドからもアクセスできなくなったオブジェクトは
そのうち、適当なタイミングで勝手に回収してくれる。

55 :デフォルトの名無しさん:2013/03/26(火) 04:12:21.18
そういうときは弱参照!

56 :51:2013/03/26(火) 05:07:38.50
JVMが見張ってくれるということですか?
呼び出し関数内で宣言した変数が、呼び出し元から参照できるのが不思議だったので質問させていただきました。
ということは、>>51のfunc()のような関数をポンポン作ってたらメモリたくさん食べちゃうと思うんですが、
こういう書き方は改めたほうがいいのでしょうか。

57 :デフォルトの名無しさん:2013/03/26(火) 05:49:37.01
>こういう書き方は改めたほうがいいのでしょうか。

いや全然。気にする必要無し。
初めのうちはしたいことを簡潔かつ素直に書くことを心がけていれば大抵は速いし
メモリにも優しい。メモリリークを心配するのはその後でも良い。

実際この程度の関数の是非を云々することで解決するメモリリークはあまり無い。

58 :51:2013/03/26(火) 07:11:28.63
わかりました。ちょっと心配になって手が止まってたので、アドバイス頂けてよかったです。
簡潔かつ素直にを心がけたいと思います。
>>54,>>55,>>57
ありがとうございましたmm

59 :デフォルトの名無しさん:2013/03/28(木) 04:42:34.63
JDO,JPAって何が違うの?

60 :デフォルトの名無しさん:2013/03/28(木) 09:38:48.49
AWTとSwingくらいの違い。

61 :デフォルトの名無しさん:2013/03/28(木) 09:52:06.74
なーんだ
大した違いじゃないね

62 :デフォルトの名無しさん:2013/03/28(木) 14:41:05.42
就活のときの玉手箱ってJAVAで動いてるけどマウスのクリックとかキーボードで他の操作してるのって分かるの?

63 :デフォルトの名無しさん:2013/03/28(木) 16:01:44.41
フォーカスが移ってるか、マウスがウィンドウ上に無いとイベントは取れないはず
昔、コンソール情報出しながらWebテストしてたらヌルポ発生しててびびった覚えが

64 :デフォルトの名無しさん:2013/03/28(木) 17:53:32.50
2つのListからintersectionをとりたいのですが
Stringのリストの場合は下記のようにすればいいのかと思うんですが

List<String> List1;
List<String> List2;

List1.retainAll(List2);

下のようなクラスを作って、key1とkey2を使い分けて intersectionなどを取りたい場合はどうやればいいんでしょうか?

public static class MyClass {
public String key1;
public String key2;
};

List<MyClass> MyClassList1;
List<MyClass> MyClassList2;

65 :デフォルトの名無しさん:2013/03/28(木) 20:48:45.97
>>64
まずリストは忘れろ
hashCode と equalsについて学べ
わからなかったらEffectove Java買え

66 :デフォルトの名無しさん:2013/03/29(金) 01:49:50.51
hashCode()とか関係なくね?
key1とkey2を必ずString#intern()通した値にしとけば
問題なくretainAll()出来る、はず。

67 :デフォルトの名無しさん:2013/03/29(金) 01:53:11.79
う、やっぱりequals()のオーバーライドも必要だは

68 :デフォルトの名無しさん:2013/03/29(金) 01:54:33.62
でしょでしょ

69 :デフォルトの名無しさん:2013/03/29(金) 02:34:13.02
>>64
2つのListのintersectionをとりたいのか
2つの各Listの中にある文字列の各1文字のintersectionをとりたいのかはっきりしないな
もしそれが文字だけのものなら、正規表現でどうにかなるって話になる

70 :デフォルトの名無しさん:2013/03/29(金) 02:34:51.74
EqualsBuilder
HashCodeBuilder
ですべて解決

71 :デフォルトの名無しさん:2013/03/29(金) 03:52:21.20
>>69
正規表現?どういうこと?

72 :デフォルトの名無しさん:2013/03/29(金) 07:39:33.44
>>64 です
やりたいことは2つの集合からキーを使い分けて intersection などを取りたいのです
キーはString以外にもDateやIntなどを使いたいので正規表現等ではなくretainall を使う方法になるかと思います
equalsをオーバーライドすればいいのかとも思ったんですが書き方がよく分からなくて質問しました
for文で回せば可能でしょうがこれだと遅くなりますよね?

73 :デフォルトの名無しさん:2013/03/29(金) 07:42:33.81
リストならバイナリサーチでも出来るようにしておかない限り
実質for文でぶん回すしかないだろ

74 :デフォルトの名無しさん:2013/03/29(金) 07:52:13.95
まずequals・hashCodeのオーバーライドで解決するのはこの例の場合不適だと思う。

例えば>>64の例でkey1だけを使ってequalsを評価したりハッシュ値を生成するように
オーバーライドしても、結局はkey1だけを使ってしか比較が出来なくなる。

64がやりたいのはある時はkey1同士を比較してintersection、別の時はkey2同士、
あるいはlist1のkey1とlist2のkey2を比較して、といった使い分けだとエスパー。
かりにそうだとしたら比較に使うフィールドが静的に決まってしまうequals等々の
オーバーライドは適当じゃない。

では何が適当かというと・・・forのぶん回し?

75 :デフォルトの名無しさん:2013/03/29(金) 08:34:20.98
>>64 です
とりあえずこんな方法にいきつきました
1, まず使いたいキーのデータだけをそれぞれの集合から抽出
2, それのintersectionをとる
3, そのキーを持つものを元の集合から抽出

List<MyClass> MyClassList1;
List<MyClass> MyClassList2;

List<String> List1_Key1 = new ArrayList<String>();
List<String> List2_Key1 = new ArrayList<String>();

for (MyClass obj: MyClassList1) List1_Key1.add(obj.key1); // 1
for (MyClass obj: MyClassList2) List2_Key1.add(obj.key1);

List1_Key1.retainAll(List2_Key1); // 2

List<MyClass> result = new ArrayList<MyClass>();

for (MyClass obj: MyClassList1) { // 3
if (List1_Key1.indexOf(obj.key1) != -1) result.add(obj);
}

for文をネストするよりは速いでしょうか?
使いたいキーの数だけMyClassを継承してそれぞれにequalsを作ったほうがいいのでしょうか?

76 :デフォルトの名無しさん:2013/03/29(金) 10:01:50.65
indexOf()も中では結局equals()頼りだからなあ。

ratailAll()を高速化するためには
・1番目のリストのremove()高速化
・2番目のリストのcontains()高速化
が必要。

まずremove()される方のリストはArrayListやめてLinkedListにしよう。

2番目のリスト、ListでなくSetでもいいんだよね?HashSetとか。
TreeSetなら後付けでComaparatorも差し替えられるのでエスパー案件もおっけ

77 :デフォルトの名無しさん:2013/03/30(土) 17:11:39.41
マルチスレッド初心者です。

Aというメソッドを実行し続けるスレッドと、Bというメソッドを実行し続けるスレッドを起動させたとき、必ずA→Bという順序でメソッドを実行させられるように制御したい。

www.dotup.org/uploda/www.dotup.org4085924.zip.html
上記にうpした通りの3ファイルで書いてみたが、処理が途中で止まることがあるようで、どうも不安定であります。

この場合、最もスマートな書き方はどんな感じなのでしょう。

78 :デフォルトの名無しさん:2013/03/30(土) 18:44:35.04
単純にひとつのスレッドでA→Bと呼べばいいんじゃね
まぁrestartとwaitの間にrestartが呼ばれる競合状態があるんだろう
こんな感じでいいんじゃない
boolean restarted;
synchronized void restart() {
restarted = true;
notify();
}
synchronized void waitMethodA() {
while (restarted == false) {
wait();
}
restarted = false;
}

79 :デフォルトの名無しさん:2013/03/30(土) 19:47:36.77
>>78
ご丁寧にどうも。

今回は単純化したんだけど、最終的には、スレッドAでデータ取得、スレッドBで保存みたいなことをしたいので、スレッドは別にした方が良いのではないか…と考えています。

A、Bそれぞれのクラスに教えていただいたコードを加えたところ、上手くいきました。ありがとうございます。
しかし、動作がイメージし難いため、なかなか理解が深まりません…

80 :デフォルトの名無しさん:2013/03/30(土) 20:09:25.41
volatile boolean もしくは AtomicBoolean を推奨

81 :デフォルトの名無しさん:2013/03/30(土) 20:27:52.58
>>79
スレッドがどう切り替わっても平気なように書かないとだめ
元のプログラムの場合
↓A.run
 ↓B.run
↓this.methodA()
 ↓this.waitMethodB()
↓b.restart()
 ↓this.methodB()
 ↓a.restart()
 ↓this.waitMethodB()
↓this.waitMethodA()
みたいになると止まる

82 :デフォルトの名無しさん:2013/03/30(土) 20:32:15.62
>>79
A, B 同時に開始させて B には頭にwaitを入れる、ていう方針はどうでしょう?
A, B 同時スタートっていうのはセマフォのいい課題だからどこぞに転がってそうですね

83 :デフォルトの名無しさん:2013/03/30(土) 20:34:58.74
SynchronousQueue 使ってデータ受け渡せば、何も考えなくていいから楽だな

84 :デフォルトの名無しさん:2013/03/30(土) 21:01:03.47
>>80
ありがとうございます。
しかし未知の世界だ…
とりあえず、'volatile boolean restarted'とでもしておけば安心なのかしら。
もう少しkwsk教えていただければ幸いです。

>>81
なるほど、片方のスレッドのサイクルがずれてしまって、デッドロックに陥るってことですね。

>>82
同時ってのは考えてなかったですねぇ…
しかし、同時にスタートできても、徐々にずれてしまって、>>81氏の言われるようになるのでは!?

85 :デフォルトの名無しさん:2013/03/30(土) 22:20:59.47
>>49

86 :デフォルトの名無しさん:2013/03/31(日) 01:34:24.23
> 最終的には、スレッドAでデータ取得、スレッドBで保存みたいなことをしたいので
素直にBlockingQueueを使ってデータを受け渡ししよう。

87 :デフォルトの名無しさん:2013/03/31(日) 22:21:25.08
>>83, >>86
サンクス

88 :デフォルトの名無しさん:2013/04/01(月) 17:42:34.77
static なクラスを、いくつかのスレッドからアクセスしています。
非常に頻繁なアクセスです。

この場合、static なクラスの関数処理が終わる前に別のスレッドがアクセスした場合、
static なクラスの内部にある変数は上書きされるものでしょうか?

それとも別メモリ空間で処理が行われる?

89 :デフォルトの名無しさん:2013/04/01(月) 18:00:00.19
> staticなクラスの内部にある変数

これの意味が曖昧なので答えは二通りになる。

・クラスのstaticなメンバフィールド -> 全てのスレッドで共有される
・クラスのメソッドの内部で宣言された変数 -> スレッド毎に確保される

90 :デフォルトの名無しさん:2013/04/01(月) 18:37:53.69
同じstaticメンバなのに、コア間で値が違うとか、普通にありえる。
double値の下半分だけ共有で上半分が別の値とかもありうる。

91 :デフォルトの名無しさん:2013/04/01(月) 20:36:47.13
はじめまして。このたび晴れてSE見習いになりました吉野と申します
会社の研修でJavaを覚えさせられることになったので先回りして勉強しようと思ったのですが
取り組もうとした矢先、いったいどうやってJavaを作るのか?というところで分からなくなりました
インストールの仕方や基本的な操作を教えていただけるとうれしいのですが、どなたかお教えいただけないでしょうか?

92 :デフォルトの名無しさん:2013/04/01(月) 20:45:38.99
※ただし有料に限る

93 :デフォルトの名無しさん:2013/04/01(月) 20:54:34.36
いくら出すんですか?

94 :デフォルトの名無しさん:2013/04/01(月) 21:00:47.67
>>91
jdkをインストールして
ソースコードを書いて
ソースコードをjavacでコンパイルして
コンパイルしたものをjavaで実行

Java SE Downloads
www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

95 :デフォルトの名無しさん:2013/04/01(月) 21:07:32.42
Javaを作るってコンパイラ?VM?

96 :デフォルトの名無しさん:2013/04/01(月) 21:20:16.43
>>91
本屋にいけ、本屋にいってなにもできなかったら進路についてもう一度再考したほうがいい

97 :デフォルトの名無しさん:2013/04/01(月) 21:31:37.23
>>88
>非常に頻繁なアクセス
どうせ1秒間に数百回程度なんだろ?

98 :デフォルトの名無しさん:2013/04/01(月) 21:40:27.87
>>91
EclipseかNetBeansをインストールするところから始めよう。
これらはIDE(統合開発環境)というものです。

ダウンロードやインストール方法はググれば出てくるよ。

99 :デフォルトの名無しさん:2013/04/01(月) 21:54:08.49
自己顕示欲を満たす為だけに回答した無料レスだから
価値はない

100 :デフォルトの名無しさん:2013/04/01(月) 23:03:26.39
>>94,98
ありがとうございます
明日会社のPCにソフトをインストールしたいと思います

>>96
新卒で入社後すぐの再就職は難しいといわれました
最低3年は勤めてから考えたいと思います

101 :デフォルトの名無しさん:2013/04/01(月) 23:52:32.40
まず、最低でも半年ですよ

102 :デフォルトの名無しさん:2013/04/02(火) 01:06:24.38
>>97
平均6msの間に平均526回呼び出してます

103 :デフォルトの名無しさん:2013/04/02(火) 01:23:21.45
>>102
自己レス

平均6msかかっていますが、これを3ms程度に下げたいと考えています。
平均はラップタイムでなく、総合タイムから回数を割っています。
そもそも、System.currentTimeMillis() の最小値が16msや15msと0msなので、
これを加算してもどうかと思うからです。

なんで14msや8msのような数字が出ないのか良く分かりませんが、
多分最適化の影響かなにかなんでしょう。

コーディングの最適化はそろそろ、打ち止めです。
頻繁にアクセスするクラスは、毎回インスタンス化せずに、起動時に作成したものを使いまわしています。
変数も配列になるものはNewして使いまわしています。

で、static化できる変数、クラスに手をつけようと思った次第です。

104 :キョロ作:2013/04/02(火) 01:56:14.16 ?2BP(0)
>>91
というか、わざわざこんなとこ来なくても、分かりやすい個人のサイトとかがあると思うんだがw

105 :デフォルトの名無しさん:2013/04/02(火) 02:20:20.65
>>91
検索エンジンGoogle
http://google.co.jp
このサイトにアクセスして調べたいことを日本語の単語をスペースで区切って
入力して検索ボタンを押すと、調べたいホームページがでて来る。例えば「JAVA インストール」とか。

106 :デフォルトの名無しさん:2013/04/02(火) 03:06:24.74
自己解決しました

107 :デフォルトの名無しさん:2013/04/02(火) 05:14:03.98
ここは初心者が質問していいんですかね

108 :デフォルトの名無しさん:2013/04/02(火) 07:13:56.26
Javaの初心者はいいけど質問の仕方が初心者なのはデコピンくらうんじゃない?

109 :デフォルトの名無しさん:2013/04/02(火) 12:02:20.97
>>91>>100は無能な働き者。

110 :デフォルトの名無しさん:2013/04/02(火) 12:24:52.44
Java7の日本語ドキュメントが存在しない件について、
Oracleの中の人のアナウンスとかってあります?
どこかで金かかりすぎるから稟議通らなかったみたいなのを読んだ記憶があるんだけど
どこで読んだのか誰が発言したのか思い出せない

111 :デフォルトの名無しさん:2013/04/02(火) 12:33:18.00
>>100
入社後すぐSE...唖然
プログラム経験無しでSE...唖然
今はこうなのか? 馬鹿グラマーが増えるわけだ

112 :デフォルトの名無しさん:2013/04/02(火) 12:34:44.05
>>110
翻訳に4000万だか7000万だかがかかるって事がわかったのでやめたってさ
信じられるか?

113 :デフォルトの名無しさん:2013/04/02(火) 12:40:10.95
>>47

114 :デフォルトの名無しさん:2013/04/02(火) 13:25:47.71
>>111
元のレスを良く読めよ。
SE見習いと書いてあるだろ。

115 :デフォルトの名無しさん:2013/04/02(火) 13:37:37.02
Java7の標準ライブラリってGPLベースのライセンスだよね?
javadocを勝手に翻訳して、sourceforgeとかでGPLとして公開するのはOKなのかな。

116 :デフォルトの名無しさん:2013/04/02(火) 14:04:07.00
>>114
「SE見習い」ということは営業や事務じゃなく、技術職として採用されたってことだろ。
新人営業職ですがプログラムの基本は解ります、ってな研修方針なら大変素晴らしいが…。

学生時代に開発環境も入れたことがない、マリオ作ろうとして挫折したこともないような奴が、
何ヶ月後かには現場に来るんだぞ?

……エイプリルフールであることを願うわ。

117 :デフォルトの名無しさん:2013/04/02(火) 14:11:51.62
>>112
たしかそんな話だったよね
それのソースが知りたいんだ

118 :デフォルトの名無しさん:2013/04/02(火) 14:37:17.13
>>116
マ板にすっこんでろよ文盲w

119 :デフォルトの名無しさん:2013/04/02(火) 15:29:41.89
>>116
こういう人を育てないやつが社会をダメにしていくんだよ。
完璧な人間以外仕事をさせない( ー`дー´)キリッとか言って。

120 :デフォルトの名無しさん:2013/04/02(火) 15:47:04.34
完璧な人間は、いないけど、
完璧な仕事ならあるかもしれない。

121 :デフォルトの名無しさん:2013/04/02(火) 15:57:53.00
Java初心者ですが完璧な仕事がどういうものなのかわかりません

122 :デフォルトの名無しさん:2013/04/02(火) 16:32:44.16
ぬるぽ

123 :デフォルトの名無しさん:2013/04/02(火) 17:38:22.50
SE見習いって言ったって、
今の時代SEとPGの境なんてはっきりしないと思うんだが。
俺は中小企業勤めだがここ10年、周りに
設計書を書いたことがなくてプログラミングだけ、
という人は聞いたことない。

SEだってコーディングするし、PGだって設計するべ。

124 :デフォルトの名無しさん:2013/04/02(火) 18:04:30.25
 
       ∧_∧      ガッ
     (,, ・∀・)  人
      (⊃  .(⌒).<  >_∧∩
      (__ノ⌒ ̄  V`Д´)/
    彡           / ←>>122

125 :デフォルトの名無しさん:2013/04/02(火) 21:19:15.97
java jdkはyumで一発インストールできないんですか?

126 :デフォルトの名無しさん:2013/04/02(火) 21:41:11.39
>>125
Oracle JDKはないだろうけどOpenJDKならあるんじゃないか
yum search jdk
で探しなよ

127 :デフォルトの名無しさん:2013/04/03(水) 08:58:46.40
上級プログラミングが出来ないSEはありえない
プログラマー⇒スーパープログラマ⇒客との折衝が出来るようになる⇒SE見習い⇒営業経験⇒SE

128 :デフォルトの名無しさん:2013/04/03(水) 15:11:21.76
javaなのに上級w

129 :デフォルトの名無しさん:2013/04/03(水) 15:16:22.24
Java初心者ですが上級プログラミングとはどういうものなのか教えていただけませんか

130 :デフォルトの名無しさん:2013/04/03(水) 15:29:56.49
>>129
麻雀が1人で書けること

131 :デフォルトの名無しさん:2013/04/03(水) 16:04:07.11
Prolog使え

132 :デフォルトの名無しさん:2013/04/03(水) 16:19:09.23
>>129
リリース後のバグが皆無
コーディングが人の3〜5倍の速度
お客さんが指名してくる
内容以前の必須条件

133 :デフォルトの名無しさん:2013/04/03(水) 18:55:26.17
javaの案件なんてDB読んでちょいちょいと計算して出力するだけなんだからバグがあったら入院するレベルの馬鹿

134 :デフォルトの名無しさん:2013/04/03(水) 20:23:27.20
>>127
プログラマー⇒スーパープログラマ⇒(ここで止めたい)⇒客との折衝が出来るようになる⇒SE見習い⇒営業経験⇒SE

どうすればいいでしょうか?
僕は営業とかやりたくありません臭いおじさんにヘコヘコするのはいやです
プログラムを書くのが楽しいのです

135 :デフォルトの名無しさん:2013/04/03(水) 20:32:08.37
Javaやめてweb系行け

136 :デフォルトの名無しさん:2013/04/03(水) 20:33:33.58
>>134

127じゃないけど、
>客との折衝が出来るようになる
って真っ当なことを書いてる。

プログラムを「職業」で書くってのは、
人の話を良く聞いてその内容を十分頭の中で構造化することなんだよ。

そうでなけりゃ
スパーハカーどころか
スパープログラマにすらなれんよ。

137 :デフォルトの名無しさん:2013/04/03(水) 20:35:14.37
僕も仕事を投げるだけのクズの下で働きたくないです
日本には多重下請け禁止法が必要だと思います

138 :デフォルトの名無しさん:2013/04/03(水) 20:39:01.08
意味わからん
全部一人で作れるんなら一人でやりゃいいだろ?
それができない規模なんだったら全部自社で作ろうが結局は設計が歯車に投げる格好になるよ

139 :デフォルトの名無しさん:2013/04/03(水) 23:02:42.46
それ以前に、与信がとおらんぜよ

140 :デフォルトの名無しさん:2013/04/03(水) 23:08:17.35
>>134>>137
他人をダメって言ってる時点で自分がダメだっていうことに気づけ
考えが甘い
ゆとりか?

141 :デフォルトの名無しさん:2013/04/03(水) 23:10:39.61
お前ら全員プログラマ板行けよ、な?

142 :デフォルトの名無しさん:2013/04/04(木) 03:02:13.68
>>127
経営視点で言わせてもらうと、そんなコストかかって替えの効かない奴はいらない。
それぞれの技術しかないやつを安価でやとって組み合わせることで利益をあげる。

>>129
保守にコストがかからないプログラムをできるやつのこと。

143 :デフォルトの名無しさん:2013/04/04(木) 09:36:07.20
>>142
夢がない経営者だな

144 :デフォルトの名無しさん:2013/04/04(木) 14:20:54.74
javaかCか始めてみようと思うんだがどっちが簡単かつ高機能なんだ?

145 :デフォルトの名無しさん:2013/04/04(木) 14:58:02.61
馬鹿には無理
君にも無理

146 :デフォルトの名無しさん:2013/04/04(木) 17:21:24.71
Cがいい。Javaがすき。Rubyは楽だ

147 :デフォルトの名無しさん:2013/04/04(木) 19:12:54.23
>>144
Java。
組み込みとかデバイスドライバーを
職業的にする予定がないなら
Cなんてとんでもない。
学習にも不向き。

148 :デフォルトの名無しさん:2013/04/04(木) 20:06:29.46
java jdk7 をインストールしたのですがコマンドプロンプトでjavacとしてもコマンドが見つからないと言われてしまいます
いったいどうすればいいんでしょうか?

149 :デフォルトの名無しさん:2013/04/04(木) 20:19:23.19
>>148
PATHという環境変数にjavacの場所を追加すればいい
こんな感じで

Java SE 7u4 のダウンロードとインストールとテスト実行 (javac を動かしてみる)
www.kkaneko.com/rinkou/javaintro/javac.html#1

javacの場所はjdkのバージョンによって変わるから適宜変えて

150 :デフォルトの名無しさん:2013/04/04(木) 21:44:37.26
>>148
javacとか打ってないで、Eclipseインストールした方が簡単でいいって。
ここにあるから。
http://mergedoc.sourceforge.jp/

151 :デフォルトの名無しさん:2013/04/04(木) 21:57:48.94
>>143
優秀なやつを高く雇って薄い利益を得るより、安いやつをうまく使って大きな利益をあげる方が夢があると思うぞ。

152 :デフォルトの名無しさん:2013/04/04(木) 22:47:33.20
それは、悪魔のささやき
人材は、財産

153 :デフォルトの名無しさん:2013/04/05(金) 01:50:14.12
>>151
経営に不向きな性格だなw

馬鹿5人より、年収3000万クラスを1人の方が安いんだぜ

154 :デフォルトの名無しさん:2013/04/05(金) 02:12:35.94
java関係ないから経営学板で好きなだけやって
http://toro.2ch.net/manage/

155 :デフォルトの名無しさん:2013/04/05(金) 02:46:13.99
>>153
お前のような馬鹿ならいくら集めても無駄だろうが、>>142で言っているように特定の技術を持っているやつなんだから、単純計算で5倍。オーバヘッドとマネージャ含めても利益増えるわ。
しかも並列で開発すれば短納になるから、さらに増えるわ。

156 :デフォルトの名無しさん:2013/04/05(金) 02:46:48.54
おっと、更新してなかった。

157 :デフォルトの名無しさん:2013/04/05(金) 03:13:39.49
>>155
お前の人生は「バクチ」そのものだなw

158 :デフォルトの名無しさん:2013/04/05(金) 04:05:07.00
>>157
なぜ自分の力でうまくいかせるのがバクチなのかわからない。
何もせずに人の力のみで稼ぐお前の人生は寄生虫そのものだな。すぐ見捨てられるだろうけど。

159 :デフォルトの名無しさん:2013/04/05(金) 05:08:13.63
>>158
自己紹介乙w

160 :デフォルトの名無しさん:2013/04/05(金) 05:16:19.49
まあまあ。javaなんて単価安い案件ばっかりなんだから喧嘩しないの

161 :デフォルトの名無しさん:2013/04/05(金) 09:26:32.64
プログラミングもまともに出来ない奴がSEか
世も末だな

162 :デフォルトの名無しさん:2013/04/05(金) 09:31:08.86
こんな経営者もどきはそのうち首吊るだろうからほっとけばいいよ

163 :デフォルトの名無しさん:2013/04/05(金) 17:52:48.45
エア会社なんだから好きに経営すればいいよ

164 :デフォルトの名無しさん:2013/04/05(金) 20:39:56.14
適当なカタカナ用語を並べて相手を煙に巻くのが上級SE

165 :デフォルトの名無しさん:2013/04/05(金) 20:42:06.47
>>161
SEはコードかけなくてもいいんだよ。
帳簿読める方が大事。
顧客業務の知識がなければクズ同然。

166 :デフォルトの名無しさん:2013/04/05(金) 21:27:46.02
受託と内製の人たちは頑張れ。そのうちいーこともあるさ

167 :デフォルトの名無しさん:2013/04/05(金) 21:53:49.68
ユーザーがSEとプログラマを社内に取り込んで行かないと

168 :デフォルトの名無しさん:2013/04/06(土) 01:02:19.76
SEにはクラス図くらいわかってほしい。
以前、仕様書と言ってpptもらったんだけど、矢印線とかが枠線で書かれてて修正できるようなものでなかった。。。もちろん内容がない上に矛盾だらけ。

169 :デフォルトの名無しさん:2013/04/06(土) 04:56:05.77
UMLツール何使っている?

170 :デフォルトの名無しさん:2013/04/06(土) 20:15:57.49
dia
そんなに良いとは思えないが、windowsでもLinuxでも使えるし、xmlを直接書き換えるscriptがたくさんあるから。

171 :デフォルトの名無しさん:2013/04/06(土) 22:21:55.23
2つのスレッド上の各メソッドを、確実に"同時に"実行させることは可能?

172 :デフォルトの名無しさん:2013/04/06(土) 22:22:50.46
命令単位ってことか?
不可能

173 :デフォルトの名無しさん:2013/04/06(土) 22:24:34.09
>>172
よく考えれば、スレッドのロックを取れるのは1つのスレッドだけだし当然か…
サンクス!

174 :デフォルトの名無しさん:2013/04/07(日) 02:28:16.62
>>173
ロックは関係無いぞ

175 :デフォルトの名無しさん:2013/04/07(日) 03:07:19.90
notifyAll()で同時に目覚める複数スレッドが
parallelなのかconcurrentなのかは
誰にも解らん

176 :デフォルトの名無しさん:2013/04/07(日) 03:54:20.08
>>175
>notifyAll()で同時に目覚める複数スレッドが
>parallelなのかconcurrentなのか
並列と並行の違いがnotifyallと
どう関係するのか説明よろ

177 :デフォルトの名無しさん:2013/04/07(日) 06:39:04.57
質問です。オブジェクトの開放のタイミングがイマイチよくわかりません。

public class B{

}

public class A{
private B b = new B();

public static void main(){

}

}

上のような関係になっている場合
bはA自体が開放されないと開放されないのでしょうか?
出来ればAの中でbだけを開放したり
新たに確保したりしたいのですが…

178 :177:2013/04/07(日) 06:52:39.62
Aのmain()の中とかで
B b2 = new B();
b = b2;
とかしたら元々bにあったインスタンスは
CGの破棄対象になりますか?
あとb=null;とかしても?

179 :デフォルトの名無しさん:2013/04/07(日) 09:14:34.25
>>178
yes

180 :デフォルトの名無しさん:2013/04/07(日) 09:15:37.23
>>176
「同時」の意味ってなによ?ってことじゃね?

181 :デフォルトの名無しさん:2013/04/07(日) 10:58:41.73
a.開始のタイミングがcpuクロックレベルで同時(cが前提)→制御は無理
b.片方が待機でない間にももう片方が進む→組み込み系でない限りok
c.プリエンプション無しにcpuクロックレベルで並列に動作→マルチコアcpu/smp使う

182 :デフォルトの名無しさん:2013/04/07(日) 11:02:11.07
>>180
俺は>>176じゃないが、

>>171 > 確実に"同時に"実行させることは可能?
クオート付きで "同時に" って言ってるくらいだから、
各スレッドが最初の命令を、CPUのクロック単位で同時にフェッチできるかって意味だと解釈してみた。

1CPUじゃ時分割されるから原理的に無理だし、マルチコアでもJavaVMじゃ意識できないし、
そもそも現代のCPUでクロックを意識するプログラミングってできるの?

組み込みとかだったら、NOPでタイミングを揃えるとかあるらしいけど。

183 :デフォルトの名無しさん:2013/04/07(日) 14:05:56.81
フェチのタイミングなんて
スーパースカラプロセッサーの
気分次第なんじゃないの?

184 :デフォルトの名無しさん:2013/04/07(日) 15:23:51.54
数百ピコ秒のディレイを詰められないような人材は上流SE失格だから
営業にでも転身したほうがいい

185 :デフォルトの名無しさん:2013/04/07(日) 15:52:04.80
VM上の仮想オブジェで実行時間をうんぬんとか馬鹿じゃない?<C/C++プログラマ

186 :デフォルトの名無しさん:2013/04/07(日) 15:57:46.24
同時に実行したいとか言われた時に、何のためにか聞き出せない時点で失格。
ほぼ間違いなく同時実行が不要な理由。

187 :デフォルトの名無しさん:2013/04/07(日) 16:03:03.03
にほんごでおか

188 :デフォルトの名無しさん:2013/04/07(日) 16:14:21.77
"同時に"実行したいと訊かれた時に、いちいち理由を聞く時点で失格。
ほぼ間違いなく理由は「出来たらきっと面白そうだから」。

189 :デフォルトの名無しさん:2013/04/07(日) 16:34:12.85
>>188
落第点
友達が「磁気テープでソートする方法」を聞いてきて、磁気テープでソートする方法を教えるレベル。

190 :デフォルトの名無しさん:2013/04/07(日) 19:38:45.31
「磁気テープでソート」できるんだ、メモメモ

191 :デフォルトの名無しさん:2013/04/07(日) 19:52:48.05
画像が表示されません。eclipceです。実行時にエラーは無いです。
import javax.swing.*;
import java.awt.*;

public class GUI3 {

public static void main(String[] args) {

JFrame jf1 = new JFrame(); //フレーム作成
jf1.setBounds(100, 100, 300, 250);
jf1.setVisible(true);

ImageIcon im1 = new ImageIcon("aa.gif"); //画像 プログラムと同フォルダ

JLabel jl1 = new JLabel(im1); //画像をラベルに

JPanel jp1 = new JPanel();
jp1.add(jl1); //ラベルをパネルに

jf1.add(jp1); //パネルをフレームに
}
}

192 :デフォルトの名無しさん:2013/04/07(日) 21:16:53.11
>>191
jf1.getContantPane().add(jp1);に変更しないと駄目
あとjf1.setVisible(true);を最後にする
他にも問題はあるけど多分それで動く

193 :デフォルトの名無しさん:2013/04/07(日) 21:56:58.58
>>192
ご返答ありがとうございます。
やってみましたが失敗しました。

194 :デフォルトの名無しさん:2013/04/07(日) 22:01:23.24
バージョンいくつからかは忘れたけど
getContentPane()は不要になったよ

195 :177:2013/04/07(日) 22:42:13.24
>>179
わかりました。ありがとうございました.

196 :デフォルトの名無しさん:2013/04/07(日) 22:59:19.19
○%という表示をさせたいんです。

○の部分は数字ではなくて文字列型の変数です


String.Format("%s%", "999")だとエラーがでます
どうすればいいでしょうか

197 :196:2013/04/07(日) 23:00:45.28
%%でした

自己解決しました

198 :デフォルトの名無しさん:2013/04/07(日) 23:43:20.27
テーブルを自作してます。4列ある空のテーブルに100万行挿入してファイルに出力後、再びテーブルに読み込む処理をしました。
処理が遅いのか早いのかわかりません。ファイルサイズも適当なのかどうか基準がわからないです。

挿入処理:968ms 0s
書き出し処理:5391ms 5s
ファイルサイズ:35388795 byte
読み込み処理:6656ms 6s

こういうデータ処理って何か基準にすべきものがあるんですか?

199 :デフォルトの名無しさん:2013/04/07(日) 23:44:36.88
>>198
要求。

200 :198:2013/04/07(日) 23:44:47.98
100万行ではなく50万行でした。すみません。

201 :198:2013/04/07(日) 23:53:20.26
>>199
ああ、なんとなく納得できました。ありがとうございます。

202 :デフォルトの名無しさん:2013/04/09(火) 22:03:15.02
質問者は自分のプロクラムが顧客にとって
価値の有るものかでなく、
自分のプログラムがおかしな作りを
してないかを気にしているだろうに、
アスぺはこれだこら困る。

203 :デフォルトの名無しさん:2013/04/09(火) 22:16:12.36
そんなんストレージの信頼性、利便性によって全然違うだろう。

204 :デフォルトの名無しさん:2013/04/09(火) 22:16:27.98
こら困ったな。

205 :デフォルトの名無しさん:2013/04/11(木) 03:45:43.72
http://jbbs.livedoor.jp/bbs/read.cgi/internet/17286/1361821799/

206 :デフォルトの名無しさん:2013/04/11(木) 10:23:25.37
【超速報】 Java8、仮想マシンに.NET/Mono採用検討開始 − プログラミング界に激震
http://engawa.2ch.net/test/read.cgi/poverty/1365643043/

207 :デフォルトの名無しさん:2013/04/11(木) 10:34:48.20
なんだその意味不明なスレタイは

208 :デフォルトの名無しさん:2013/04/11(木) 14:12:35.74
IKVMがinterfaceのデフォルトメソッドの試験実装行ったっつーだけの話に見えるが。

209 :デフォルトの名無しさん:2013/04/12(金) 02:12:49.18
XMLの読み込み書き出しにおすすめはどれなん?
XMLStreamReader, XMLEventReader,DocumentBuilder,Transformer, XMLReader,JAXB,JAXBContext,Unmarshaller
なんか色々あってどれ使えばいいのやら・・・他にもあったりするん?

210 :デフォルトの名無しさん:2013/04/12(金) 04:58:56.17
ざっくり分類するなら
・ツリーベース(DOMなど)
・イベントベース・プッシュ系(SAXなど)
・イベントベース・プル系(StAXなど)
・XMLバインディング(JAXBなど)

てなところかなぁ。どれがお薦めかは用途によるので何とも言えない。

XMLのスキーマがきっちり決まっている場合やJava BeansをXMLとして読み書きする場合
などはJAXBなどのXMLバインディングAPI。

スキーマがきっちり決まっていない場合、XMLの中の一部の要素のデータだけを読む場合、
Mixed contentを含むXMLを扱うときはバインディングAPIは不適切。

ツリーベースとイベントベースを比較すると一般論としてはツリーベースのAPIの方が扱い
が直感的で高機能。ただしメモリを食うので巨大なXMLの扱いには向かない。

イベントベースでは一見するとStAXの方が使いやすそうに見えるけど実際使うと案外SAX
と大差はない。複数のXML文書を比較しながら並列で読む場合などはStAXは重宝するけど
それ以外はSAXでもあまり変わらない。

211 :デフォルトの名無しさん:2013/04/12(金) 09:35:53.82
SAXってプルパーサに比べて特にメリット無いよね
プルパーサでSAX的な構造を実現するのも楽勝だしそのままでもSAXより使いやすい

212 :デフォルトの名無しさん:2013/04/12(金) 18:18:18.67
XPath

213 :デフォルトの名無しさん:2013/04/12(金) 18:47:23.39
Javaでの開発現場は、必ずフレームワークを使っているのでしょうか?
単純なJavaの知識だけじゃなく、フレームワークも習得しないと
ダメなのでしょうか。

あと、はじめてフレームワークを勉強するとしたら
どのフレームワークを勉強するべきでしょうか?

質問ばかりですみません。

214 :デフォルトの名無しさん:2013/04/12(金) 19:07:29.94
フレームワークは使わない方がいいよ

215 :デフォルトの名無しさん:2013/04/12(金) 19:37:35.42
どういうフレームワークがあるのか知っていて
使いたくなったら使い方を調べるようにすればいい
習得しても使わなければ時間の無駄

216 :デフォルトの名無しさん:2013/04/12(金) 20:05:56.94
>>210-211
d
巨大なXMLというのはファイルサイズ数GBとかあるとかかな
せいぜい2〜3MBくらいの予定だから高機能というツリーというのを使うよ
ありがとう

217 :デフォルトの名無しさん:2013/04/12(金) 21:56:57.64
xincludeとかスキーマ検証とか、APIによって出来たり出来なかったり

218 :デフォルトの名無しさん:2013/04/13(土) 03:01:40.42
数ギガのXMLファイルってどんなだ?

219 :デフォルトの名無しさん:2013/04/13(土) 03:28:35.28
http://dumps.wikimedia.org/enwiki/20130304/ とか。

220 :デフォルトの名無しさん:2013/04/13(土) 04:32:12.56
.NET ガベージ コレクション ヒープをプロファイリングする
http://msdn.microsoft.com/ja-jp/magazine/ee309515.aspx
>XMLView は、メモリの使用効率を考慮してデザインされているので、数 GB ものサイズの XML ファイルも難なく処理できます


.NETでさえ余裕なのにJavaダメじゃん

221 :デフォルトの名無しさん:2013/04/13(土) 04:56:32.15
仕事でプログラム書いていると「このフレームワーク上で書いてくれ」と言われ、
選択の余地がないことが多いよ

222 :デフォルトの名無しさん:2013/04/13(土) 05:13:15.52
フレームワークは定番を幾つか触っておいた方が良いと思う。

フレームワークにせよライブラリにせよ、色々なAPIを叩いたりそのソースを読んだりした
場数を踏んでいないといざイチから何かを作る際に必要なイディオムや設計パターンの蓄積
が出来ない。
ある程度の規模の開発になれば既成物にせよ内製にせよフレームワーク的なものは大概使う
事になるのだから、フレームワークのAPIの設計パターンや実装パターンは出来る限り知って
おいて損はない。

223 :デフォルトの名無しさん:2013/04/13(土) 08:59:06.88
>>220
.NETのGCは巨大なオブジェクトには弱くて、使い捨ててると落ちたりするけどな
最近修正されたみたいだが

224 :デフォルトの名無しさん:2013/04/13(土) 09:43:00.56
逆方向にXMLをパースするために必要なコンテキストは大した量じゃない

225 :デフォルトの名無しさん:2013/04/13(土) 16:13:10.62
質問させてください!
写真をbitmapとして読み込んでその中の色を16進数で
指定して別の任意の色に置き換える方法はありますでしょうか?

226 :デフォルトの名無しさん:2013/04/13(土) 22:21:26.10
java.awt.image には ColorConvertOp とか RGBImageFilter とかいろいろあるよ

227 :デフォルトの名無しさん:2013/04/13(土) 22:32:34.32
写真を読み込むって話だからjavaからtwain扱えるかってことじゃない?

228 :デフォルトの名無しさん:2013/04/13(土) 22:33:02.43
微妙に板違いかもしれませんが・・・
以下の 1)の意味って
「19が表示された後に20が表示される」
で合ってますか? ちなみに答えは 3)


Question 25)

What will happen if you attempt to compile and run the following code?

Integer ten=new Integer(10);
Long nine=new Long (9);
System.out.println(ten + nine);
int i=1;
System.out.println(i + ten);
1) 19 followed by 20
2) 19 followed by 11
3) Compile time error
4) 10 followed by 1

ソース
http://www.jchq.net/mockexams/exam1.htm

229 :デフォルトの名無しさん:2013/04/13(土) 22:42:08.42
そうだが、ここはfollowed byの意味を
訊くスレではない

230 :デフォルトの名無しさん:2013/04/13(土) 22:46:57.44
>>229
スレチなのに答えてくれてありがとうございます

231 :デフォルトの名無しさん:2013/04/13(土) 23:04:27.13
>>226
ありがとうございますー!!!

232 :デフォルトの名無しさん:2013/04/13(土) 23:34:42.86
>>228
JDK7でコンパイル通ったぞ…

233 :デフォルトの名無しさん:2013/04/13(土) 23:57:47.42
まったく、20世紀の頃は
演算子オーバーロードがどうとか
C++にケンカ売ってたくせに
プライドねーな。

234 :デフォルトの名無しさん:2013/04/14(日) 00:23:44.84
数字計算じゃなくtoString()にして文字列連結的に出力したら許したのに

235 :228:2013/04/14(日) 07:38:41.13
>>232
JDK6でもコンパイル通った・・・
OCJ-P(JDK6)試験用にやってた問題集サイトなんだけど
JDK 1.2がベースだから当てにならないことがわかりました
サンクスです

236 :デフォルトの名無しさん:2013/04/14(日) 08:24:05.81
出来るようになったのは
5のauto boxingからだよ。

237 :228:2013/04/14(日) 08:51:59.92
>>236
なるほど、紫本見たら書いてありました
サンクスです

238 :デフォルトの名無しさん:2013/04/14(日) 10:21:19.54
javaにはvisual studio 2012のような便利なアプリケーションは無いのでしょうか
notepadでは書くのが大変です

239 :デフォルトの名無しさん:2013/04/14(日) 10:23:09.84
eclipseかNetBeans
VS並のを期待してるとがっかりするが

240 :デフォルトの名無しさん:2013/04/16(火) 15:20:12.70
javaのpathを通してコマンドのテストしていたんだが
javaは登録されててjavacは登録されてない摩訶不思議な状況になった
どういうことなの

241 :桃白白:2013/04/16(火) 15:30:34.38
>>240
javacはjdkには含まれるけど、jreには含まれないっすよ。
jreにパス通したんじゃなあい?

242 :デフォルトの名無しさん:2013/04/16(火) 19:38:19.41
>>241
確認してみたらまさにその通りだった
こりゃうっかり

243 :デフォルトの名無しさん:2013/04/17(水) 05:05:28.35
 

244 :デフォルトの名無しさん:2013/04/17(水) 07:48:07.87
Java SE7 Update 21キター

245 :デフォルトの名無しさん:2013/04/17(水) 20:57:38.18
○じゃあのさん劇場○
21時 開演予定(開演時間は遅れる場合があります)

892 名前:以下、名無しにかわりましてVIPがお送りします[] 投稿日:2013/04/17(水) 00:36:28.53 ID:3UTZp96G0
おうwwww俺だwww
なんか、保守デモ関連できな臭い話聞いたんだがよおwww
まだ情報の整理と、関係者からの裏とりはできてねえから公開は今日の21時以降になるwww
ミンスのクソどもも関わったカルト団体に関する情報だwww楽しみになwww
じゃあのwww

--- 以下スレ情報 ---
高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸
http://hayabusa.2ch.net/test/read.cgi/news4vip/1366132575/

246 :デフォルトの名無しさん:2013/04/18(木) 00:11:06.25
デフォルトのエンコードをutf-8にしたいんだけどどうやったらできる?

247 :デフォルトの名無しさん:2013/04/18(木) 00:25:14.30
意味がよくわからないが
JavaのIOは基本的にUTF-8がデフォルトであり変えられないし
charやStringの文字コードはUTF-16でありそれも変えるのは不可能

248 :デフォルトの名無しさん:2013/04/18(木) 00:51:33.63
変えられないのか
コンパイルするときにutf-8でって指定しないとエラーが起こるからutf-8じゃないと思ってた

249 :デフォルトの名無しさん:2013/04/18(木) 00:54:17.86
アホスレ相変わらず質問と回答が噛み合ってないねw

250 :デフォルトの名無しさん:2013/04/18(木) 01:30:37.90
>>248
デフォルトのエンコーディングはこれで確認できる。
System.out.println(System.getProperty("file.encoding"));

環境変数
JAVA_TOOL_OPTIONS

-Dfile.encoding=UTF-8
をセットすればいい。

251 :デフォルトの名無しさん:2013/04/18(木) 01:33:33.33
>>246
file IOのことなら、System.setPropetyとかポリシーファイルとかで変えられなかったっけ。
とりあえず、何のかだ。

252 :デフォルトの名無しさん:2013/04/18(木) 01:57:39.85
>>250
ありがとう、無事にできた

253 :デフォルトの名無しさん:2013/04/19(金) 08:29:51.44
Windows環境でtar.Z形式の圧縮をしたいのですが
Javaだけで可能でしょうか?外部exeなどを使わないと
不可能でしょうか?
もし可能でしたらその方法を教えていただけると助かります。

254 :デフォルトの名無しさん:2013/04/19(金) 09:33:10.95
公開されてるアルゴリズムなら全部自前で実装すりゃ何でも出来るだろ

255 :デフォルトの名無しさん:2013/04/19(金) 09:47:09.48
Java6ってサポート止めたんじゃなかったの?
更新来てるんですけど

256 :デフォルトの名無しさん:2013/04/19(金) 09:47:25.14
>>253
Apache CommonsにCompressというのがあるようだよ。

257 :デフォルトの名無しさん:2013/04/19(金) 09:59:21.21
Chilkat Class Libraries for Java
ってのが.tar.Zを扱えるようだが

258 :デフォルトの名無しさん:2013/04/19(金) 10:10:06.13
>>256, 257
ありがとうございます。試してみます。

259 :デフォルトの名無しさん:2013/04/19(金) 13:16:33.98
>>238
IntelliJもあるよ。

260 :デフォルトの名無しさん:2013/04/21(日) 19:58:45.76
JavaはBOMの付いたUTF-8を扱えないからクソ

261 :デフォルトの名無しさん:2013/04/21(日) 21:17:15.44
Box box = Box.createHorizontalBox();
これを自動改行されるFlowLayoutとかにしたいのですがどうやって書き換えれば良いですか?

262 :デフォルトの名無しさん:2013/04/21(日) 21:17:55.15
またいつも同じこと言ってる人か。
馬鹿は学習できないから馬鹿なんだな。

263 :デフォルトの名無しさん:2013/04/21(日) 21:37:47.54
BOM付きUTFファイル専用のファイルリーダーやライターを作ればいいんじゃね

264 :デフォルトの名無しさん:2013/04/22(月) 15:24:36.00
いろいろ先送りにしたのにそれでもJava8のリリースが遅れるってどれだけやる気ないんでしょうか?

265 :デフォルトの名無しさん:2013/04/22(月) 15:37:42.75
>>262
ばーか、ばーか

266 :デフォルトの名無しさん:2013/04/22(月) 16:12:05.58
さっきからなぜかIEでもChromeでもJavaを使うページを開くと英語でアップデートの
催促が出て、アップデートを押すと「このページは表示できません」のエラーページへ飛ぶ。
催促の内容はあなたのJavaは安全ではないです、とのこと。

何度もアップデートページでダウンロードを押していたら「ガーン」という赤バツのエラー。
これってなんなの。

267 :デフォルトの名無しさん:2013/04/22(月) 19:34:32.26
>>266
JAVA()は使うなってこった
身を持ってべんきょうしたろ?

268 :デフォルトの名無しさん:2013/04/22(月) 19:41:58.69
>>266

俺もだ
トラブルかな。

269 :デフォルトの名無しさん:2013/04/22(月) 19:45:23.33
>>266>>268
俺も同じ

270 :デフォルトの名無しさん:2013/04/22(月) 20:06:58.93
>>263
ばーか、ばーか

271 :デフォルトの名無しさん:2013/04/22(月) 20:50:06.96
オラクルJAVAはサポート最悪
JAVAオワコン

272 :デフォルトの名無しさん:2013/04/22(月) 22:11:38.22
普通の知能の奴が独学でJava一通り学んで
簡単なアプリ作れるまでどれくらいかかる?

273 :デフォルトの名無しさん:2013/04/22(月) 22:18:08.95
なんでJava?
Javaは業務システムのサーバーでデータベース叩いてHTML生成するための言語だよ

274 :デフォルトの名無しさん:2013/04/22(月) 22:32:58.46
今アプリ開発言語はJavaが熱いってひいばっちゃ言ってた

275 :デフォルトの名無しさん:2013/04/22(月) 22:36:07.70
Androidに載ってる海賊版のことか?
あれももう落ち目だよね。Javaじゃないけど。

276 :デフォルトの名無しさん:2013/04/22(月) 22:42:22.67
Javaのべからず集の集大成
それがAndroidフレームワーク

277 :デフォルトの名無しさん:2013/04/22(月) 22:46:35.80
普通の知能の奴ってどんな奴のことですか?

278 :デフォルトの名無しさん:2013/04/22(月) 22:49:15.37
おれぐらい

279 :デフォルトの名無しさん:2013/04/22(月) 23:22:55.14
>>277
問全体の中にある普通の知能という一つの単語から関係性を導き出し
その意味から求めていることから背景までも把握し
おおよその回答が導き出せるごく一般的な知能を持っている奴のこと

280 :デフォルトの名無しさん:2013/04/22(月) 23:26:20.44
少なくとも>>279のアスぺには無理と言うことだな

281 :デフォルトの名無しさん:2013/04/22(月) 23:29:44.84
>>280
なにそれ矛盾してるの気づいてないの?ばかなの?しぬの?

282 :デフォルトの名無しさん:2013/04/22(月) 23:37:03.20
もうまがい物のandroid javaだけが頼り

283 :デフォルトの名無しさん:2013/04/22(月) 23:50:39.42
プラットフォームとしてのJavaと
開発言語としてのJavaと
分けようぜ

284 :デフォルトの名無しさん:2013/04/23(火) 02:19:51.10
>>272
Java一通りって何年かかるんだ。
sh scriptを3日でいいよ。

285 :デフォルトの名無しさん:2013/04/23(火) 05:12:41.44
>>272
おれは一週間ぐらいでJTable、JFreeChartを使ったGUIアプリ作れた。
ただCを六年近く書いてたから、まったくの初心者なら目安にはならんかも。

286 :デフォルトの名無しさん:2013/04/23(火) 05:45:54.81
「Javaで始めるプログラミング」みたいな名前の本買って、
Javaとプログラミング全般についてさらっと学習して、再帰で挫折しなければ、1〜2ヶ月くらいじゃね?

「ファイルの更新日時ごとにディレクトリに分配してバックアップコピーするプログラム」
みたいな手作業だと面倒臭い作業が、数十行のコードで書けたりすると、
プログラムって便利で楽しいなー!!! って達成感が得られると思う。

>>284
> Java一通り
標準APIだとjava.nio.*とかjava.util.concurrent.*あたりがさっぱり解らん。
こいつらどう使うんだ?

287 :デフォルトの名無しさん:2013/04/23(火) 06:38:01.38
>>286
そんなもんスクリプト言語なら数行で書けるんだぜ
学習時間も数分の一
最もJavaで作るのがアホらしい類

288 :デフォルトの名無しさん:2013/04/23(火) 13:23:48.92
ファイルの日付ごとの分類とかJavaでやる必要が全く無さ過ぎな件
Javaより低速になるかもしらんがインストールいらんしコンパイル要らずテストが容易なWSH
高速な処理ならC
Javaをあえて使うメリットが無い

289 :デフォルトの名無しさん:2013/04/23(火) 15:25:53.33
自分のスキルを上げる って考えの人はいないんだね
もしくは、
プログラミングを楽しむ って考えの人

290 :デフォルトの名無しさん:2013/04/23(火) 15:42:43.89
>>289
一生懸命やっている人を非難してる人達の事ね

291 :デフォルトの名無しさん:2013/04/23(火) 19:34:58.54
>>287-288
バックアップアプリ作るのが目的じゃねえんだよ。
>>272の「普通の知能の奴がJavaを学習する」場合の話をしてんだよ。

引数、変数、配列、ループ、条件、I/O、再帰、
あたりの概念が全部入り & 初心者が学習開始から数週目に作れる & それなりに実用的で達成感

な「お題」ってそのあたりだろ。

292 :デフォルトの名無しさん:2013/04/23(火) 19:44:29.80
>>291
そういうことにJAVAを使わないということも大事だ。

293 :デフォルトの名無しさん:2013/04/23(火) 21:37:38.16
めんどくさい人・・

294 :デフォルトの名無しさん:2013/04/23(火) 21:44:56.44
>>286
>標準APIだとjava.nio.*とかjava.util.concurrent.*あたりがさっぱり解らん。
そこらへんはJava5くらいの拡張だから知らなくてもいいんじゃない。全盛1.2の頃のutilとかが使えればいいんじゃない。あとは特定分野をやるときに調べれば。

手作業の簡略化にはshで、複雑になってきたらjavaとかで書き直している。

295 :デフォルトの名無しさん:2013/04/23(火) 21:46:49.04
それならPythonかRubyくらいで十分足りると思うぞ

296 :デフォルトの名無しさん:2013/04/23(火) 21:53:04.95
Java言語でJVMのバイトコードじゃなくて実行ファイルそのもののバイナリを吐き出せるコンパイラとか無いの?

297 :デフォルトの名無しさん:2013/04/23(火) 21:55:32.23
Javaランタイムそのものをパッケージ化してしまうことはできる
冗談みたいなサイズになるけどw

298 :デフォルトの名無しさん:2013/04/23(火) 22:20:00.21
gcj

299 :デフォルトの名無しさん:2013/04/24(水) 00:20:30.01
>>294
Concurrentパッケージはマルチスレッド制御用ユーティリティ群。

排他、同期、コレクション、CASなどの原子操作、スレッドプールやsynchronizedより柔軟なwait-notify機構などなど

フレームワークを自作する際はお世話になる可能性が高い。

300 :デフォルトの名無しさん:2013/04/24(水) 14:07:23.70
脆弱性修正するのに人手を割いたからJava8のリリースが遅れるわーとかアホな事言ってると思ったらまた脆弱性発覚
どんだけやる気ないんですか?
また人手を割いてさらに遅れるんですか?

301 :デフォルトの名無しさん:2013/04/24(水) 14:43:07.78
Java6はサポート終了したって聞いてたんだけど、まだリリース出るの?

302 :デフォルトの名無しさん:2013/04/24(水) 22:07:56.62
>>301
セキュリティパッチだけお情けで出してる模様
本流は7
っーか8が延期になったから当面7

303 :デフォルトの名無しさん:2013/04/24(水) 22:16:01.58
そうやってずるずるとあと2〜3年は6のパッチでそう

304 :デフォルトの名無しさん:2013/04/25(木) 00:11:51.30
>>286
java.nio はしっかりやっとかんと、
「文字コード変換の異常系やれ」と言われたときに困るよ。

305 :デフォルトの名無しさん:2013/04/25(木) 04:44:02.53
Javaにまたもセキュリティ問題、未解決の脆弱性報告
この問題は、4月16日に公開されたJava最新版の「Java 7 Update 21」(1.7.0_21)も影響を受けるという。
http://www.itmedia.co.jp/enterprise/articles/1304/24/news037.html

306 :デフォルトの名無しさん:2013/04/25(木) 09:21:52.83
googleに良いとこ持ってかれたのでもうupdateに人手なんか取られたくないんです!

307 :デフォルトの名無しさん:2013/04/25(木) 13:39:05.11
金出して6のパッチの提供を受けている客が不満をぶーたれない限り、
作っちまったパッチを無料で公開しない理由は特にない。

308 :デフォルトの名無しさん:2013/04/25(木) 13:59:55.99
Javaの開発やってくれそうなとこは、IBM、Google、RedHat、Apacheあたりか。
Oracleは早く諦めればいいのに。

309 :デフォルトの名無しさん:2013/04/25(木) 14:14:23.03
>>308
ブライアンゴーツさんはOracleに在籍しておられるだろ。
ブラさんがいるかぎりOracleの力が衰えることはない。

310 :デフォルトの名無しさん:2013/04/26(金) 06:34:45.26
なんでJMFは放置されてんの?
Pure Javaで音楽プレーヤー作れねえじゃん

311 :デフォルトの名無しさん:2013/04/26(金) 07:06:51.49
lameのソースコード読んでmp3をwavへのデコードの仕方を見てjavaに移植してmp3を再生か

312 :デフォルトの名無しさん:2013/04/26(金) 10:16:43.31
 

313 :デフォルトの名無しさん:2013/04/27(土) 01:02:46.25
毎月セキュリティパッチが出るWindowsなんか危なくて使えないね。

314 :デフォルトの名無しさん:2013/04/27(土) 01:10:20.50
その分役に立ってるだろ? 損得比べて得が多いならそれでいいんだよ。
その点Javaは大半のパーソナルユーザーにとってみればインストールしててもほぼ利益ゼロ、
セキュリティホールでしかない。

315 :デフォルトの名無しさん:2013/04/27(土) 01:18:55.77
最近のPCはデフォルトでJava入れてないものが多いし
特に問題はないってことだな。必要な人だけ入れれば
いいわけで。

316 :デフォルトの名無しさん:2013/04/27(土) 03:04:57.31
Static Initializerというものを今日初めて知った

317 :デフォルトの名無しさん:2013/04/27(土) 03:10:16.85
Instance Initializerというものを今日初めて知った

318 :デフォルトの名無しさん:2013/04/27(土) 04:06:53.87
printfというものを今日初めて知った

319 :デフォルトの名無しさん:2013/04/27(土) 04:41:12.31
女というものを今日初めて知った。

320 :デフォルトの名無しさん:2013/04/27(土) 09:16:40.03
おめでとう

321 :デフォルトの名無しさん:2013/04/27(土) 09:23:41.48
ありがとう

322 :デフォルトの名無しさん:2013/04/27(土) 09:47:45.01
Initializerがどこにでも何回でも書けることを今日初めて知った

323 :デフォルトの名無しさん:2013/04/27(土) 11:36:56.24
あれって無名クラス以外でつかうやつおる?

324 :デフォルトの名無しさん:2013/04/27(土) 15:43:25.16
>>323
クラス定数の初期化、一行で書くと可読性が悪くなることが多いから。

あとJmockitを使うようになると多用することになるかな。

325 :デフォルトの名無しさん:2013/04/27(土) 15:50:34.92
教えてください。

javaでsqlのinsert文を発行するとき

String str1 = (String) table.getValueAt(row, 1);
String str2 = (String) table.getValueAt(row, 2);

String str = "insert into test_numbers (number, date) values ('"+ str1 + "', '" + str2 + "')";

(1)str1が'1'でstr2が'20130427'ならinsertできて
(2)str1が'1'でstr2が'2013/04/27'ならinsertできないのですが
どうしてなのでしょうか?

コンソールから上記sqlを発行すると、(1)も(2)も問題なく処理されます。

326 :デフォルトの名無しさん:2013/04/27(土) 15:53:08.11
>>325
Javaの話じゃないな。

327 :デフォルトの名無しさん:2013/04/27(土) 16:03:11.23
データベース
http://toro.2ch.net/db/

328 :デフォルトの名無しさん:2013/04/27(土) 16:09:56.40
>>325
to_dateしろ
ってかプリペアードしろ

329 :デフォルトの名無しさん:2013/04/27(土) 16:53:09.24
example
file:///C:/Program%20Files/Sun/JavaDB/demo/programs/simple/example.html

これ見て

java -jar %DERBY_HOME%\lib\derbyrun.jar server start

としたんだけど

このサーバーってどうやって止めればいいの?

330 :329:2013/04/27(土) 16:54:07.10
ごめん、自己解決した
新しくコマンドプロンプト開いて server shutdown としろって書いてあった

331 :デフォルトの名無しさん:2013/04/27(土) 17:30:47.31
【PureJava】 Derby 1 【OpenSource】
http://toro.2ch.net/test/read.cgi/db/1128799341/

332 :デフォルトの名無しさん:2013/04/27(土) 17:40:32.24
Java を使ったオリジナルプログラミング言語設計、みたいな内容の洋書を以前見かけた気がするのですが
今調べてみても見当たりません
心当たりのある方、同内容の和書洋書をご存知の方はいますか?

333 :デフォルトの名無しさん:2013/04/27(土) 17:54:45.37
洋書って何語?英語?ドイツ語?

334 :デフォルトの名無しさん:2013/04/27(土) 18:06:43.78
JavaCCの本か?

335 :デフォルトの名無しさん:2013/04/27(土) 18:08:50.22
[JavaCC] −コンパイラ・コンパイラ for Java− 五月女健治 著
ttp://www.t-press.com/javacc.html

336 :デフォルトの名無しさん:2013/04/27(土) 18:10:00.67
JavaCCでスクリプト言語を作成する 第1回 (1/4):CodeZine
http://codezine.jp/article/detail/367

337 :デフォルトの名無しさん:2013/04/27(土) 18:52:53.29
>>297
Project Jigsawできたらランタイム小さくなるん?

338 :デフォルトの名無しさん:2013/04/27(土) 21:25:36.26
>>328
ありがとうです。

339 :デフォルトの名無しさん:2013/04/28(日) 12:39:18.63
javaはクラスライブラリに、c#のdatatable/datasetに相当するクラスはないんですか?

340 :デフォルトの名無しさん:2013/04/28(日) 12:55:11.94
ORMでいいよ

341 :339:2013/04/28(日) 17:55:18.54
>>340
ORMは遅いから使わないほうがイイと、ネットに書いてありますが
java開発では大抵の場合はORMを使いますか?

DBから問合せした結果を入れるクラスを作る必要があると思うのですが、
クラスの数が膨大になると思います。
クラス数を抑える取り込みとかってありますか?

342 :デフォルトの名無しさん:2013/04/28(日) 19:54:22.96
EJBって結局なんなんですか
Servlet/JSPはEJBに含まれていますか

343 :デフォルトの名無しさん:2013/04/28(日) 21:27:09.46
いいえ
ServlevとEJBはともにJava EEに含まれます

344 :デフォルトの名無しさん:2013/04/28(日) 22:57:19.82
double型の負の無限をキャストしてint型に入れたら、
そのint型の方はint型の最小値が入った。

つまり、
double d= Double.NEGATIVE_INFINITY;
int i=(int)d;//←ここに -2147483648が入る

これってオーバーフローしない仕様なの?
使ってもバージョンによってバグったりしない?

345 :デフォルトの名無しさん:2013/04/28(日) 23:24:50.84
>>344
言語仕様の「Narrowing Primitive Conversions」を参照

346 :デフォルトの名無しさん:2013/04/29(月) 02:50:47.54
>>341
まともな設計をすること。

347 :デフォルトの名無しさん:2013/04/29(月) 12:12:08.43
ではマトモとはどんなやり方なのか伺おうか

348 :デフォルトの名無しさん:2013/04/29(月) 20:01:36.23
>>347
抽象化する。やり方としてはOMTとか参考にしたらどうだ。

349 :デフォルトの名無しさん:2013/04/29(月) 22:06:01.65
>>346
static classを使いまくるのはあり?
どう考えてもDTOが増えちゃう気がするんですが

.NETだったらdatatableを使うから、そんなにクラスは増えないんだけど

350 :デフォルトの名無しさん:2013/04/29(月) 23:00:53.04
MyBatis系のようにクエリからスタートしてDTOをマッピングするタイプだと確かにクエリの
数だけDTOは増えるわな。
その対策についてもどっかのスレで議論していたけれども最小公倍数的なDTOを用意して使い
回すのが安直なやりかただと思う。

Hibernate系のようにエンティティクラスからスタートしてDBにマッピングするタイプだと
ドメインモデルの複雑さ以上にクラスは増えないはず。ただし理屈では。

生JDBCで頑張るならResultSetだけ。

351 :デフォルトの名無しさん:2013/04/29(月) 23:34:44.91
始めたばっかなので、生JDBC&ResultSetしか知りません。

352 :デフォルトの名無しさん:2013/04/29(月) 23:58:39.77
>>339
CachedRowSetがあるで

353 :デフォルトの名無しさん:2013/04/30(火) 00:04:16.63
>>349
分析設計しろと言っているのになんで実装が出てくる。

354 :デフォルトの名無しさん:2013/04/30(火) 10:17:17.58
どこから分析設計の話になったー。
>>339 はCollectionフレームワークと総称学べば解決する話と思っていたが。

355 :デフォルトの名無しさん:2013/04/30(火) 18:20:59.77
>>354
解決しないよ。

356 :デフォルトの名無しさん:2013/04/30(火) 18:59:58.81
>>355
ArrayList<HashMap<String, String>>
でええやんか。

357 :デフォルトの名無しさん:2013/05/03(金) 00:24:33.93
JSPってServletの拡張なんですか?

JSPはサーブレットコンテナによってServletに変換されます。という記事を読んだんですけど

358 :デフォルトの名無しさん:2013/05/03(金) 00:31:14.02
>>357
JSPとサーブレットは別。
ただJSPの実装にサーブレットが使われている
ことが多い。

そんなこと意識する必用が無い筈なんだけど
たまにTomcatのKUSOなエラー調査で
変換されたソースを読むことはまれによくある

359 :デフォルトの名無しさん:2013/05/03(金) 00:59:49.93
>>358
JSPを実装するのにサーブレットが使われている場合がいるんですね
わかりました。ありがとうございます。

360 :デフォルトの名無しさん:2013/05/03(金) 01:33:04.37
float, double値を任意の基数を指定して文字列にエンコード、
デコードするメソッド、ユーティリティクラスはありますか?

例えば、
Integer.toString(int i, int radix),
Integer.parseInt(String s, int radix),
Long.toString(longi, int radix),
Long.parseLong(String s, int radix)
に相当するものです。

361 :デフォルトの名無しさん:2013/05/03(金) 01:34:59.44
ここからダウンロードするのと
http://www.java.com/en/download/manual.jsp
ここからダウンロードするのとでは
http://www.oracle.com/technetwork/java/javase/downloads/index.html
何が違うんでしょうか?

362 :デフォルトの名無しさん:2013/05/03(金) 12:17:50.76
java3Dってどこでダウンロードするんですか?
http://www.oracle.com/technetwork/java/api-141528.html
の下にあるjava3Dクリックするとnot foundでるんですけど

363 :デフォルトの名無しさん:2013/05/03(金) 14:26:50.02
Java3Dなんて腐ったAPIじゃなくてJOGL使えば?

364 :デフォルトの名無しさん:2013/05/03(金) 15:35:03.98
>>363
ありがとうごいますぐぐってみます!

365 :デフォルトの名無しさん:2013/05/03(金) 16:38:45.43
すぐ見つかるじゃないですか〜
ttp://www.oracle.com/technetwork/java/javase/tech/index-jsp-138252.html

366 :デフォルトの名無しさん:2013/05/03(金) 16:55:38.35
>>359
HTMLにJavaのロジック埋め込めるようにしたのがJSP。
実行時にWebコンテナがServletに変換&コンパイルしてくれる。

367 :デフォルトの名無しさん:2013/05/03(金) 22:39:44.30
Flex + AMF通信したことある人いる?
Flex→Javaへ同期通信する時、どいう風に実装しているのか教えて欲しいんだけど

368 :デフォルトの名無しさん:2013/05/03(金) 22:44:23.94
javaでradiko録音サーバを作りたいと思います。
サーバを作って遊ぶ(?)のが目的なのですが、サーバはどのように作るのがベストでしょうか?

サーバをApacheにして、そこでひたすらバッチを動かそうかなーと

369 :デフォルトの名無しさん:2013/05/04(土) 00:02:48.44
>>368
Apacheってwebサーバの意味で言ってる?
自分でサーバソフト作ればいいでしょ。

370 :368:2013/05/04(土) 00:09:10.80
>>369
バッチを処理するサーバを作るのが面倒なので、Apacheに丸投げしちゃおうかなーと思った

371 :デフォルトの名無しさん:2013/05/04(土) 01:00:04.29
>>370
atとかでファイルから読んだ方が楽だろ。もしかして録音開始時間まで正座して待っててポチるのか。

372 :デフォルトの名無しさん:2013/05/04(土) 02:12:49.44
>>367
BlazeDSのソースコードを読んでみたらどう?

373 :デフォルトの名無しさん:2013/05/04(土) 04:08:13.38
>>368
リモートから録音の制御や録音予約のリクエストを投げたいのであればJAX-RS
使ってREST APIを組んでみたらどうだろう。curlでリクエストを投げるところ
まではすぐ出来るし、GUIもHTML+jQueryその他で作れば今時風で良い。

問題はどのJAX-RS実装を使うか、作ったRESTリソースのデプロイはどうするか
だけど、自分でJerseyやJettyを組み合わせてプロジェクトを組んでも良いし、
手っ取り早く開発するならDropwizardお薦め。

Dropwizard、サーバーからロギングまで全部入りのExecutable Jarをいきなり
作れる手軽さもメリットだけど、何よりサイトで紹介されているプロジェクト
の雛形がお手本といって良いほど整っているので、仮にこの方面の開発の勉強
をするのであればもってこいの素材の一つだと思う。
またMavenの類を使うのがほぼ必須なので、現在使われているこの手のツールを
使った経験が無いのであればそれを学ぶのにも良い題材かもしれない。

374 :デフォルトの名無しさん:2013/05/06(月) 13:51:42.75
Webシステム開発でのcollection(list系、map系)の応用場面はどういう
場面ですか。ご教授お願いします。

375 :デフォルトの名無しさん:2013/05/06(月) 13:52:47.33
↓教授がご解説

376 :桃白白教授:2013/05/06(月) 14:17:12.25
>>374
えー?やっぱりー複数の値を保持したいときだとー桃白白教授は思うのー。

377 :桃白白:2013/05/06(月) 14:18:21.79
>>375
なにやらせてんの?バカじゃないの?

378 :デフォルトの名無しさん:2013/05/07(火) 22:47:57.02
アスペクト指向って、結局何に使うんですか
ロギングとかの機能をframeworkに投げれば、アスペクト指向を利用していると言えますか?

379 :デフォルトの名無しさん:2013/05/07(火) 23:35:21.45
やっぱり、ORマッパ難しいやー
どうやったら、DTOを共通化できるか思いつかない
テーブルに列が100以上あることなんて普通じゃん

380 :デフォルトの名無しさん:2013/05/08(水) 00:04:43.78
>>379

> テーブルに列が100以上あることなんて普通じゃん

普通なんですか?

381 :デフォルトの名無しさん:2013/05/08(水) 02:22:20.07
何故100列あるのか、その理由によってどう対応するか変わってくるな。

場合によっては単にテーブルの正規化をしていないだけかもしれないし。

382 :デフォルトの名無しさん:2013/05/08(水) 02:24:57.85
今どきそんな奴はいない

383 :デフォルトの名無しさん:2013/05/08(水) 07:08:30.70
100列のうち検索に使わないものはXMLにしてそれを
一つの列に入れればすっきりする

384 :デフォルトの名無しさん:2013/05/08(水) 07:54:02.43
具体例もなく単に列が100以上あることが普通とだけ言われてもあぁありがちな
アンチパターンに陥っているのねとしか想像できない。

というか関係データベースの勉強もせずにORM使うの禁止。

385 :デフォルトの名無しさん:2013/05/09(木) 22:15:38.08
>>378
巻き添え規制で亀レス

> アスペクト指向って、結局何に使うんですか

トランザクション管理(commit,rollback)など、ビジネスロジックの前後に「同じコード」を記述するメソッドが「大量に」存在する状況で、記述漏れ防止などの「同じコード」を局所化するメリットが産まれる。
テンプレートメソッドパターンで代用できるが、大量の具象クラスが溢れ、引数のキャストが必須になるなどのテンプレート自体の制約を受け易い。


> ロギングとかの機能をframeworkに投げれば、アスペクト指向を利用していると言えますか?

フレームワーク側の実装次第

386 :380:2013/05/09(木) 22:29:00.14
>>384
例えば帳票とかって、出力項目が30〜40くらいあるってこと普通ですよね
入力画面も表示項目が30以上あって〜とか

>>382
正規化しないと実装が楽な場合があるじゃじゃないですか
データヘッダ + 明細を毎回 JOIN するくらいなら、正規化しないほうが良いって場合もあるわけで

387 :386:2013/05/09(木) 22:29:57.56
すまん、名前>>379だった

388 :デフォルトの名無しさん:2013/05/09(木) 22:31:41.90
その例えはダメだ

389 :デフォルトの名無しさん:2013/05/10(金) 02:05:10.48
>>386
まず帳票という分野を指定している時点で普通から外れてるし、その普通自体も半分以下だし。
帳票系は項目1、項目2とか当たり前のように出てくるので、項目数、名もマスタで管理して設定で増減させるのが、俺の普通。

390 :デフォルトの名無しさん:2013/05/10(金) 02:33:13.57
データ設計をちゃんとやった上で出力項目が多いならVIEWを定義すれば…
ってJavaの話からずれてきてるなぁ

391 :デフォルトの名無しさん:2013/05/10(金) 12:40:18.32
馬鹿にもメンテできる箇所をうまく設計で分離して、
単価の安いIT土方に膨大な単純作業を押しつけるのが
このスレ的には正解。

392 :デフォルトの名無しさん:2013/05/10(金) 22:03:01.13
マイナンバーでIT特需が始まるぞ。
Java屋がウハウハかな。

393 :デフォルトの名無しさん:2013/05/11(土) 11:07:16.66
オーバーロードの使い道がいまいちわかりません。
同じメソッド名にどうしてもしなければならない場合に使うのでしょうか?

394 :デフォルトの名無しさん:2013/05/11(土) 11:29:01.58
覚えるメソッド名は少ない方がいいだろ?

System.out.printlnだけでもオーバーロード10種類あるわけで、
全部名前が違うとか言われたら軽く発狂する。

395 :デフォルトの名無しさん:2013/05/11(土) 14:59:47.36
むしろ、基本型がオブジェクトじゃないせいで、
printlnメソッドを10種類も実装しなきゃいけない方が発狂モノじゃね?

396 :デフォルトの名無しさん:2013/05/11(土) 15:19:00.05
基本型が大好き、そんな貴方にtrove4j。
基本型の可変長Listや基本型->基本型のMapなど、便利な基本型の
コレクションクラスを各種取りそろえております。
力業すぎて吹くけれども。

http://trove4j.sourceforge.net/javadocs/

例えば基本型を使えるMapが無いのなら必要な基本型の組み合わせ
全てについてクラスを作ればいいじゃないと某アントワネットは
言ったとかなんとか。でも便利だから時々使う。

397 :デフォルトの名無しさん:2013/05/11(土) 15:24:46.81
一方ロシアはオートボクシング/アンボクシングを…

398 :デフォルトの名無しさん:2013/05/11(土) 18:21:26.69
>>396
ttp://www.ibm.com/developerworks/jp/java/library/j-perf09284/
> 速度3倍、メモリ消費量半分
> 夢の基本型コレクション
> 作者にとっては悪夢

これ読んで知った。マジ便利。
trove2.0.4を実際に使って動かしてるが、今のところバグに遭遇したこともない。
自動生成してるって言ってるわりに、ソースが綺麗で普通に読める。

ただjarがでかい。

399 :デフォルトの名無しさん:2013/05/12(日) 00:14:38.85
オーバーロードのために、null引数にわざわざ
キャスト演算子付けてやらないといけないのは解せぬ

400 :デフォルトの名無しさん:2013/05/12(日) 01:35:39.95
>>397
ソビエトロシアではコードがあなたをラップする!

401 :デフォルトの名無しさん:2013/05/12(日) 10:15:27.06
ロギングを導入したいのですが、オススメのAPIなどありますか。
やりたいことは、動的にログファイルやログレベルなどの設定を変えたいと考えてます。

402 :デフォルトの名無しさん:2013/05/12(日) 22:54:24.47
暗号メッセージソフトを作りたいのですが
例えば”あ”を→”わ”に変更するなど予めどの文字をどれに置換するかを定義する設定ファイルを交換して
ソフトに設定ファイルを適用して暗号文であるひらがなを交換したら自動的に復号化して表示されるというものです
使える文字はひらがなと数字のみで暗号文を設定ファイルを利用して復号化する際の置換方法で最も効率のよいものは何でしょうか

403 :デフォルトの名無しさん:2013/05/12(日) 22:56:19.35
ちなみに置換対象の文字列はString型で配列でも単体でも使用できるようにしてあります

404 :デフォルトの名無しさん:2013/05/12(日) 22:57:25.73
文字をBMPに限定して6万文字の
変換テーブルを用意する。
テーブルサイズはたかだか256KB

405 :デフォルトの名無しさん:2013/05/12(日) 23:04:18.59
>>403
簡単に出来ると思っているみたいだけど、めっさ難しいんだぜ。

まんず、そもそも、「あ」がUnicodeなのか、JISなのか、Shift-JISなのか、EUC-JPなのかを判定せにゃならん。
次に、復号後の「わ」がUni・・・(ry

次に、「効率」っちゅうのが何を指しているのかを明確にせねばならん。
スピードなのか、設定ファイルの大きさなのか。

話はそれからだな

406 :デフォルトの名無しさん:2013/05/12(日) 23:16:08.66
>>405
まずJavaで文字として処理するんだから
UTF-16前提だろう?
文字コード判定が必用なんて妄想は
どこから出てきた?
あと設定ファイルの大きさとか、
何言ってんのかわからない

407 :デフォルトの名無しさん:2013/05/13(月) 00:17:30.66
http://ideone.com/P9CE8h

暗号考えるのって楽しいよね。
もし>>402が学校や新人研修の練習問題だとしたら、なかなかの良問だと思う。

408 :デフォルトの名無しさん:2013/05/13(月) 01:24:52.13 ID:EJbhOQCQ!
>>402
遊びや実験ならともかく実用としては使い物にならない暗号なのでそのあたり割り切りを。

409 :デフォルトの名無しさん:2013/05/13(月) 01:30:39.03
みなさんありがとうございます。
ちなみに設定ファイルは
置換対象の文字.置換後の文字,置換対象の文字.置換後の文字・・・
という構成のテキストファイルです
暗号分はStringで持っているのでその内容を置換するには一区切りずつ取り出してString.replase()するしかないですか?

410 :デフォルトの名無しさん:2013/05/13(月) 01:31:33.04
>>408
その点に関しては大丈夫です

411 :デフォルトの名無しさん:2013/05/13(月) 04:44:54.29
CharBuffer相手にオレオレCharsetを自作するのもいいかもね

412 :デフォルトの名無しさん:2013/05/13(月) 05:06:54.70
「あ」が「X」、「い」が「XX」に暗号化される時、
「XX」がどう復号化されるべきかはオートマトン(正規表現の親玉)の問題。

413 :デフォルトの名無しさん:2013/05/13(月) 06:39:08.72
それを言うなら全てのプログラミングはオートマトンの問題だ

414 :デフォルトの名無しさん:2013/05/13(月) 08:07:02.83
>>412
その符号化は失敗じゃね?

415 :デフォルトの名無しさん:2013/05/13(月) 08:56:14.91
正規表現は関係なくね?

416 :デフォルトの名無しさん:2013/05/13(月) 09:01:54.37
>>409
StringBufferで文字列を作り直したら?
変換は連想配列か65536件の文字変換
全件テーブルでも予め作っておけ

417 :デフォルトの名無しさん:2013/05/13(月) 09:34:44.23
>>416
そこはStringBuilderにしとけ

418 :デフォルトの名無しさん:2013/05/13(月) 10:51:26.14
Java入門者だけど、x86のWindowsで作ったJavaゲームってARMのandroidでも動くの?

419 :デフォルトの名無しさん:2013/05/13(月) 10:56:55.38
↑補足だけど、ゲームって言ってもOpenGLを使ったWinやLinuxで動く簡単なソフトのこと

420 :デフォルトの名無しさん:2013/05/13(月) 11:59:46.25
アンドロイドはDalvikVMだから動かないと思う。

421 :デフォルトの名無しさん:2013/05/13(月) 12:34:40.34
OpenGL ES とやらはほとんどの android 端末にのっていると書いてあるな
だが android のスレで聞いたほうがいい

422 :デフォルトの名無しさん:2013/05/13(月) 14:08:41.59
>>409
やり方なら星の数ほどあるけど?

簡易的にやるなら、
乱数 r (素数)を1つだして

( (int) 'あ' + r ) % 2^16

でも出来るし、
設定ファイルにこだわらないのであれば、
乱数 keyを出して

(暗号文字) xor (( 次の文字 ) + key)

でもいける

423 :デフォルトの名無しさん:2013/05/13(月) 14:09:40.50
JavaとAndroidで違うAPIの部分だけ自分でラップしたクラス作れば、ほぼそのまま動く。というか自分はそうやって作っている。

424 :デフォルトの名無しさん:2013/05/13(月) 14:26:40.10
>>422
お前は何を言っているんだ?
質問者は暗号の方法を訊いて
いるわけではない。
効率のよい痴漢の方法を訊いている

425 :デフォルトの名無しさん:2013/05/13(月) 14:29:52.70 ID:EJbhOQCQ!
お巡りさんこの人です

426 :デフォルトの名無しさん:2013/05/13(月) 14:45:11.89
>>424
低脳なお前が理解していないだけやんw

427 :デフォルトの名無しさん:2013/05/13(月) 15:12:00.71
>>420,421,423
thnx
一応できたけど、すごく重かった
x86-ARM完全互換はあきらめる

428 :デフォルトの名無しさん:2013/05/13(月) 21:50:03.20
変数の型として、クラス、インターフェース両方とも要求する場合の書式はどのようにしたら良いのでしょうか。
class B extends A {}
class C extends A {}

class X extends B implements D {}
class Y extends C implements D {}
抽象的で申し訳ないのですが、上記のようなクラスの状況で
Generic流の指定で<T extends A &amp; D>というような感じの指定を考えています。
クラス生成の際にGenericのカギ括弧指定しないでこうした変数を利用できるでしょうか。

429 :デフォルトの名無しさん:2013/05/13(月) 21:53:02.60
>>428
ドキュメントに書く
つまり言語仕様の範囲ではできない

430 :デフォルトの名無しさん:2013/05/13(月) 22:25:02.27
なるほど、できないのですね…。ありがとうございましたm(_ _)m

431 :デフォルトの名無しさん:2013/05/13(月) 22:32:50.13
>>430
キャストしたりinstanceofで
実行時のチェックは出来るだろけど、Java的には
そういうクラスを設ける、か
基本クラスとインターフェースの両方を渡す
のがいいと思う

432 :デフォルトの名無しさん:2013/05/14(火) 11:21:23.35
JSPのEL式について質問です。

JSP内で${hoge.piyo}の値を表示するためには、getPiyo()メソッドを持つHogeBeanを作って
Servlet内でreq.setAttribute("hoge", hogeBean)することはわかったのですが
Javaでよく使うstatic finalな定数の値をEL式で表示するにはどうすればよいですか?
定数に対してもBeanを作ってgetterを定義しないといけないのでしょうか?

433 :デフォルトの名無しさん:2013/05/14(火) 11:25:35.73
EL式って何?

434 :デフォルトの名無しさん:2013/05/15(水) 03:12:19.17
>>433
仕様書読んで出直せ
http://download.oracle.com/otndocs/jcp/jsp-2.1-fr-eval-spec-oth-JSpec/
2 Expression Language

435 :デフォルトの名無しさん:2013/05/15(水) 12:06:20.44
ここまでJAVA7日本語apidocの話題無し。
http://docs.oracle.com/javase/jp/7/api/

436 :デフォルトの名無しさん:2013/05/15(水) 12:27:57.67
予算を捻出できたのか
でも今更かよって感じは否めない

437 :デフォルトの名無しさん:2013/05/15(水) 12:55:32.58
日本語はよんだこと無かった

438 :デフォルトの名無しさん:2013/05/15(水) 13:01:22.52
>>435
やるきなさ杉だろw

439 :デフォルトの名無しさん:2013/05/15(水) 14:07:26.56
ZXing-2.2.zipをダウンロードしたのですが
coreフォルダにbuild.xmlが無くてantでビルドできません。
どうしたらいいでしょうか?

440 :デフォルトの名無しさん:2013/05/15(水) 14:33:33.02 ID:nYffnvEo!
pom.xmlがあるからantではなくmavenを使う。

mvn package

ちょっとダウンロードしてビルドしてみたけど何故かテストでこける。
なので次の方法でテストをスキップすればとりあえずjarは出来るはず。

mvn -Dmaven.test.skip=true package

441 :デフォルトの名無しさん:2013/05/15(水) 14:35:48.13
>>440
神すぎる。もしくは天使。

442 :デフォルトの名無しさん:2013/05/15(水) 18:05:56.83
>>435,438
これを土台にしてJava8で本気を出してくれれば。

443 :デフォルトの名無しさん:2013/05/15(水) 18:29:27.26
そもそもJava8自体が本気を出してくれてないからなあ
来年になったらまた遅れるぞ

444 :デフォルトの名無しさん:2013/05/15(水) 22:12:59.29
ラムダが怪しくなってきましたね
全く期待してなかったけどさ

445 :デフォルトの名無しさん:2013/05/15(水) 23:05:21.21
Jigsawは20年後くらいだな

446 :デフォルトの名無しさん:2013/05/16(木) 08:35:00.26
ラムダとジグソーがないと大物はjavafx3.0だけ?

447 :デフォルトの名無しさん:2013/05/16(木) 09:40:33.54
JavaFX8が果たして大物なのかどうか

448 :デフォルトの名無しさん:2013/05/16(木) 12:49:31.49
おまいら社員名簿作るんだけどサーブレット使ってやるんだけど、分からん。
エロイ人教えてm(__)m

一覧と登録confimと登録completeと詳細のそれぞれのjavaのコードとJSPとサーブレット

449 :デフォルトの名無しさん:2013/05/16(木) 12:56:45.20
エクセルでつくったら?

450 :デフォルトの名無しさん:2013/05/16(木) 13:05:49.90
察するに新人の勉強用というところか

451 :デフォルトの名無しさん:2013/05/16(木) 14:13:09.40
phpでやれよ

452 :デフォルトの名無しさん:2013/05/16(木) 14:19:51.02
教えてやるからちょっと名簿データよこしてみ?

453 :デフォルトの名無しさん:2013/05/16(木) 14:32:07.67 ID:5q9npcWm!
フレームワーク使えよ

454 :デフォルトの名無しさん:2013/05/16(木) 15:11:11.63
import java.io.IOException;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import bean.ViewWorker;
import bean.Worker;

455 :デフォルトの名無しさん:2013/05/16(木) 15:15:04.96
public class TourokuServlet extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{

String button=request.getParameter("submit");

456 :デフォルトの名無しさん:2013/05/17(金) 17:00:08.79
プログラミング初心者でJavaを始めてみたんだけどオススメの本を教えて欲しい
軽い入門書1冊読んで基本文法とオブジェクト指向の3要素については少し触れてる

457 :デフォルトの名無しさん:2013/05/17(金) 19:33:20.96
>>456
結城 浩さんの入門書を読むといい。

458 :デフォルトの名無しさん:2013/05/17(金) 20:23:01.09
同じ本をもう一度読むといいんじゃないかな

459 :デフォルトの名無しさん:2013/05/17(金) 21:49:46.71
>>457
回答ありがと
その本は書店で見てみたんだけど読んだ本と似てたから、入門は一通り終わったっていう体でお願い

詳しい言語仕様の本かデザインパターンの本かWEBアプリケーションの本とか考えてるんだけど
特に明確な目標はないから次どういうことを学べばいいのか決めかねてて相談したんだ

460 :デフォルトの名無しさん:2013/05/17(金) 21:57:56.76
>>459
Java言語で学ぶデザインパターン入門

461 :デフォルトの名無しさん:2013/05/17(金) 22:13:13.22
ListとかMapって種類多めだと思うんですが
どう使い分ければいいのでしょうか

例えばHashMapとLinkedHashMapとTreeMap、ConcurrentMapの場合、
特に目的がない場合はHashMap、
詰めた順番が重要ならLinkedHashMap、
キーの順番が重要ならTreeMap、
複数スレッドからアクセスした時の安全性が必要ならConcurrentMap
みたいなのであってますか?

462 :デフォルトの名無しさん:2013/05/17(金) 22:19:02.11
入門を一通り終わったってレベルではデザインパターンより言語仕様の本がいいんじゃないかな
そもそも明確な目標がないならJavaやるより他の事やるのがいいと思うけど

463 :デフォルトの名無しさん:2013/05/17(金) 22:52:47.76
>>460
興味あったけどやっぱりいい本なんだ
>>462
それを言われたら元も子もないw

今まで読んできた本の経歴とか勉強してった順番とかも教えてくれたら嬉しい

464 :デフォルトの名無しさん:2013/05/17(金) 22:56:36.83
>>463
今は増補改訂版が出てる。

465 :デフォルトの名無しさん:2013/05/17(金) 22:57:52.77
Javaの本で持ってるのはデザインパターン入門とエッセンシャルJavaと
Java GUIコンポーネント完全制覇の3冊かな。

466 :デフォルトの名無しさん:2013/05/17(金) 23:31:54.25
Effective Java

467 :デフォルトの名無しさん:2013/05/18(土) 00:37:08.57
>>456
プログラムを読め。

468 :デフォルトの名無しさん:2013/05/18(土) 01:19:35.19
>>463
ここから適当に選んで作ってみる
◆こんなソフトウェアつくってください〜Part17〜◆
http://anago.2ch.net/test/read.cgi/software/1348064199/

469 :デフォルトの名無しさん:2013/05/18(土) 09:49:19.81
JDKについてるAPIのソース読んでみたら?

470 :デフォルトの名無しさん:2013/05/18(土) 13:53:47.21
そういうライブラリ類のソースって断片的すぎてあんまり参考にならんよ
オープンソースのアプリを読んだほうがいい
でもオープンソースの実用Webアプリのソースってあんまり無いし
JavaのGUIアプリはあんまり良いの無いよね…
便所の落書きみたいなのかeclipseみたいなバカでかくて参考にならんのか両極端な印象

471 :デフォルトの名無しさん:2013/05/18(土) 15:19:16.71
馬鹿でかくなくてはJavaの意味が無い

472 :デフォルトの名無しさん:2013/05/18(土) 15:34:34.05
サブクラスで必ず定義して親クラスで参照できるstaticフィールドみたいなのがほしいのですが、どう書けばいいですか?
↓こんなのがしたい

abstract class A{
public static abstract String HOGE;
public function foo(){
System.out.println(HOGE) // ここでB.HOGEを参照
}
}

class B extends A{
static{
HOGE = "bar";
}
}

473 :デフォルトの名無しさん:2013/05/18(土) 15:36:26.15
protected abstract String getHo();

474 :デフォルトの名無しさん:2013/05/18(土) 15:43:46.37 ID:qSAkaUrY!
実用アプリのソースを読んで学びたいという気持ちは理解出来るな。

自分もなんかかんか言いつつ大学でも企業でも、配属された組織がそれなりの規模の
システムやフレームワークを開発運用していて、そのソースを読んで使って拡張する
中でその分野の技術を学べた。
なので例えば素直なつくりで学べる規模のWebアプリならうちのある社内システムの
ソースなんか丁度良いよなぁとは思うのだが、紹介できないのが残念だw

ちょっと真面目な話をすると、WebアプリならSpring MVC系とかPlayといった有名
どころのフレームワークのチュートリアルを一通りなぞるのも良いと思う。
これは別にフレームワークの使い方を学ぶのではなくて、こうしたチュートリアルには
ウェブアプリを設計する上での定番的な設計法が現れているので、幾つか試して比較する
ことでその辺りも見えてくるのではと。

475 :デフォルトの名無しさん:2013/05/18(土) 16:31:17.07
>>474
うらやましい
俺が担当することになったやつは
コンストラクタに1万行全てのソースが入ってたぜ

今どき冗談や都市伝説でなくて本気でこんなものがあるんだと逆に驚いた

476 :デフォルトの名無しさん:2013/05/18(土) 19:50:16.31
昨日書籍の質問した奴だけど返事くれてる人たちありがとう
実際に使われてるWebアプリケーションとか見てみたいな

昨日のレスを参考に今日書店行って何冊買ってきました

477 :デフォルトの名無しさん:2013/05/19(日) 21:00:35.83
初歩の初歩の質問ですみません
変数の宣言→値の代入→四則演算を行なって結果を変数へ代入→入力値の画面表示→計算結果の画面表示を行うソースコードの値の代入の部分を変数a、bの値をキー入力にするよう改造しろと言う内容の課題が出ていました
少し調べたのですがJavaの講義回数も少なく、知識が浅いためいまいち理解出来ませんでした・・・どなたかお助けお願いします・・・

478 :桃白白 ◆9Jro6YFwm650 :2013/05/19(日) 22:01:10.93
>>477
桃白白がお願いされちゃう
friendpaste.com/7GH15mAhlzIaMW6S1QqXW7

479 : ◆QZaw55cn4c :2013/05/20(月) 19:52:26.16
>>478
え?
parseInt() でも try 〜 catch 〜 finally 節を書くんだ‥‥
一生 java を体得できないだろうな‥‥

480 :デフォルトの名無しさん:2013/05/20(月) 20:06:37.68
俺だったらtryだけ書いてcatchは書かないな

481 :デフォルトの名無しさん:2013/05/20(月) 20:17:57.60
この程度でfinally書く奴はたいてい低脳

482 :桃白白 ◆9Jro6YFwm650 :2013/05/20(月) 20:24:31.13
>>481
うそつけ、うそじゃそんなもん。桃白白絶対信じない。

483 : ◆QZaw55cn4c :2013/05/20(月) 20:27:32.61
ごめんねjavaを理解できないのは私QZのことね結構好きなんだけれども好きと思ったからといって全部理解できるとは限らないんですね片思いの心境です

484 :デフォルトの名無しさん:2013/05/20(月) 20:34:53.95
>>480
finallyはtry with resourceで削除すべき
だろうけど、catchはすべきでは?
自分がハンドリングできるもの以外は
上位にスローするのがセオリーだけど、
この場合は原因が明確で自分がハンドリング
すべきものだと思う。

あと、System.inって閉じてもいいんだっけ?

485 :桃白白 ◆9Jro6YFwm650 :2013/05/20(月) 21:40:33.06
>>484
catchしてもどうしようもないだろ、じゃあcatchするべきじゃないよな。
System.inは閉じたらダメだろ。その発想に引くわ。桃白白ドン引き。

486 :デフォルトの名無しさん:2013/05/21(火) 00:22:22.95
初歩の初歩で例外処理はやらんだろ
次の講義あたりでやるんじゃね?

487 :デフォルトの名無しさん:2013/05/21(火) 02:39:16.73
>>485
>System.inは閉じたらダメだろ。その発想に引くわ

お前のコードが閉じてるから指摘されてんだろ

488 :桃白白 ◆9Jro6YFwm650 :2013/05/21(火) 03:36:28.61
>>487
ですよね

489 :デフォルトの名無しさん:2013/05/21(火) 03:55:50.09
つまり自分自身にドン引きってことか

490 :桃白白 ◆9Jro6YFwm650 :2013/05/21(火) 04:11:58.30
>>489
  |ヽ∧_
  ゝ __\
  ||´・ω・`| > やめなよ
  /  ̄ ̄  、ヽ _______
 └二⊃  |∪=| |───  /
  ヽ⊃ー/ノ    ̄ ̄ ̄ ̄ ̄
     ̄`´ ̄

491 :デフォルトの名無しさん:2013/05/21(火) 04:16:39.89
メンヘラはたいてい自分のことが大嫌いだからな

492 :デフォルトの名無しさん:2013/05/21(火) 08:53:49.94
自分が大好きなのもメンヘラだけどね

493 :デフォルトの名無しさん:2013/05/21(火) 17:08:32.63
質問失礼します。
Windows上でJAVAの開発を行っています。

eclipse上では正常に動作するのに、コマンドラインから java -jar hogehoge.jar として実行すると、
正常に動作しないという事象が頻発しており困っています。

1つの具体例を挙げますと、
String clLookAndFeel = "javax.swing.plaf.nimbus.NimbusLookAndFeel";
UIManager.setLookAndFeel(clLookAndFeel);
上記のようにルック&フィールを設定している箇所があります。

eclipse上では正常に動作するのですが、コマンドラインから実行すると、
ClassNotFoundException が出力されます。

どのようにしたらExceptionが出ないようになりますでしょうか?

よろしくお願いします。

494 :デフォルトの名無しさん:2013/05/21(火) 17:20:52.26
>>493
Eclipseは新しいJavaの実行環境で動かしてるからそのまま動くけど、
古いJavaの実行環境入れっぱなしでコマンドラインからはそっち使ってるとか。

古いJavaの実行環境だとjavax.swing.plaf.nimbus使えなかったはずだから。

495 :デフォルトの名無しさん:2013/05/21(火) 17:48:41.03
>>494
返答ありがとうございます。

Eclipseのバージョンは以下のものを利用しています。
Eclipse Java EE IDE for Web Developers.
Version: Juno Service Release 2
Build id: 20130225-0426

JDKのバージョンは、以下のものを利用しています。
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

JDKはとある事情により 1.7 からバージョンダウンしました。
Eclipse と JDK は再インストールしたほうが良いのでしょうか?

496 :493:2013/05/21(火) 17:51:52.27
493の事象ですが、
for (LookAndFeelInfo clInfo : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(clInfo.getName())) {
UIManager.setLookAndFeel(clInfo.getClassName());
break;
}
}
上記のようにすると、なぜかコマンドラインからでも正常動作するようになりました。
この件に関してはクローズさせていただきます。

他の事象を確認して、また壁に当たったら再度書き込みたいと思います。
ありがとうございました。

497 :デフォルトの名無しさん:2013/05/21(火) 18:09:57.91
infomancers-collections - New collections library all designed on top a "yield return" like feature in Java - Google Project Hosting
ttp://code.google.com/p/infomancers-collections/

これ

498 :デフォルトの名無しさん:2013/05/21(火) 19:54:54.28
なぜか動作するのが一番困るんじゃないの?
知らないところで別のバグ出して大変なことになりそう

499 :デフォルトの名無しさん:2013/05/21(火) 20:50:01.33
そこかしこにassertを仕込めばあるいは

500 :デフォルトの名無しさん:2013/05/21(火) 23:38:06.44
何言ってるかワカリマセン

501 :デフォルトの名無しさん:2013/05/22(水) 00:03:04.31
そこか! しこにassertを仕込め、ばあ! るいは(ともをよぶ)

《意訳》そこにいたのか! 気付かなかった! おばあさんや、お相撲さんのしこにassertを掛けておけば、強い力士になれる。「類は友を呼ぶ」の言葉通りに。

502 :デフォルトの名無しさん:2013/05/22(水) 00:17:15.18
昔は言論統制があって、禁止用語をしゃべったために話し手が「類は友を呼ぶ」と言おうとした途中で殺されたという説が有力です。

503 :デフォルトの名無しさん:2013/05/22(水) 00:23:05.23
古文を勉強した人なら、「しこ」と「仕込め」が掛詞になっていることに気付くでしょう。しこしこめ

504 :デフォルトの名無しさん:2013/05/22(水) 00:41:43.13
つまりどういうことだってばよ

505 :493:2013/05/22(水) 02:52:40.82
連続質問すいません。

Runtime runtime = Runtime.getRuntime();
this.mPServer = runtime.exec("java -jar server.jar");
上記のようにしてクライアントからサーバーを立ち上げて、そのサーバーと送受信を行うソフトを開発中です。

ソケットで送受信するプログラムを仕込み、Eclipse でクライアントを実行してしばらくすると、サーバーが音信不通になります。
プロセスは残っているのですが、送受信ができない状態です。
定期的にログを出力しているのですが、エラーは出されておらず送受信開始後ピタッとログが止まっています。
try catch は何度も確認したので error を握りつぶしている可能性はありません。
CPU占有率は 0% で busy 状態にはなっていませんでした。

Eclipse でサーバーを実行した後、コンソールでクライアントを起動すると正常に送受信が行われます。

busy でもエラーでもなく終了せずに挙動が止まるという事はありえるんでしょうか?

506 :493:2013/05/22(水) 02:54:05.37
>>498
>>496の件は clInfo.getClassName() が Eclipse 実行時とコンソール実行時で違っていた事による問題でした。

Eclipse では javax.swing.plaf.nimbus.NimbusLookAndFeel
コマンドラインでは com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel

507 :デフォルトの名無しさん:2013/05/22(水) 05:13:17.97
>>505
クライアントがサーバーを起動するなんて…。ってのはさておき、サーバーの標準出力がブロッキングしてるとか?
http://www.ne.jp/asahi/hishidama/home/tech/java/process.html

508 :493:2013/05/22(水) 13:11:03.62
>>507
ありがとうございます。
java -jar のコマンド実行周りを別スレッドにして、
教えていただいたページを参考に標準出力を別スレッドで管理する事で解決する事ができました。

509 :デフォルトの名無しさん:2013/05/22(水) 18:20:29.68
質問です。
Teppan t = new Teppan();


t.Kakikomi();
System.out.println("miは"+t.getage());
System.out.println("計算したのは"+t.juu());

t.Kakikomi(t.juu(),"多摩だ");

t.Handan();


}

510 :デフォルトの名無しさん:2013/05/22(水) 18:23:00.35
>>509 つづき
static class Teppan
{
int age;
String name;
int i;

void Kakikomi(){
this.age=19;

}


void Kakikomi(int a,String b){
this.age=a;
name=b;
}

511 :デフォルトの名無しさん:2013/05/22(水) 18:25:39.25
>>510 つづき
void Handan(){
System.out.println("ageは"+this.age);
System.out.println("nameは"+name);
}

int getage(){
return this.age;
}

int juu(){
int y;
for(y=0;y<10;y++){
i+=y;
}
return i;
}
これでコンソールすると数字が上から19,45,90になるんですが、なぜ45から90
になるんですか?

512 :デフォルトの名無しさん:2013/05/22(水) 18:34:03.55
juuの中でiを初期化していないから。
juuを二度呼べば45+45で90。

513 :デフォルトの名無しさん:2013/05/22(水) 18:39:03.37
>>512
ありがと

514 :デフォルトの名無しさん:2013/05/23(木) 12:04:18.50
Swing LookAndFeel、アプリ開発者が自分の好みで決めちゃうのって、どうなの…

515 :デフォルトの名無しさん:2013/05/23(木) 15:54:51.86
jarコマンドを使うためにpathにjar.exeを設定するためにJAVAをDLしろといわれたので、
JAVAのホームページに行ったらJRE7とかいうのをDLしたのですが、binの中を探してもjar.exeがありませんどうしてですか

516 :デフォルトの名無しさん:2013/05/23(木) 16:05:10.06
jdkが必要なのにjreをダウンロードしたから。

517 :デフォルトの名無しさん:2013/05/23(木) 16:33:47.31
ありがとうございます、最後にもう一つだけ質問ですお願いします
\xxx>jar xvf abc.WAR
を実行したのに、次の行では
\xxx>
が表示されていて、解凍にも成功していないようです
原因として何が考えられますか?
正しい入手元なので、WARファイルが破損しているという可能性は多分ないです

518 :デフォルトの名無しさん:2013/05/23(木) 16:40:48.39
warはzipで解凍しろ

519 :デフォルトの名無しさん:2013/05/23(木) 16:42:10.29
jar だけコマンド打ってusageがでるの?

520 :デフォルトの名無しさん:2013/05/23(木) 17:15:00.46
>>518
.zipにして展開したらzipが空ですと言われました

521 :デフォルトの名無しさん:2013/05/23(木) 17:16:08.24
答えがでてるやん

522 :デフォルトの名無しさん:2013/05/23(木) 17:23:22.16
いえ、中身はあります別のアーカイブ展開ツール使ってみたらちゃんと出てきました

523 :デフォルトの名無しさん:2013/05/23(木) 17:24:32.75
じゃぁ、それでいいやん。

524 :デフォルトの名無しさん:2013/05/23(木) 17:25:42.89
なんでコマンドで解凍できなかったか気になったので質問しました

525 :デフォルトの名無しさん:2013/05/23(木) 17:48:19.62
最初からそう書いておけよ。

pack200がらみぐらいか?

526 :デフォルトの名無しさん:2013/05/23(木) 22:26:51.36
jar xvfって不正なファイル名を出力する糞ツール?

527 :デフォルトの名無しさん:2013/05/23(木) 23:14:39.57
商品マスタの存在チェックを共通したいのですが、どのように作るのがベストしょうか?

528 :デフォルトの名無しさん:2013/05/23(木) 23:18:27.76
>>514
え?だめなの?

529 :デフォルトの名無しさん:2013/05/23(木) 23:35:25.77
よろしくお願いします。

SWT+JFaceでGUIアプリケーションを開発をしております。

ダウンロード等の長い処理を実施しているときにステータスバーにアイコンを表示させ、
処理が終わるとアイコンを消すという動きを実現させたいんですが、
ステータスバー上に置いたアイコンの制御がうまくいかず困っています。

■コンポーネントの親子関係

ActionBarAdviser
└IStatusLine・・・・・・(ステータスバー)
  ├IContributionItem
  │├Canvas・・・・・・(アイコン)
  │└Canvas・・・・・・(アイコン)
  ├IContributionItem
  └IContributionItem
      :

イメージとしてはEclipseでビルド等を行うと右下のほうに出る緑色のボタンみたいな感じです。

このアイコンのsetVisible(boolean)を呼び出して表示/非表示を切り替えるんですが、
上記のダウンロード処理を別スレッドで実行し、スレッドの終了時点でDisplay#asyncexec()に処理を渡しても
アイコンが切り替わりません。
Ecripseのデバッグで追ってみたんですが、アイコンのvisibleステータスは確かに切り替わっているよう
だったんですが、各アイコンのredraw()を呼び出しても効果はありませんでした。

アイコン自身にマウスクリックイベントのリスナをセットし、リスナからsetVisibleを呼び出すと、
正常にアイコンが非表示に切り変わるため、呼び出し方の問題か、と考えております。

530 :デフォルトの名無しさん:2013/05/23(木) 23:36:17.72
(つづき)

現在の処理は下記のように実装してます。
ご助力よろしくお願いします。

(new Thread(){
public void run(){

    Shell parent = (親シェル);
    Canvas canvas = (アイコン);

    // ダウンロード処理
    DownloadClass.execute();

    // ボタン切り替え処理呼び出し
    parent.getDisplay().asyncexec(new Runnable(){
        public void run(){
            canvas.setVisible(false);
        }
    });

}
}).start();

531 :デフォルトの名無しさん:2013/05/24(金) 10:55:16.21
親スレッド側にはメッセージループはあるんだよね?

532 :デフォルトの名無しさん:2013/05/24(金) 16:41:26.30
オブジェクトの比較について質問です。

final longのid値をフィールドに持つBeanにおいて、equals()の実装をid値の比較として実装しました。
# 別インスタンスでもid値が等しければtrue.

そのため、hashCode()もid値から算出した値にしたのですが、このようなインスタンスが違うのに等価とするような実装はJava的に許されているのでしょうか?
書ける書けないではなくお作法的な意味です

533 :デフォルトの名無しさん:2013/05/24(金) 16:45:25.42
Stringのequalsってどうなってる?

534 :デフォルトの名無しさん:2013/05/24(金) 16:52:48.56
>>533
Stringは同じ文字列だと文字列プールから同じインスタンスが戻される仕様になってる

535 :デフォルトの名無しさん:2013/05/24(金) 17:02:41.38
>>534
半分

new Stringした場合は別のインスタンスになるから格納されている文字列の比較になるな

536 :デフォルトの名無しさん:2013/05/24(金) 17:08:57.01
なんか意図しないレスが付いてるww

String a = "test";
String b = "test";
if ( a == b ) System.out.println("true");

String c = new String("test");
String d = new String("test");
if ( c == d ) System.out.println("true");

の違いやね。

537 :デフォルトの名無しさん:2013/05/24(金) 17:41:47.89
>>532
インスタンスが違っても中身が等しければ等価でいいけど普通それはidだけじゃなくて全フィールドを比較する
idが等しいだけで他の値が異なるものを等価扱いして自分は混乱しないか?
混乱しないなら、まぁ、いいんじゃない

538 :デフォルトの名無しさん:2013/05/24(金) 17:52:50.40
id取得して比較すればいいのに
面倒だからってequals()にやらせるなよ
使う側がフィールドの値も全部同じだと勘違いしてバグの元

539 :デフォルトの名無しさん:2013/05/24(金) 18:07:59.39
532です、レスありがとうございました
やはり正しくない実装のようですね
全フィールド比較にします

540 :デフォルトの名無しさん:2013/05/24(金) 18:13:11.32
正しいか正しく無いかを決めるのは自分だと思うんだが。

わざわざStringの話がでてるのに、なんでそうおもうの?

541 :デフォルトの名無しさん:2013/05/24(金) 18:29:12.62
たしかにわかりやすいかどうかならわかりにくいやり方だと思うけど
求められる仕様としては正しいってことはよくある
書ける書けない、お作法的に正しい正しくない、仕様として正しい正しくないは全部別の問題だな

542 :デフォルトの名無しさん:2013/05/24(金) 19:24:24.51
Hibernateが吐くエンティティオブジェクトが確かそんな実装になっていた記憶が。
基本的にequalsはクラスとidの比較をしていたような。

543 :デフォルトの名無しさん:2013/05/24(金) 19:27:32.44
HibernateのEntityってテーブルのレコードだよな
しかも物理キーとしてidを持つ仕様だからそれで合ってる気がする

544 :デフォルトの名無しさん:2013/05/25(土) 15:34:11.58
おい、糞ども。

俺の一番嫌いな言葉は「オブジェクト指向」だ。

545 :デフォルトの名無しさん:2013/05/25(土) 15:39:32.77
>>544
さよか。なんでや?

546 :デフォルトの名無しさん:2013/05/25(土) 17:48:09.70
オブジェクト指向が理解できなかったんだろう。

547 :デフォルトの名無しさん:2013/05/25(土) 17:57:38.66
アランケイあたりが、今の意味のオブジェクト指向を理解していたとは思えないんだけどな。

548 :デフォルトの名無しさん:2013/05/25(土) 18:11:14.58
アラン・ケイ「オブジェクト指向(Object-Oriented)という言葉は私が作った。そのとき、C++ を想定していなかったことは確かだ」

おそらくJavaについても。

549 :デフォルトの名無しさん:2013/05/25(土) 21:18:40.51
大まかな全体の機能を部品に分けるだけの指向を理解できないってどういうことだってばよ

550 :デフォルトの名無しさん:2013/05/25(土) 21:35:52.17
当時は、そういったものはクラスライブラリを扱うためのテクニックで、
「オブジェクト指向」そのものではなかったんだ。
クラスライブラリを扱う方法をDBに応用したものが80年代の半ばに
「オブジェクト指向データベース」なる論文として発表されていて、
そのあたりで狂ってしまったと思う。

551 :デフォルトの名無しさん:2013/05/25(土) 21:46:45.50
皮肉に決まってるだろw

552 :デフォルトの名無しさん:2013/05/25(土) 22:45:34.23
Javaでオブジェクト指向といえばもちろん
ORMの型=モデルで処理は全部コントローラに書いて
MVCと言い張るアレのことですよね?

553 :デフォルトの名無しさん:2013/05/25(土) 22:51:20.45
処理をどこに置こうと生産性やチームでの理解や利便性が高ければ立派なオブジェクト指向なんだよ
一人で作ったゴミみたいなオナニーソースでも本人がオブジェクト指向と言えばそれはオブジェクト指向なんだよ

554 :デフォルトの名無しさん:2013/05/25(土) 23:14:31.19 ID:gjy9cdEt!
>>552
それどちらかというとRailsからの影響がでかいような・・・

555 :デフォルトの名無しさん:2013/05/25(土) 23:54:41.82
最近PlayFrameworkの記事が多いきがするんだけど、盛り上がってるの?
このフレームワークはゴミとか言っている人いたんだけど

556 :デフォルトの名無しさん:2013/05/26(日) 01:11:48.93
>>528 同様、俺も >>514 が気になる。
ソフト開発者が見せたいルック&フィールを明示的に指定するのはNGなのか?
Alt + F4 を無効にするソフトは糞だと思っている。
それと同じくらいダメ?

557 :デフォルトの名無しさん:2013/05/26(日) 07:49:12.98
何がどうNGなのか
プラットフォームの空気を読まないアプリはクソって意味?
んなもんJavaを選択した時点で既に十分NGなのに何を今更

558 :デフォルトの名無しさん:2013/05/26(日) 09:26:58.79
オブジェクト指向

って日本語としてどうよ?

559 :デフォルトの名無しさん:2013/05/26(日) 09:35:19.94
変ですね。終了。

560 :桃白白 ◆9Jro6YFwm650 :2013/05/26(日) 09:37:06.65
>>558
いんじゃないか。他に適切な言い方ある?オブジェクト中心とか?ダサいだろ。
どこの@ITだって話じゃん。

561 :デフォルトの名無しさん:2013/05/26(日) 09:41:13.25
「oops(うっぷす)と呼ばれる特徴を持った
プログラミング言語」

562 :デフォルトの名無しさん:2013/05/26(日) 09:51:38.18
>>558
女だけ制服ってあるわ

563 :デフォルトの名無しさん:2013/05/26(日) 09:52:36.71
>>562 むしろ女だけ制服が正義

564 :デフォルトの名無しさん:2013/05/26(日) 10:19:14.00
object-oriented

目的志向
オブジェクトオリエンテーション

最初に翻訳した人、どっちかにすればよかったのにな

565 :桃白白 ◆9Jro6YFwm650 :2013/05/26(日) 10:30:34.45
>>564
それはないわ。目的同士がやりとりするなんて言い方
日本人として言っちゃいけないわ。国籍返上するべきだわ。

566 :デフォルトの名無しさん:2013/05/26(日) 10:53:33.78
対象物指向

567 :デフォルトの名無しさん:2013/05/26(日) 10:55:16.85
orientedは志向で迷わなかったが
objectに対する日本語は人によって感じ方が違うとか

568 :デフォルトの名無しさん:2013/05/26(日) 11:03:38.46
日本語で目的というと形のないものというニュアンスが強いから
不適切だと思うわ

569 :デフォルトの名無しさん:2013/05/26(日) 11:12:33.01
俗物思考

570 :デフォルトの名無しさん:2013/05/26(日) 11:14:23.39
主語・動詞・目的語の、目的語指向だよな

571 :デフォルトの名無しさん:2013/05/26(日) 11:21:15.09
Javaはオブジェクト指向的言語であって
純粋なOOPじゃないだろ
信者うざすき

572 :デフォルトの名無しさん:2013/05/26(日) 11:28:29.36
Smalltalkでしょ、それくらい知ってますよ

573 :デフォルトの名無しさん:2013/05/26(日) 11:40:06.25
Java使いは「interfaceこそOOの真髄で
interfaceの無い言語はOOにあらず、
OOの起源はJavaニダ」
という教義を信仰するからね。
せめて「OOPの一つ」ぐらいに妥協したほうがいい。

574 :桃白白 ◆9Jro6YFwm650 :2013/05/26(日) 11:51:21.65
>>570
桃白白、それ違うと思う。
Smalltalkではオブジェクトはメッセージを受け取るものと定義されてる。
日本語文法の目的語は対象格とも呼ばれるもので一見よさそうに思えるけど、
「桃白白がメッセージを受け取る」というとき、目的語は「メッセージを」になる。
メッセージを受け取るのは主語である「桃白白が」だから、
オブジェクト指向のオブジェクトは日本語文法では主語になる。

575 :デフォルトの名無しさん:2013/05/26(日) 11:52:30.96
>>567
事物、物体、対象。意味のわからないのはカタカナと変わらないな。

LOGOがペイント系にマクロつけたみたいなのだったに対し、
SmallTlakがドロー系にマクロつけたみたいだったから、
うっかりすれば図形指向みたいな継続不能の翻訳になったかも知れない。

オブジェクトじゃなくてヴィジュアル指向みたいな名前にしていたら、
アラン・ケイの名前は残らなかっただろう。

576 :デフォルトの名無しさん:2013/05/26(日) 14:43:29.49
C->C++の時に思ったのは
「構造体に関数が入って、変数・関数共に外部からの制御が出来るようになった」 だけ
「オブジェクト指向なんて大層な言葉をつかうなよ」

577 :デフォルトの名無しさん:2013/05/26(日) 14:46:47.11
ノウハウを整理したものだからな
単なる再入可能なモジュール

578 :デフォルトの名無しさん:2013/05/26(日) 14:48:47.51
ぽりもとかですとらくたとかあるじゃん

579 :デフォルトの名無しさん:2013/05/26(日) 15:38:13.22
>>573
interfaceって土方用ための言語仕様じゃないか。
そんなものありがたがってるなんて。

580 :デフォルトの名無しさん:2013/05/26(日) 16:02:06.99
go back

581 :デフォルトの名無しさん:2013/05/26(日) 16:05:03.99
「オブジェクト指向(プログラミング)」といっても大きく分けて出自の異なる二種類がある。

ひとつはアラン・ケイが提唱した「オブジェクトにメッセージを送るメタファで全部やる」アイデア。
「メッセージ指向」とも言う。メッセージパッシングが注目されがちだけれども、これは飾りで、
本質は「できるだけ動的になんでもやる」というところ。
それでどこまでできるか試しに作られたのがSmalltalk。言語処理系というよりは、
彼の考える理想のパーソナルコンピューターの暫定的・仮想的なOSとして作られた経緯がある。

もう一つはビヨーン・ストラウストラップが提唱した「クラスをユーザー定義型として利用する」アイデア。
抽象データ型のオブジェクト指向とも言われ、「カプセル化、継承、多態性」がこれの三要素と言われるけど、
カプセル化は抽象データ型(ユーザー定義型)と同義だし、継承と多態性はクラスの特徴なので
先の「ユーザー定義型をクラスを使って実現する」という考え方の言い換えに過ぎないことは
意外と知られていない。この考え方の実験として作られたのが C with Classes。
C++もこの考え方を強くサポートする(が、それのみではない)。

最近はこの二つとは別に第三のプロトタイプベースのオブジェクト指向というのがあるけれど、
これは Smalltalk で(本質ではないしケイも嫌っていた)クラスを導入したばかりに
メタクラスとかいろいろと複雑になってしまった反省として生まれた、もともとは
メッセージング指向を純化した考え方だったんだけれども、そのうち「メッセージ」なんていう
メタファも不要でない?となって、フレーム(オブジェクト)とスロット(属性)、あと委譲のための
特殊なスロットさえ用意されていればOKというミニマリズムに落ち着いた。JavaScript は
この考え方に多く従うメジャーな言語のひとつ(もちろん純粋ではない)。

Java は Smalltalkライクなブジェクトモデルと Cライクな文法を使って、C++ライクな
オブジェクト指向(メッセージングではなく抽象データ型のオブジェクト指向)として作られた。

ちなみにインターフェイスというのは「クラスを抽象データ型」として使う際の欠点を補うために
作られた言語機能で Objective-C のプロトコルという言語機能が元ネタ。

582 :デフォルトの名無しさん:2013/05/26(日) 18:32:43.32
(天国のアラン・ケイが、コンピュータからの直系ではなくて、
  電話から進化した高機能ガラケーやスマホを見たらどう思うんだろうか……)
なんて考えたことがある。

んでWikipedia見たら、まだ生きてんじゃん!!
リッチーはこの前死んじゃったけど、
コンピュータ史での「伝説の人物」って、みんなわりと健在なのね。

583 :デフォルトの名無しさん:2013/05/27(月) 00:19:50.92
>>582
酷い先入観だけど、ギークは、コーラやハンバーガーを食いまくっているから成人病を患いやすく、短命だと思い込んでいたw

584 :デフォルトの名無しさん:2013/05/27(月) 01:56:35.36
>>583
それってぎーく以前にアメリカ人の問題だろう。

585 :デフォルトの名無しさん:2013/05/27(月) 23:23:12.90
でもここだけの話、日本人の技術者がみな ninja なのは本当だぞ

586 :デフォルトの名無しさん:2013/05/28(火) 02:29:03.76
>>585
おっとそれはインターネットじゃ言っちゃいけない掟を忘れたか。

587 :デフォルトの名無しさん:2013/05/28(火) 09:34:28.11
SAMURAIプログラマーはいなくなってしまった。

588 :デフォルトの名無しさん:2013/05/28(火) 09:48:47.26
バグを出したら切腹するため絶滅したSAMURAIプログラマー
バグを仕込んでシステム崩壊させるNINJAプログラマーは繁栄

589 :デフォルトの名無しさん:2013/05/28(火) 12:24:38.69
SAMURAI-PG「BUSHIDOは死ぬ事と見つけたり   グフッ…」
バグも見つけられないくせに。

590 :デフォルトの名無しさん:2013/05/28(火) 15:02:18.89
Java初心者です
お恥ずかしい質問ですがよろしくお願いします

本を見ながらJavaの勉強を始めたのですが
最初の簡単なJavaプログラムを作ろうという手順で

public class Lesson03 {
public static void main(String[] args) {
System.out.println("Hello Java !");
}
}

というコードのソースコードを作ったのですが
コマンドプロンプトで起動したところ
http://i.imgur.com/QE1DF90.png
このように、うまく表示されないのです
ソースコードの何処かにミスが有るんでしょうか
教えてください

591 :デフォルトの名無しさん:2013/05/28(火) 15:12:18.12
超初心者の質問だとわかっていても笑ってしまった

592 :デフォルトの名無しさん:2013/05/28(火) 15:22:18.29
javacはソースコードをコンパイルして実行できる形式にするだけ
実行するときはjavaコマンドを使う

593 :デフォルトの名無しさん:2013/05/28(火) 15:28:27.81
>>592
あ、なるほど
勘違いしていました
おかげで解決しました
ありがとうございます

594 :デフォルトの名無しさん:2013/05/28(火) 15:32:29.37 ID:077Ivpug!
質問の仕方がとても丁寧なだけにむしろほのぼのした。GJ w

595 :デフォルトの名無しさん:2013/05/28(火) 17:33:50.54
学生か新卒社会人かね。

質問はなんてことない、初心者らしい簡単な勘違いだけど、
スクショ画像の「←ここに表示されるはず」って注釈が素晴らしいな。
将来有望だね。

596 :デフォルトの名無しさん:2013/05/28(火) 18:45:33.49
こういう質問が出ないようにコマンドプロンプトまで載せてる本あるよね

597 :デフォルトの名無しさん:2013/05/28(火) 21:40:59.60
>>590を読んで、「Windowsの電卓アプリに"1764÷42="と入力するとOSがフリーズする。」という古いジョークを思い出した。
初心者のためにもユーザーインターフェースは大切だね。

598 :デフォルトの名無しさん:2013/05/28(火) 23:08:05.47
どゆこと?

599 :デフォルトの名無しさん:2013/05/28(火) 23:38:40.00
>>597
windows持ってない初心者な俺にもわかるように話してくれ。

600 :デフォルトの名無しさん:2013/05/28(火) 23:47:57.90
割る数と商が同じ42だから
計算結果が表示されず画面に変化がないように見えフリーズしたと勘違いしてる

601 :デフォルトの名無しさん:2013/05/28(火) 23:48:52.72
>>599
windows7な我にもわからん

602 :デフォルトの名無しさん:2013/05/28(火) 23:49:33.88
>>600
EEEEEEEEE

603 :デフォルトの名無しさん:2013/05/28(火) 23:54:17.61
>>600
なろほど。でも、従来の物理的な電卓がそれで受け入れられているのだから、踏襲した判断は正しいと思う。

604 :デフォルトの名無しさん:2013/05/29(水) 00:05:43.22
>>603
従来の物理的な電卓では、「=」を押すと画面表示が一瞬消えるはず

605 :デフォルトの名無しさん:2013/05/29(水) 00:27:13.04
>>604
一瞬の長さが違うわけだ。

606 :デフォルトの名無しさん:2013/05/29(水) 00:40:54.15
>>605
Windowsの電卓では、一瞬消えたようには普通は見えないと思う
というか、消えてるか?

607 :597:2013/05/29(水) 00:59:38.45
意味は>>600が書いてくれた通り。

Windows2000辺りで標準インストールされていた電卓アプリは数字しか表示しないお粗末なものだった。それを揶揄した古いジョークです。

608 :デフォルトの名無しさん:2013/05/29(水) 01:28:16.17
>>606
再描画はしているだろう。

609 :デフォルトの名無しさん:2013/05/29(水) 01:41:39.41
再描画だけで消してないのね

610 :デフォルトの名無しさん:2013/05/29(水) 02:12:13.60
再描画するとき消さないのか。

611 :デフォルトの名無しさん:2013/05/29(水) 02:14:22.38
消さないならフリーズというかバグってるように見えるなw

612 :デフォルトの名無しさん:2013/05/29(水) 02:45:40.78
そもそも普通に使っていてWindowsがフリーズしすぎだから‥‥‥

613 :デフォルトの名無しさん:2013/05/29(水) 03:01:08.27
嫌われてんだよ

614 :デフォルトの名無しさん:2013/05/29(水) 07:52:57.03
>>600
理解できないなぁ
数字の変化はないが、これがフリーズと思う人なんかいるのか?

615 :デフォルトの名無しさん:2013/05/29(水) 10:00:09.16
だから元はジョークなんだってば
俺が開発したソフトもコレと似たような問題があって
画面が書き換わっている描写をわざわざ作りこんだわ

616 :デフォルトの名無しさん:2013/05/29(水) 10:59:34.92
電子工学やって工業英語やって数学やって論理学やって言語学やって
さらに工業デザインと心理学までやらなきゃ、
「まともな電卓」ひとつ作れないってことだな…。頭痛くなるな。

617 :デフォルトの名無しさん:2013/05/29(水) 11:05:16.56
>>615
ANRではないがANRのようなもの って事だね
Googleに解説があったような...ユーザーが...変化がないと...どうたら、こうたら、かんたら...

618 :デフォルトの名無しさん:2013/05/29(水) 12:34:27.83
同じ欄を使い回す設計がよくない
数字なんか特にそうだけど、書き換わっても気づかないのが当たり前というレベルだし

619 :デフォルトの名無しさん:2013/05/29(水) 20:34:56.83
String[] args
String args[]
はどう違うのでしょうか?

620 :デフォルトの名無しさん:2013/05/29(水) 21:08:27.57
ファイルとディレクトリを含むzipファイルの中身が指定したディレクトリに存在するか確認する方法はありますか
zipのファイル名を一括で取得する方法は調べましたがディレクトリと分けて確認する方法がみつからない

621 :デフォルトの名無しさん:2013/05/29(水) 22:27:02.25
>>619
同じ
String[] argsのほうが自然だが、他言語経験者に配慮して
String args[]でも可とした

622 :デフォルトの名無しさん:2013/05/29(水) 22:37:32.85
C脳への配慮はJavaの汚点
デフォルトアクセスレベルがパッケージスコープとかな

623 :デフォルトの名無しさん:2013/05/29(水) 22:44:56.75
一番の汚点はプリミティブ型だろ。

624 :デフォルトの名無しさん:2013/05/29(水) 23:30:13.95
String配列同士の要素の順番関係なしに内容が全て等しいかを比較する方法ないですか?

625 :デフォルトの名無しさん:2013/05/29(水) 23:31:00.74
比較すれば良いだけだが何かお困りで?

626 :デフォルトの名無しさん:2013/05/29(水) 23:33:14.81
やっぱループして処理するしかないのか

627 :デフォルトの名無しさん:2013/05/29(水) 23:38:17.31
JABA.util.Arrays.equals

628 :デフォルトの名無しさん:2013/05/29(水) 23:43:52.22
>>627
ありがとう
こんなの探してた

629 :デフォルトの名無しさん:2013/05/29(水) 23:44:42.90
順番関係無しって何だ?
cloneしてArrays.sortしてArrays.equals比較しろってこと?

630 :デフォルトの名無しさん:2013/05/30(木) 05:53:46.81
>>621
>>String[] argsのほうが自然だが、他言語経験者に配慮して
>>String args[]でも可とした

String[] argsが自然な人はC・C++ or多言語未経験者だな
じゃばら〜以外は気持ち悪くて使えない

631 :デフォルトの名無しさん:2013/05/30(木) 06:06:19.81
>>621
ありがとうございます!

632 :デフォルトの名無しさん:2013/05/30(木) 06:44:07.39
>>630
今時配列がオブジェクトじゃない言語の方が珍しいくらいだが

633 :デフォルトの名無しさん:2013/05/30(木) 09:09:52.56
>>632
C#とか? 知らんけど
インタプリタはどうでもいい

634 :デフォルトの名無しさん:2013/05/30(木) 09:12:24.47
なんだ馬鹿が知ったかしてただけか

635 :デフォルトの名無しさん:2013/05/30(木) 09:15:05.44
>>621
そんなすぐなれることに配慮するの辞めて欲しい

636 :デフォルトの名無しさん:2013/05/30(木) 09:24:09.95
>>635
そんなことよりもじゃわ自体をなくして欲しい

637 :デフォルトの名無しさん:2013/05/30(木) 09:29:40.80
アンドは実質じゃわでの開発になるが、
PCでじゃわなんてやらされるのは屈辱だろうな C/C++プログラマにとって

638 :デフォルトの名無しさん:2013/05/30(木) 09:38:06.73
俺もC#があればJavaなんて要らないと思う

639 :デフォルトの名無しさん:2013/05/30(木) 10:21:10.13
シーゲンガーにジャパは難しいだろうからなw
ポインタもCの単純な参照渡ししか理解してなくて配列のポインタに
newしたオブジェクトとか入れて「ファッ!?」とかなってる奴いっぱいいそうだ

640 :デフォルトの名無しさん:2013/05/30(木) 14:11:25.22
windows以外ではC#のサポートは弱く感じる

641 :デフォルトの名無しさん:2013/05/30(木) 14:35:55.64
JavaとLinux を滅ぼすという使命をもって作られたからな

642 :デフォルトの名無しさん:2013/05/30(木) 15:06:10.87
String args[]でも可だけど
そういう記述している本は投げ捨てた方がいいなどと言われてる

643 :デフォルトの名無しさん:2013/05/30(木) 17:30:15.86
Javaは配列自体が参照型なんだから
String[] a1; の方が自然に決まってる。

ところで
main(String[] args) と
main(String... args) との比較はおまえらどっちですか?
mainは可変個の情報を受け取るものだから
後者が自然と思う。

644 :デフォルトの名無しさん:2013/05/30(木) 18:07:41.44
ideの自動生成に任せる
つまりString[] argsの方を使う

645 :デフォルトの名無しさん:2013/05/30(木) 22:35:33.90
java初心者です。
継承について勉強しているんですど、参考書にフィールドはprivateで宣言して、アクセサで参照したほうが拡張性の高いクラスになるって書いてあって、その理由も理解できるんですけど、privateはサブクラスに継承されないんですよね?

参考書にサブクラスで、スーパークラスのアクセサを用いてスーパークラスのprivateフィールドを参照(セッター)している所があるんですが、これってprivateのフィールドを継承出来てるってことじゃないんですか?

長文失礼しました。回答お願いします。

646 :デフォルトの名無しさん:2013/05/30(木) 22:37:46.59
>スーパークラスのアクセサを用いてスーパークラスのprivateフィールドを参照(セッター)している所があるんですが、これってprivateのフィールドを継承

いやそれは違う

647 :デフォルトの名無しさん:2013/05/30(木) 22:44:35.97
>>646
サブクラスのインスタンスを宣言した時点でメモリが確保されますよね?privateフィールドの値を設定できるって事はその分のprivateフィールドのメモリもあって、継承してるように感じるのですが…

私の継承への認識は何か勘違いしているのでしょうか?

648 :デフォルトの名無しさん:2013/05/30(木) 22:55:41.31
>>647
「継承」の用語の定義の認識が違う。
クラスB(private int iを持つ)をクラスDが継承しているとき
もちろんDにはiが含まれるがそれを
「メンバーiを継承している」とは言わない。
メンバーについての「継承」は
「継承するクラスの型の参照経由でアクセスできるか?」
的な意味で使用する。

649 :デフォルトの名無しさん:2013/05/30(木) 22:56:29.88
privateなメンバ変数のスコープはクラスだから継承しても子クラスからは参照出来ない
言語規約で継承とはそういうお約束になっていると思ってください

650 :KUSO KOTE:2013/05/30(木) 23:08:43.78
言語仕様で継承の定義は無いが
そのような意味で使用されている。
8.4.8 Inheritance, Overriding, and Hiding
A class C inherits from its direct superclass and direct superinterfaces all abstract
and non-abstract methods of the superclass and superinterfaces that are public,
protected, or declared with default access in the same package as C

651 :デフォルトの名無しさん:2013/05/30(木) 23:22:36.77
ありがとうございます

私の継承の認識が間違ってたみたいですね。

確認ですが、 >>648さんの例で言うと
@クラスDのインスタンスのメモリ上にはprivate フィールドであるiのメモリも確保されている。

AクラスD.iのようにクラスD経由でのアクセスはprivateによって出来ない。

BクラスBにあるアクセサからならクラスB経由なので、iに値を設定できる。


この認識であっているでしょうか?

652 :デフォルトの名無しさん:2013/05/30(木) 23:27:15.40
yes

653 :デフォルトの名無しさん:2013/05/30(木) 23:33:45.79
ここ3日程継承について困惑していたので、スッキリしました。

思いきって質問してみて良かったです。ありがとうございました。

654 :デフォルトの名無しさん:2013/05/31(金) 09:20:00.51
ループ内で毎回キャストを使うようなプログラムを書いたら処理が重くなったんですが、
Javaのキャストって、結構コストがかかるもんなんでしょうか?

655 :デフォルトの名無しさん:2013/05/31(金) 10:13:22.81
File.createTempFileで作られるファイルの場所って指定できないでしょうか?
xmx見たいな感じにjava -temp=bar foo.jar 的な感じで指定できたらいいんですけど
createTempFileをつかうfoo.jarの中身はいじらないでできる方法がしりたいです

656 :デフォルトの名無しさん:2013/05/31(金) 10:46:03.44
-Djava.io.tmpdirで自己解決

657 :デフォルトの名無しさん:2013/05/31(金) 10:48:38.92
>>655
http://docs.oracle.com/javase/jp/7/api/java/io/File.html#createTempFile(java.lang.String,%20java.lang.String,%20java.io.File)
> directory 引数が null の場合、システムに依存するデフォルトの一時ファイルディレクトリが使用されます。
> デフォルトの一時ファイルディレクトリは、システムプロパティー java.io.tmpdir で指定されます。
> UNIX システムの場合、このプロパティーのデフォルト値は "/tmp" または "/var/tmp"、
> Microsoft Windows システムの場合は "C:\\WINNT\\TEMP" です。
> ただし、Java 仮想マシンを起動したときに、このシステムプロパティーに別の値が指定されることがあります。
> プログラムを使用してこのプロパティーを変更しても、このメソッドが使用する一時ディレクトリを変更できるとは限りません。

658 :デフォルトの名無しさん:2013/05/31(金) 17:53:18.38
>>654
いいえ。
キャストが重いというのは通常ないと思います。

659 :デフォルトの名無しさん:2013/05/31(金) 18:45:36.02
ただのキャストだと思ってオートボクシングしてるかもよ?

660 :デフォルトの名無しさん:2013/06/02(日) 00:07:13.86
ループのたんびにClassCastException出ていたら遅いかもねー

661 :デフォルトの名無しさん:2013/06/02(日) 07:33:51.30
http://i.imgur.com/xxJkaTP.png

Eclipseで日本語のjavadocのホバーが文字化けするんですけどどうしたらなおりますか?
参照先はhttp://docs.oracle.com/javase/jp/7/api/ここですshift+F2では問題なく表示されます

662 :デフォルトの名無しさん:2013/06/02(日) 14:30:07.14
7のAPI、日本語化してくれたのはありがたいんだが、
lang="en"のままとか、色々と仕事が雑だ。

HTMLにcharset指定入れてるのはjavadocでなくTRADOS製翻訳ツールらしい。

翻訳業者にはjavadocソースじゃ無くてHTML出力渡してるとかいうオチかな?

663 :デフォルトの名無しさん:2013/06/02(日) 16:20:30.98
質問です。

double での余りを算出したいです。
C言語にはfmodという関数がありますが、それにあたるJAVAの関数はありますでしょうか?
よろしくお願いします。

664 :デフォルトの名無しさん:2013/06/02(日) 16:23:24.39
>>663
java.lang.Math#IEEEremainder(double, double)

665 :デフォルトの名無しさん:2013/06/02(日) 16:25:40.59
>>663
%

666 :663:2013/06/02(日) 16:27:04.64
>>664
ありがとうございます

667 :663:2013/06/02(日) 16:30:56.14
>>665
あああ。。。
double でも % 使えたんですね。
失礼しました。

668 :KUSO KOTE:2013/06/02(日) 16:41:20.84
>>664
IEEEremainderはfmodと結果違うでしょ。
fmodに対応するのは%じゃないの?

669 :KUSO KOTE:2013/06/02(日) 16:55:33.51
補足。
2.9 ÷ 1.0の計算で
余り0.9が欲しいなら % (Cのfmodはこれの筈)
余り-0.1が欲しいならIEEE

670 :デフォルトの名無しさん:2013/06/02(日) 18:18:09.07
>>669
しつこい

671 :デフォルトの名無しさん:2013/06/02(日) 19:18:23.65
なんだこいつ

672 :デフォルトの名無しさん:2013/06/02(日) 19:42:07.48
時刻と気温のペアが大量に記録されています。
時刻aから時刻bまでの間の最高気温と最低気温を同時に問い合わせるのに適した索引はどんなのですか?

673 :デフォルトの名無しさん:2013/06/02(日) 19:49:47.90
>>672
DBスレで訊けボケナス。
時刻にインデックスを付ける。
間引いた時間帯ごとに最高と最低を持つ。

674 :デフォルトの名無しさん:2013/06/02(日) 20:01:36.32
データベース
http://toro.2ch.net/db/

675 :デフォルトの名無しさん:2013/06/02(日) 20:02:09.17
【PureJava】 Derby 1 【OpenSource】
http://toro.2ch.net/test/read.cgi/db/1128799341/

676 :デフォルトの名無しさん:2013/06/02(日) 20:04:30.06
>>675
話が理解できず単語レベルで反応する
アスペさんですね

677 :デフォルトの名無しさん:2013/06/02(日) 20:07:39.34
(^p^)

678 :デフォルトの名無しさん:2013/06/02(日) 20:12:05.81
ボットにマジレス、カコワルイ

679 :デフォルトの名無しさん:2013/06/02(日) 20:19:48.35
for(i=a;i<=b;i++){
if(maxtmp<tmp[i]) maxtmp=tmp[i];
if(mintmp>tmp[i]) mintmp=tmp[i];
}
これでおk

680 :デフォルトの名無しさん:2013/06/02(日) 20:23:23.00
aとbは時刻だよ

681 :デフォルトの名無しさん:2013/06/02(日) 20:31:20.35
>>679
おまえにまともなデータ設計はムリ

682 :デフォルトの名無しさん:2013/06/02(日) 21:48:22.66
>>681
しつこい

683 :デフォルトの名無しさん:2013/06/02(日) 23:13:26.90
適切な索引をきいているのに
>>679は回答になってないだろう

684 :デフォルトの名無しさん:2013/06/02(日) 23:52:04.84
>tmp[i]
この時点でデータ構造が何かへんだぞ。

685 :デフォルトの名無しさん:2013/06/02(日) 23:58:41.33 ID:ioPsxRq/!
まずデータはメモリ上なのかディスク上なのかが解らないと何とも。
何れにしても単なるレンジスキャン以上に効率を上げたいのであれば事前にドリルダウン
集計した表とか用意しないとMINやMAXの場合は多分ダメと思う。

686 :デフォルトの名無しさん:2013/06/03(月) 00:03:03.46
大量と書いてあるからメモリはまずいよね?

687 :デフォルトの名無しさん:2013/06/03(月) 00:12:28.39
ドリチン?ダウン?
(@_@)?

688 :デフォルトの名無しさん:2013/06/03(月) 00:20:03.88
索引 (データベース) - Wikipedia
http://ja.wikipedia.org/wiki/%E7%B4%A2%E5%BC%95_(%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9)

689 :デフォルトの名無しさん:2013/06/03(月) 11:01:56.27
洒落にならない巨大さだったら、ウェーブレット木とかかなあ

690 :デフォルトの名無しさん:2013/06/03(月) 11:05:10.01
>>672
あえて java.util.NavigableMap を勧めてみるテスト

691 :デフォルトの名無しさん:2013/06/03(月) 12:31:15.63
extendsしたときってthisつけた方がいいのですかね?

例えば
extends Canvasなら
this.setPreferredSize(new Dimension(width, height));

みたいなことです。

自分は、
public void setX(int x) {

692 :デフォルトの名無しさん:2013/06/03(月) 12:32:29.26
extendsしたときってthisつけた方がいいのですかね?

例えば
extends Canvasなら
this.setPreferredSize(new Dimension(width, height));

みたいなことです。

自分は、
private int x;
public void setX(int x) {
this.x = x;
}

のような場合のみthisつけるようにしています

693 :デフォルトの名無しさん:2013/06/03(月) 12:37:38.01
>>692
別につけなくてもいいと思うが、
どうしても親クラスのメソッドフィールドにアクセスする時に接頭辞付けたいなら、
thisじゃなくてsuper使った方がいい。

最近はIDEやエディタの方で色分けしてくれる事が多いので別につけなくてもいい。

694 :デフォルトの名無しさん:2013/06/03(月) 15:42:26.80
>>693
ありがとうございました。

695 :デフォルトの名無しさん:2013/06/03(月) 16:13:17.45
String s = 'a' + 'b';
これはできないのに、

String s = 'a' + 'b' + "";
これができるのはなんでなの?

696 :デフォルトの名無しさん:2013/06/03(月) 16:19:23.30
Javaってシングルクオートが使えたのか

697 :デフォルトの名無しさん:2013/06/03(月) 16:20:59.82
シングルクオートはchar型か、C言語と同じやな。

698 :デフォルトの名無しさん:2013/06/03(月) 16:21:33.57
オートボクシング

699 :桃白白 ◆9Jro6YFwm650 :2013/06/03(月) 17:14:34.70
>>695
たぶんこれ。

Chapter 15. Expressions
http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.18

+をAdditive演算子と呼ぶ。
Additive演算子の結合法則は左から右。
被演算子のうちどっちかが文字列だったら文字列の結合が行われる。
文字列の結合ではchar型のxという値を(new Character(x)).toString()で文字列にする。

String s = 'a' + 'b' + "";
String s = 195 + "";
String s = (new Character(195)).toString() + "";
String s = "195";

こんなふうに変換が行われる。これは実行時に行われるのか?よくわからん。

700 :デフォルトの名無しさん:2013/06/03(月) 18:29:31.79
boolean型と同様、char型も四則演算禁止にしとくんだったと

701 :デフォルトの名無しさん:2013/06/03(月) 18:44:12.02
オートボクシング

702 :デフォルトの名無しさん:2013/06/03(月) 20:37:16.57
Javaの仕様で好きなのは

drawString(String, int, int)みたいなメソッドを

int i;
drawString(i, 10, 10);
と書くとエラー吐いてくれることだねぇ

正しくは
drawString(i+"", 10, 10);

確かC++だと普通にコンパイル通っちゃうよね

703 :デフォルトの名無しさん:2013/06/03(月) 20:43:25.06
>>702
いや通らないだろ

704 :デフォルトの名無しさん:2013/06/03(月) 20:49:51.84
たまにこうしたくなる
for (char i = 'A'; i <= 'Z'; i++) a[i-'A'] = String.valueOf(i);

705 :デフォルトの名無しさん:2013/06/03(月) 20:56:13.26
きんもー☆

706 :デフォルトの名無しさん:2013/06/03(月) 21:11:54.23
それ意味なさすぎじゃね?

707 :デフォルトの名無しさん:2013/06/03(月) 21:48:02.84
文字置換でもcharとintで演算するよね
char同士の演算がしたいケースって何かある?

708 :デフォルトの名無しさん:2013/06/03(月) 21:49:10.55
1byte整数や2byte整数を扱いたいときどうすんのよ

709 :デフォルトの名無しさん:2013/06/03(月) 22:01:18.69
intで演算子すればいいだろ

710 :デフォルトの名無しさん:2013/06/03(月) 22:06:15.17
>>708
1byte整数→byte
2byte整数→short

711 :デフォルトの名無しさん:2013/06/03(月) 22:57:10.36
パフォーマンスの改善について質問です。

重い処理が2つあり、どうにか分散化できないか悩んでいます。
Windows , OS X , Linux 上で動かそうと思っています。

マルチスレッドにすると、マルチコアCPU搭載のマシンでは適当に処理が分散されると認識しています。
まず、その認識は正しいのでしょうか?

マルチコアCPU搭載のマシンで、重い処理の1つをコアAのCPUで処理して、
もう一方の重い処理をコアBのCPUで処理するという事を、明示的にJAVAで指定する事は可能なのでしょうか?

「マルチスレッド化」「重い処理をC++等のネイティブで書いて、そのライブラリを呼び出す」以外に、軽くする方法は無いでしょうか?

712 :デフォルトの名無しさん:2013/06/03(月) 23:05:26.98
「何が」重いのかによって異なる。
I/Oが重いなら本質的にI/Oタイムの短縮は難しい。
単純な計算で重い場合もスレッドに分割できない処理もある。
あとは具体的にどういう重さなのかがわからないとコメントは
難しいと思う。

713 :711:2013/06/03(月) 23:19:25.53
>>712
JBox2Dというライブラリをシングルスレッドで処理しています。
メインの処理(私が書いたもの)とJBox2Dの処理、どちらも重いので困っています。
JPhysXというのを見つけましたが、PhysXボードが必要なため組み込みを見送りました。

714 :デフォルトの名無しさん:2013/06/03(月) 23:23:39.03
>>703


715 :デフォルトの名無しさん:2013/06/03(月) 23:38:37.96
JavaプログラマがJavaプログラムをマルチスレッド化しないかぎり
Javaアプリがメニーコアの恩恵にあずかれることは普通ない。

GCが早くなるとかぐらいはあったかもしれないが。

そしてJavaでコア指定は無理。単一のCPU待ちリストから各コアがタスクをひったくっていくイメージ

716 :711:2013/06/04(火) 00:25:25.32
>>715
ありがとうございます。

結局は処理の重い方に引きずられそうですが、
分散化できそうなのでマルチスレッドにしてみます。

717 :デフォルトの名無しさん:2013/06/04(火) 00:38:09.37
>>716
違う処理を同時にやるのはマルチコア活用という点では効果を得にくいよ
可能ならデータ並列やるのが簡単で効果高い

718 :デフォルトの名無しさん:2013/06/04(火) 05:47:56.26
いきなりマルチスレッド化に挑戦するのではなくて各処理に要する時間などのプロファイルを
とってみるのが先決だろうなぁ。どんだけ短縮できそうか算段をつけてから作戦を立てる。

「とりあえずやっちゃってから結果を見る」が許されるのは旧日本陸軍まで。

719 :デフォルトの名無しさん:2013/06/04(火) 06:27:52.94
すべてのフィールドとメソッドにsynchronizedが付いてる糞コードを見たときに感じた気持ちは、
あえて言葉にするなら、まさに「旧陸軍」だわwww

>>711 は、もし「メインの処理」ってやつが描画処理を含むなら、
java.awt.Graphics2D#setRenderingHint() を調整して試してみるのも良いかも。
重い描画処理なら、速度に数倍の差は出ると思う。

720 :デフォルトの名無しさん:2013/06/04(火) 11:21:48.11
volatileimageを自前で使わなくてももう十分速度出るんだっけ?

721 :デフォルトの名無しさん:2013/06/04(火) 13:43:42.83
volatileはあまり見なくなったけどそれでもopenGL使ってたりするようなソースではまだ見るね
向こうの学校等ではきっちりやってる感じがする

722 :711:2013/06/04(火) 19:29:16.90
>>717
JBox2Dのワールドをマルチスレッドでいくつも作る予定です。
同じような処理を複数のスレッドで実行します。
マルチスレッドにするとマルチコアの恩恵を受けれそうなので、
今回はマルチスレッドにしてみようと思っています。
シングルスレッドよりも早い、、、はずです。

723 :711:2013/06/04(火) 19:35:43.09
>>718
幸いにもJAVAのスレッドの管理が物凄く簡単なので、
とりあえずマルチスレッドにしてから時間を算出してみようと思っています。
「やってみたら意外とアッサリと占領できた」なんてケースもありますから、
今回は旧日本陸軍で良いですw

>>719
描画ライブラリはlwjglを利用しています。
openGLの薄いラッパーなので速度的には申し分なく、満足しています。

724 :デフォルトの名無しさん:2013/06/04(火) 21:42:57.29
>>722
ワールドってワールド座標系のこと?
ゲームみたいなアプリケーションだとワールド座標系は単一で
ローカル座標系から変換して描画するイメージだと思うんだけど
何をやろうとしてるのか今いちよく見えない。
あと、描画の絡む処理で重い場合はマルチスレッドにしても効果
はあまりないと思う。

いずれにせよスレッドに分ける前に

・どこがボトルネックになっているのか(プロファイリング)
・ボトルネックの処理をスレッドに分けて効果があるのか(事前検証)
・効果がある場合はどのように分割するのか(設計)

という段取りを踏むのが適切なんじゃないの。

725 :711:2013/06/05(水) 01:01:46.53
>>724
通信を絡めたゲームのサーバー部分を作っています。
ワールドとはJBox2Dのシミュレート空間の事です。
JBox2Dは自分のPCでは四角のコリジョンを50個くらい出すと、FPSが60を切ってしまいます。
なので、キャラクター毎にコリジョンを10個くらい用意して(1キャラ1ワールド1スレッドで用意して)、
シミュレーションしようと考えています。
すると、マルチコアのPCでは処理が分散されて、早くなるはずです。
事前検証や設計は正攻法だとは思いますが、今回はやりません。
シングルスレッドで1ワールドシミュレート(もしくは複数ワールドのシミュレート)は重いの分かってますから。

726 :デフォルトの名無しさん:2013/06/05(水) 01:39:49.09
synchronized構文乱用すると
各コアのキャッシュがその都度パーになるので注意。

727 :711:2013/06/05(水) 01:45:20.11
>>726
ありがとうございます。
注意します。

728 :デフォルトの名無しさん:2013/06/05(水) 05:08:27.83
>>726
クラス内static変数にsynchronizedをかます方法でも駄目ですかねえ‥‥

729 :デフォルトの名無しさん:2013/06/05(水) 13:51:03.53
Aparapiを使う。
GPUがあればOpenCLで動くし、なければ普通のJavaのスレッドとして動く

730 :デフォルトの名無しさん:2013/06/05(水) 19:08:57.93
サーバサイドでマルチスレッドで物理エンジンの話じゃなかったのかよ

731 :デフォルトの名無しさん:2013/06/05(水) 21:07:51.91
通信はすなわちI/O。I/Oタイムの短縮は難しいので
レイテンシを隠蔽する方向で考えるしかない。

732 :デフォルトの名無しさん:2013/06/06(木) 03:20:58.96
創価学会の偽本尊にご注意

733 :デフォルトの名無しさん:2013/06/06(木) 04:18:23.31
質問です。
配列の中で、連続する数字の数を調べたいときはどうしますか?
{1, 1,100, 1, 2, 2,4,4,4,4,4,4,5,5,6,8,8}
これなら4が連続する最大なので6個

for(int i=0;i<a.length;i++){
if(a[i]== ?????)
}

734 :デフォルトの名無しさん:2013/06/06(木) 04:22:03.48
>>733
連想配列使ったら?

735 :デフォルトの名無しさん:2013/06/06(木) 04:46:01.53
>>734
初心者なのでそれだけではわかりません。すみません

736 :デフォルトの名無しさん:2013/06/06(木) 05:20:57.18
隣と比べるのは
if(a[i]==a[i+1])
だけど、配列の外を指定するとエラーがでる
>>733 わかる人お願いします

737 :デフォルトの名無しさん:2013/06/06(木) 05:42:01.94
ループを1から始めて前の値と比較

738 :デフォルトの名無しさん:2013/06/06(木) 05:50:16.61
>>733
それ面白い問題だね。うちの新人にもやらせてみようかな。とりあえずヒント。

int[] array = { 1, 1, 100, 1, 2, 2, 4, 4, 4, 4, 4, 4, 5, 5, 6, 8, 8 };
int prev = 0;
for (int i = 0; i < array.length; i++) {
  if (array[i] == prev) {
    // 連続してる場合の処理
  } else {
    // 連続してない場合の処理
  }
  prev = array[i];
}

739 :デフォルトの名無しさん:2013/06/06(木) 07:08:43.75
あほ丸出しのヒントですね^^

740 :デフォルトの名無しさん:2013/06/06(木) 07:19:03.01
>>738
私はi=1からのにしました。
そのヒントも役に立ちました。

741 :デフォルトの名無しさん:2013/06/06(木) 08:51:58.55
>>738
ウンココードマニアに載せたい。

742 :デフォルトの名無しさん:2013/06/06(木) 10:40:03.12
配列先頭が0の時、どうなるのっと

743 :デフォルトの名無しさん:2013/06/06(木) 13:30:50.11
研究でユーザテストのため操作の記録をとって再生するでもプログラムを作りたいんですが
Robot クラスを使ってキーイベントを再生した場合
DirectX のプログラムに対して方向キーだけがうまく動きません

win32api の keybd_event を使えばできるらしいのですが SWT に keybd_event っぽい関数がないみたいで
Java SWT を使ってと同じことってできませんか?
Java の知識はあるんですが C や win32api に関する知識がまったくないので…
なるべく簡単に Java の枠組みの中だけで解決したいんですが…

よろしくお願いいたします

744 :デフォルトの名無しさん:2013/06/06(木) 18:08:28.15
>>742
前からこういう時プリミティブ型に無効なのを示す値があればなと思ってたわ。

745 :桃白白 ◆9Jro6YFwm650 :2013/06/06(木) 18:40:28.36
>>744
ヌルポ地獄の二の舞になりそう

746 :デフォルトの名無しさん:2013/06/06(木) 19:31:38.89
Double.NANでいいじゃん

747 :デフォルトの名無しさん:2013/06/06(木) 21:36:00.63
>>743
C#でいいじゃん
Java使えるなら全く違和感なく使えるぞ

748 :デフォルトの名無しさん:2013/06/06(木) 23:38:30.28
>>747
リプありがとうございます

C, C# がというか総合開発環境が使えないんですよね
emacs でソースかいてコマンドラインからコンパイルみたいなやり方を最初に習ったので…
やっぱり VC とか覚えた方がいいのかな…

749 :デフォルトの名無しさん:2013/06/06(木) 23:42:46.11
JavaこそIDEなしとかありえんわ

750 :デフォルトの名無しさん:2013/06/07(金) 04:14:33.31
正規表現って、別に文字列のために作られた物ではないのだが、
>>733 みたいなint列を扱える正規表現処理系ってないのかね

751 :デフォルトの名無しさん:2013/06/07(金) 05:37:51.25
Stringに変換して連結すればいいよ
もっとも、(拡張)正規表現だと同じ文字の並びを認識はできるけど、
文字数を数えることはできないので、欲しいものとちょっと違う

結局ステートマシンを書くのが正攻法なんだろうな

752 :デフォルトの名無しさん:2013/06/07(金) 05:54:56.39
>>750
あーなんか目からウロコが落ちた。
確かに文字に限らず、リストなら何にでも使えたらいいよな。

で、試しに文字列 "1112244444455688" に対して、正規表現書いてみたら難しくてワロタ
最長の連続する文字を探せ、って正規表現で解釈できるの?

753 :デフォルトの名無しさん:2013/06/07(金) 07:38:33.61
ループで長い方からマッチングしていくとか?

754 :デフォルトの名無しさん:2013/06/07(金) 09:28:00.30
a2[a[i]]++みたいに出来ないの

755 :デフォルトの名無しさん:2013/06/07(金) 13:57:54.87
配列のコピーにつてですが
ローカル配列をグローバル配列にシャローコピーします。
そしてそこからさらに別の関数に飛びます。
この場合コピーされたグローバル配列は生きているでしょうか?
これをアクセスして元に戻った時に元のローカル配列に反映されているでしょうか?

756 :デフォルトの名無しさん:2013/06/07(金) 14:18:11.03
自分で試してみたんですが反映されてませんでした。
反映させる方法無いですかね?

757 :デフォルトの名無しさん:2013/06/07(金) 14:26:56.72
シャローがわかるなら、ディープもわかるだろ。

758 :桃白白 ◆9Jro6YFwm650 :2013/06/07(金) 14:53:08.88
>>755
何が反映されないのかよくわかんない。
まさかマルチスレッドの可視性の話じゃないでしょうね。
コード教えて。

759 :デフォルトの名無しさん:2013/06/07(金) 14:55:28.05
参照渡しと値渡しがわかってないだけかと

760 :デフォルトの名無しさん:2013/06/07(金) 15:10:30.65
質問してる日本語がおかしいとピキッと来るな

>別の関数に飛びます
主語と中身を書け

>この場合
どの場合だよ。中身を書け

>元に戻った時
何が元に戻るんだよ。意味不明日本語書け

761 :デフォルトの名無しさん:2013/06/07(金) 15:25:17.56 ID:tQmz8sOj!
・「配列」とは何なのか(基本型のarrayかオブジェクトのarrayか、はてまたjava.util.Listか)
・「シャローコピー」とやらは具体的にどのようにして何を行ったのか
・「アクセス」とやらは具体的に何を行ったのか(配列に新しい要素をsetしたとか、配列内の
 オブジェクトのメソッドを叩いたとか)

こんだけの事が解らないと要エスパー。
説明が苦手なのであれば要サンプルコード。

762 :デフォルトの名無しさん:2013/06/07(金) 15:32:10.19
>>755
> この場合コピーされたグローバル配列は生きているでしょうか?
生きている。

> これをアクセスして元に戻った時に元のローカル配列に反映されているでしょうか?
元のローカル配列のスコープは一旦抜けてるので、元のローカル配列には反映されない。

763 :デフォルトの名無しさん:2013/06/07(金) 16:02:05.74
>>750
ほとんど需要が無いから存在しないんだろうな

764 :デフォルトの名無しさん:2013/06/07(金) 16:10:35.34
たぶんこうじゃないかな

public static int[] ARRAY; //グローバルだから消えるわけない>>755

public static void main(String[] args) {
int[] localArray = {1,2,3,4,5};
ARRAY = localArray; //シャローコピー
funcA();
//ここでlocalArray[0]の値はどうなる?>>755
}

public static void funcA() {
ARRAY[0] = 6;
}

765 :デフォルトの名無しさん:2013/06/07(金) 16:13:57.92
そうじゃないと思います

766 :デフォルトの名無しさん:2013/06/07(金) 16:22:13.47
Javaって配列もオブジェクトなんだっけ

767 :デフォルトの名無しさん:2013/06/07(金) 16:23:38.58
シャローコピーって何ぞ?ってググったらJavaの用語なのか

768 :デフォルトの名無しさん:2013/06/07(金) 16:24:22.28
馬鹿は引っ込んで

769 :デフォルトの名無しさん:2013/06/07(金) 16:30:37.96
(^p^)

770 :デフォルトの名無しさん:2013/06/07(金) 16:33:12.99
どういうコード書いてんのか知らんけど
最初からローカル配列使わずにグローバル配列だけいじればいいんじゃね

771 :デフォルトの名無しさん:2013/06/07(金) 16:38:44.17
ディープコピーってディープキスみたいだよね

772 :デフォルトの名無しさん:2013/06/07(金) 16:39:37.37
>>770
はいグローバルキチガイキターw

773 :デフォルトの名無しさん:2013/06/07(金) 16:45:12.74
グローバル配列にシャローコピーする時点で大差ないだろ

774 :桃白白 ◆9Jro6YFwm650 :2013/06/07(金) 16:45:23.88
>>764
そりは配列の参照そのものっすよね。
コピーならcloneとか。
プリミティブ型やimmutableなオブジェクトであれば
シャローもディープも変わんないからそういうことなのかな。

775 :デフォルトの名無しさん:2013/06/07(金) 16:46:30.33
Javaの道:配列(2.配列のコピー)
http://www.javaroad.jp/java_array2.htm

776 :デフォルトの名無しさん:2013/06/07(金) 17:19:46.80
javaのシャローコピーの区別もできない糞コテとかワロタw

777 :デフォルトの名無しさん:2013/06/07(金) 17:27:57.35
SQLおじさんとstaticおじさん呼んでこいww

778 :デフォルトの名無しさん:2013/06/07(金) 17:31:06.71
メソッド入り口だろうが、forブロック先頭部だろうが、final付いてようが、
ローカル変数の宣言に初期化も書いてあるんなら毎回初期化されるよ。

というだけの話では?とエスパー

779 :デフォルトの名無しさん:2013/06/07(金) 17:35:48.98
public class Test6b {
private static void printIntArray(String name, MyInteger[] a) {
System.out.print(name + " ");
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
}
public static void main(String[] arg) {
MyInteger[] a1 = new MyInteger[10], a2, a3;
for (int i = 0; i < a1.length; i++) { a1[i] = new MyInteger(i + 1); }
System.out.println("a2 = a1.clone();"); //シャローコピー(同じ参照先をもった新しい配列を作る)
a2 = a1.clone(); printIntArray("a1", a1); printIntArray("a2", a2);
System.out.println("a2[3].setValue(99);"); //参照先の中身の変更なのでa1も変わる
a2[3].setValue(99); printIntArray("a1", a1); printIntArray("a2", a2);
System.out.println("a2[5] = new MyInteger(-20);"); //参照元は同一でないのでa1は影響なし
a2[5] = new MyInteger(-20); printIntArray("a1", a1); printIntArray("a2", a2);
System.out.println("a3 = a1;"); //同一参照元になる
a3 = a1; printIntArray("a1", a1); printIntArray("a3", a3);
System.out.println("a3[4].setValue(101);"); //参照元が同一なので当然a1も変わる
a3[4].setValue(101); printIntArray("a1", a1); printIntArray("a3", a3);
System.out.println("a3[6] = new MyInteger(555);"); //参照元が同一なので当然a1も変わる
a3[6] = new MyInteger(555); printIntArray("a1", a1); printIntArray("a3", a3);
}
}
class MyInteger {
private int value;
public MyInteger(int n) { this.value = n;}
public int getValue() { return this.value; }
public void setValue(int n) { this.value = n; }
public String toString() { return Integer.toString(this.value); }
}

780 :デフォルトの名無しさん:2013/06/07(金) 17:37:22.81
ウンコード検定1級

781 :デフォルトの名無しさん:2013/06/07(金) 17:40:51.58
エスパー達にも手ごわい案件だな。
質問の文面をみる限り用語を聞きかじっているようであって実は理解していない半可通の
雰囲気がプンプンで、こういうのが一番面倒くさい。

コードを貼らんとどうにもならんよこれは。

782 :デフォルトの名無しさん:2013/06/07(金) 17:44:31.74
staticなメソッドを呼ぶときはクラス名をちゃんとつけなさい

783 :デフォルトの名無しさん:2013/06/07(金) 17:48:14.02
public class Test6 {

private static void printIntArray(String name, int[] a) {
System.out.print(name + " ");
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
}

public static void main(String[] arg) {
int[] a1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, a2, a3;

System.out.println("a2 = a1.clone();"); //シャローコピー(同じ参照先をもった新しい配列を作るが)
a2 = a1.clone(); Test6.printIntArray("a1", a1); Test6.printIntArray("a2", a2);

System.out.println("a2[3] = 99;"); //これは参照元の変更となり参照元が同一でないためa1に影響がない
a2[3] = 99; Test6.printIntArray("a1", a1); Test6.printIntArray("a2", a2);

System.out.println("a3 = a1;"); //同一参照元になる
a3 = a1; Test6.printIntArray("a1", a1); Test6.printIntArray("a3", a3);

System.out.println("a3[4] = 101;"); //参照元が同一なので当然a1も変わる
a3[4] = 101; Test6.printIntArray("a1", a1); Test6.printIntArray("a3", a3);

}
}

784 :デフォルトの名無しさん:2013/06/07(金) 18:00:57.31
配列の配列みたいに参照が2段になってないとシャローだのディープだのって話はでてこないぞ。

byte[][] array = {{ 0, 1, 2 }};
byte[][] shallowCopy = new byte[][]{ array[0] }; //内側の配列を書き換えるとarrayにも影響が出る。
byte[][] deepCopy = new byte[][] { array[0].clone() }; //内側の配列を書き換えてもarrayに影響が出ない。

785 :デフォルトの名無しさん:2013/06/07(金) 18:03:33.81
>>784
> 配列の配列みたいに参照が2段になってないとシャローだのディープだのって話はでてこないぞ。

何言ってんの?
Java厨ってこんなレベルの奴ばっかなのか?

786 :デフォルトの名無しさん:2013/06/07(金) 18:03:48.13
多重配列のディープコピー方法 − Java Solution − @IT
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12347&forum=12

787 :デフォルトの名無しさん:2013/06/07(金) 18:05:20.57
>>784
釣りだろうけど
2番目のやつはシャローコピーになってなくね
3番目のやつはディープコピーになってなくね

788 :デフォルトの名無しさん:2013/06/07(金) 18:07:36.96
>>787

789 :デフォルトの名無しさん:2013/06/07(金) 18:08:33.30
まずシャローコピーとディープコピーの違いを調べてから発言しろ

790 :デフォルトの名無しさん:2013/06/07(金) 18:18:57.50
Hoge[] arr = new Hoge[10];
for (int i=0; i<arr.length; i++) arr[i]=new Hoge(i);

//シャローコピー sha = arr.clone(); がやってること
Hoge[] sha = new Hoge[arr.length];
for (int i=0; i<arr.length; i++) sha[i]=arr[i];

//ディープコピー
Hoge[] dep = new Hoge[arr.length];
for (int i=0; i<arr.length; i++) dep[i]=new Hoge(arr[i].getValue());

//これはシャローコピーでもディープコピーでもない
Hoge[] hoges = arr;

791 :デフォルトの名無しさん:2013/06/07(金) 18:23:41.64
Hogeとは?

792 :デフォルトの名無しさん:2013/06/07(金) 18:34:39.30
配列が参照の配列の場合にシャローコピーとディープコピーの違いが出てくる。

その点でオブジェクトの配列も配列の配列もシャローとディープ両方ある。

793 :デフォルトの名無しさん:2013/06/07(金) 18:34:45.96
hoge厨=馬鹿

794 :デフォルトの名無しさん:2013/06/07(金) 18:35:56.70
//2次元配列の場合
Hoge[][] arr = new Hoge[5][];
for (int i=0; i<arr.length; i++) {
arr[i] = new Hoge[5]; for (int j=0; j<arr[i].length; j++) arr[i][j]=new Hoge(i);
}

//1次元目に関するシャローコピー ccc = arr.clone();
Hoge[][] ccc = new Hoge[arr.length][];
for (int i=0; i<arr.length; i++) ccc[i]=arr[i];

//2次元目に関するシャローコピー for (int i=0; i<arr.length; i++) ddd[i]=arr.clone();
Hoge[][] ddd = new Hoge[arr.length][];
for (int i=0; i<arr.length; i++) {
ddd[i] = new Hoge[arr[i].length]; for (int j=0; j<arr[i].length; j++) ddd[i][j]=arr[i][j];
}

//ディープコピー
Hoge[][] eee = new Hoge[arr.length][];
for (int i=0; i<arr.length; i++) {
eee[i] = new Hoge[arr[i].length]; for (int j=0; j<arr[i].length; j++) eee[i][j]=new Hoge(arr[i][j].getValue());
}

//これはシャローコピーでもディープコピーでもない
Hoge[][] hoges = arr;

795 :デフォルトの名無しさん:2013/06/07(金) 18:42:45.23
//オブジェクト配列
Hoge[] arr = new Hoge[10]; for (int i=0; i<arr.length; i++) arr[i] = new Hoge(i);

Hoge[] sha = arr.clone(); //シャローコピー
sha[2].setValue(100); //arr[2].getValue() は 100 となる
sha[4] = new Hoge(99); //arr[4].getValue() は 99 にならない

//プリミティブ配列
int[] arr = new int[10]; for (int i=0; i<arr.length; i++) arr[i] = i;

int[] sha = arr.clone(); //シャローコピー
sha[4] = 99; //これは sha[4] = new Hoge(99); と同等の行為 arr[4]が変わるわけがない

796 :デフォルトの名無しさん:2013/06/07(金) 18:45:40.03
てめえは何がしたいんだ

797 :デフォルトの名無しさん:2013/06/07(金) 18:47:20.02
荒らし報告しときました

798 :デフォルトの名無しさん:2013/06/07(金) 18:48:30.77
GJ

799 :デフォルトの名無しさん:2013/06/07(金) 18:48:40.56
回答する奴が質問するやつと同じくらい馬鹿

800 :デフォルトの名無しさん:2013/06/07(金) 18:49:40.14
釣り質問に釣り回答

801 :デフォルトの名無しさん:2013/06/07(金) 18:53:38.84
言わせんな恥ずかしい(// までかいとけ

802 :デフォルトの名無しさん:2013/06/07(金) 19:53:15.17
>>790
それ両方とも単なるコピーだな。

803 :デフォルトの名無しさん:2013/06/07(金) 20:15:01.73
>>764
http://ideone.com/GOak9G
その配列の初期化による配列の実体は、明示されていないものの new と同様に「ヒープ」に確保されるよね。
となると、localArray はいくら main() に書こうが、シャローコピー(?java にはそんな言葉があるんだね)して(javaでいうところの)参照を持ち越せば、持ち越した先のどこからでも見ることができるんだね。
ヒープ、とか、スタック、とか、そういう言葉を使ってしまうのはC/C++からの移行組だから‥‥ごめんなさい。

ideone に貼ってくれるとありがたいんだけれど

804 :デフォルトの名無しさん:2013/06/07(金) 20:25:34.52
>ヒープ、とか、スタック、とか、そういう言葉を使ってしまうのはC/C++
CもC++にもheapとかstackという概念は無い。
だがJavaの言語仕様にはheap memoryという言葉が出てくるという。

805 :デフォルトの名無しさん:2013/06/07(金) 20:29:55.69
>>803
そのサイトはソース貼ったらどうなるの?

806 :デフォルトの名無しさん:2013/06/07(金) 20:37:23.22
馬鹿JAVA

807 : ◆QZaw55cn4c :2013/06/07(金) 20:56:00.06
>>805
末代まで生き恥をさらすことになりますが、それをなんとも思わなければおすすめです:−)

808 :デフォルトの名無しさん:2013/06/07(金) 20:56:59.55
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい
◆QZaw55cn4cうざい

809 :デフォルトの名無しさん:2013/06/07(金) 21:04:29.11
ひとまず正解は何なの?どのレスが正しいこと言ってるのさ

810 :デフォルトの名無しさん:2013/06/07(金) 21:10:33.93
Object (Java Platform SE 7)
http://docs.oracle.com/javase/jp/7/api/java/lang/Object.html#clone()
「コピー」の正確な意味合いは、オブジェクトのクラスによって異なります。
このメソッドは、オブジェクトの「シャローコピー」を生成しますが、「ディープコピー」は生成しません。

811 :デフォルトの名無しさん:2013/06/07(金) 21:11:18.91
このメソッドはこのオブジェクトのクラスの新しいインスタンスを生成し、そのフィールドをすべて、このオブジェクトの対応する各フィールドの内容で初期化します。これは代入と同様で、フィールドの内容自身が複製されるのではありません。

812 :デフォルトの名無しさん:2013/06/07(金) 21:16:13.71
>>808
勝負ならこちらでどうぞ http://toro.2ch.net/test/read.cgi/tech/1313183984/
コード合戦でもして叩きのめしてやれ

813 :デフォルトの名無しさん:2013/06/07(金) 21:16:39.00
あぁ、clone使ったら全部シャローコピーだと思ってるのか。
clone使ってもディープコピーは作れるぞ。当たり前だけど。

byte[][] array = {{ 0, 1, 2 }};
byte[][] shallowCopy = array.clone(); //内側の配列を書き換えるとarrayにも影響が出る。
byte[][] deepCopy = new byte[][] { array[0].clone() }; //内側の配列を書き換えてもarrayに影響が出ない。

814 :デフォルトの名無しさん:2013/06/07(金) 21:21:27.42
>>814=ばか

815 :デフォルトの名無しさん:2013/06/07(金) 21:25:19.84
自己紹介乙

816 :デフォルトの名無しさん:2013/06/07(金) 21:31:36.52
参照型(配列・オブジェクト)の配列のコピーにはシャローコピーとディープコピーの2つの概念が存在します

基本型(プリミティブ)の配列のコピーにはそのような概念はありません

817 :デフォルトの名無しさん:2013/06/07(金) 21:33:53.50
>>817=バカ

818 :デフォルトの名無しさん:2013/06/07(金) 21:35:54.46
自己紹介乙

819 :デフォルトの名無しさん:2013/06/07(金) 21:38:32.13
>clone使ってもディープコピーは作れるぞ
>new byte[][] { array[0].clone() }; //内側の配列を書き換えてもarrayに影響が出ない。
基地外としか言いようがない

820 :デフォルトの名無しさん:2013/06/07(金) 21:41:49.49
正答はよ

821 :デフォルトの名無しさん:2013/06/07(金) 21:42:48.28
質問者の日本語が色々足りないから正答が出ない

822 :デフォルトの名無しさん:2013/06/07(金) 21:48:30.48
Arrays (The Java? Tutorials > Learning the Java Language > Language Basics)
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

823 :デフォルトの名無しさん:2013/06/07(金) 21:55:14.26
This section was updated to reflect features and conventions of the upcoming Java SE 8 release. You can download the current JDK 8 snapshot from java.net.

マジかよ!

824 :デフォルトの名無しさん:2013/06/07(金) 21:57:39.70
初心者に優しくないスレNo.1

825 :デフォルトの名無しさん:2013/06/07(金) 23:12:17.24
Javaのチュートリアルも日本語化してほしす

826 :デフォルトの名無しさん:2013/06/07(金) 23:25:42.23
質問と相談の違いって何?

827 :デフォルトの名無しさん:2013/06/07(金) 23:43:04.18
char c = 'a';
c = c + 1;  ←コンパイルエラー

c = 'a' + 1;  ←コンパイル通る

この違いは何?

828 :デフォルトの名無しさん:2013/06/07(金) 23:45:18.61
自分で調べろゴミ

829 :827:2013/06/07(金) 23:46:16.50
間違えた

【誤】c = 'a' + 1;
【正】char c = 'a' + 1;

830 :デフォルトの名無しさん:2013/06/07(金) 23:50:04.07
final char c = 'a';
char c2 = c + 1;
これでおk

831 :デフォルトの名無しさん:2013/06/07(金) 23:54:17.01
誰もお前みたいなクズに回答する奴いないから安心しろ

832 :827:2013/06/07(金) 23:58:18.78
>>830
すみません解決策ではなく、挙動の違いが知りたいのですが…
OCJ-P取得のための勉強中なので。

上の方は右辺がint型に変換されるから、
char型に代入できないといったところでしょうか。

833 :KUSO KOTE:2013/06/07(金) 23:59:55.54
>>832
たぶん↓
5.2 Assignment Conversion
A narrowing primitive conversion may be used if the type of the variable is byte,
short, or char, and the value of the constant expression is representable in the
type of the variable

834 :デフォルトの名無しさん:2013/06/08(土) 00:04:53.59
>>827
下は定数式だから通る。

上は定数式じゃないのでc + 1の結果は二項数値昇格してintになるからchar型のcには代入できない。

835 :827:2013/06/08(土) 00:05:55.48
>>833
サンクスです

836 :デフォルトの名無しさん:2013/06/08(土) 00:08:41.72
>>835
嘘情報を鵜呑みにして楽しい?
情弱

837 :827:2013/06/08(土) 00:10:01.17
>>834
ご丁寧な回答ありがとうございます。分かった気がします
それにしても皆さん実務でこんなのに出くわさないと思うんですが
よく答えられますね

838 :デフォルトの名無しさん:2013/06/08(土) 00:11:15.78
エラーメッセージは何て出てるのさ

839 :827:2013/06/08(土) 00:13:01.55
型の不一致: int から char には変換できません

840 :デフォルトの名無しさん:2013/06/08(土) 00:15:03.37
エラーメッセージから何が問題か推量は出来るが根拠となるべき仕組みを知りたいってところか

841 :デフォルトの名無しさん:2013/06/08(土) 00:15:38.64
>>834
final char c1='a'; のとき
c1+1がintでなくcharだと言ってる?

842 :827:2013/06/08(土) 00:17:20.98
>>840
その通りです
でも>>834の回答でとりあえず解決とします

ありがとうございました

843 :827:2013/06/08(土) 00:20:51.36
>>841
finalは指定していません

char c = 'a';
c = 'a' + 1;  ←ここのエラー内容が839

844 :デフォルトの名無しさん:2013/06/08(土) 00:25:47.42
>>842
嘘情報を鵜呑みにして楽しい?
'a'+1はintだ。情弱

845 :827:2013/06/08(土) 00:29:33.68
>>844
コンパイラがリテラルに置き換えるから通るんだろ
調べたよ

846 :デフォルトの名無しさん:2013/06/08(土) 00:43:13.65
自作自演は句読点ぐらい統一しろ
http://ideone.com/8shuEs
'a'+1はintだが>>833に該当するので
charに変換可能なだけ
リテラルとか死ね

847 :827:2013/06/08(土) 00:48:58.74
>>846
なんだかんだ言いながら答えてくれてサンクス
ちなみに句読点だとかくだらん2ちゃんの暗黙ルールに従う気はない

848 :デフォルトの名無しさん:2013/06/08(土) 01:01:44.06
>>827=>>828=>>831=>>834=>>836=>>838=>>840

849 :827:2013/06/08(土) 01:10:44.79
自作自演じゃねーよ
OCJ-Pの勉強中で理解できなかったから聞いたんだよ

はいこれで終了ねめんどくせー

850 :デフォルトの名無しさん:2013/06/08(土) 01:12:08.51
ここまで俺の自演でした

851 :デフォルトの名無しさん:2013/06/08(土) 01:53:47.50
理解しないと先へ進めないって学校の勉強とかでも苦労してそう

852 :デフォルトの名無しさん:2013/06/08(土) 03:58:15.08
何かと思ってググったらオラクル認定Javaプログラマwwwww
誰がどういう場面でこの資格の有用性を評価するんだ?w
問題見てみたらくっそくだらねぇ内容ww金の無駄過ぎるw
オラクル自体糞みたいな認定資格試験大量に用意してただの金稼ぎじゃねぇかよw

なんだこの糞の役にも立たねぇ評価もしようがねぇ膨大な試験の数はwww
http://www.oracle.com/jp/education/certification/examlist-172597-ja.html

853 :デフォルトの名無しさん:2013/06/08(土) 04:25:27.55
>>852
お前はFizzBuzzでもしてろ

854 :デフォルトの名無しさん:2013/06/08(土) 07:37:58.04 ID:4LxSVaXE!
こういう資格をどういう経緯で勉強することになったのか地味に気になる。
会社がお金を出してくれるので勉強することになったのか、自腹を切ってとろうと思ったのか。

855 :デフォルトの名無しさん:2013/06/08(土) 09:02:25.71
>>853
オラクル認定Javaプログラマさんですか?www

856 :827:2013/06/08(土) 09:04:23.66
会社から出る報奨金のため
受験料と報奨金3万出る
手頃かと思ったらJavaの実務経験なしでは結構難しい、俺コボラーだから
実務で役立たなそうなのは勉強し始めてからわかった
確かに糞問題ばかりで疲れるよ

857 :デフォルトの名無しさん:2013/06/08(土) 09:05:56.48
MSの資格に3万円払ったよ(・∀・)

858 :デフォルトの名無しさん:2013/06/08(土) 09:06:47.98
コボラーってことは結構年齢上の人ですね

859 :827:2013/06/08(土) 09:11:13.08
32歳。
もうプログラマとしては上の年齢になるのかな
今はSEでもPGでもないんだが…

860 :デフォルトの名無しさん:2013/06/08(土) 09:35:31.72 ID:4LxSVaXE!
>>856
なるほど。
でも実務で使っている人でも833, 834みたいな答えがサクッとでてくる人ばかりでは無いと思う。
糞質問ばかりかもしれないけれども手癖で書いているだけだと時々穴があったりするのも事実なので、
一通り網羅的に確認出来る得難い良い機会だとポジティブにとらえてみては。

861 :827:2013/06/08(土) 09:43:57.38
>>860
アドバイスありがとうございます
受験チケットの期間が迫っているので余裕なく焦ってますが
なるだけポジティブにいきたいと思います

862 :デフォルトの名無しさん:2013/06/08(土) 09:59:36.34
細かい話だけど834は844で指摘されてるように間違いなんじゃないのか

863 :デフォルトの名無しさん:2013/06/08(土) 10:03:27.72
>32歳
プログラマーとしては30超えたら
完全に脂肪
プログラマーでなくコボラーとしては
20歳ぐらい若い

864 :827:2013/06/08(土) 10:30:24.22
>>862
定数式だから通るという表現が曖昧に聞こえるだけでは?
'a'+1はintだけど、コンパイラが98に変換してくれて
char c = 98;
と同じことになって通るってのが正解だと認識してるんだが

865 :827:2013/06/08(土) 10:42:25.42
あ、でも98は定数じゃないな
定数扱いになるのか?
ちなみに>>833の英語もよくわかってません

あーまたわからなくなった
もうここは暗記でいいや
あまりここだけに拘ってる時間もない

皆さんありがとう

866 :デフォルトの名無しさん:2013/06/08(土) 10:51:55.18
そいつ単なる構ってちゃんだから相手せんでもいいと思うが。

867 :デフォルトの名無しさん:2013/06/08(土) 12:15:41.72
ここまですべて827の自作自演

868 :デフォルトの名無しさん:2013/06/08(土) 13:25:45.21
>char c = 98;
>と同じことになって通る

結局>>827は理解できなかったのかよ
アホすぎw

869 :デフォルトの名無しさん:2013/06/08(土) 14:30:07.13
さあ、定数式とリテラルを区別する作業に戻るんだ

870 :デフォルトの名無しさん:2013/06/08(土) 15:01:36.18
>>860
おい!おまえID出てるぞ!

871 :デフォルトの名無しさん:2013/06/08(土) 15:05:04.17
下げてんのに何で出るんだ?

872 :デフォルトの名無しさん:2013/06/08(土) 15:05:52.49
海外だからか?

873 :デフォルトの名無しさん:2013/06/08(土) 15:12:16.26
海外IPだけは板設定に関係なく出るみたいね。

874 :デフォルトの名無しさん:2013/06/08(土) 16:58:25.36 ID:4LxSVaXE!
海外だから。

875 :デフォルトの名無しさん:2013/06/08(土) 17:54:22.67
C#でいうところのdelegateやlambdaってjavaには無いのですか?

876 :デフォルトの名無しさん:2013/06/08(土) 17:54:44.43
JAVAでゲームを作ってるよ!
学生だから夏休みの間に作るよ!
大学は夏休みが長くてうふふふふだよ!

877 :デフォルトの名無しさん:2013/06/08(土) 17:57:25.00
変数が2/3の糞仕様、もといとても簡単な仕上がりなので生暖かい目で見てあげてください。

878 :デフォルトの名無しさん:2013/06/08(土) 17:57:27.53
大学生は死ぬべき

879 :デフォルトの名無しさん:2013/06/08(土) 18:00:58.84
だが断る(キリッ)
ヘンナ ダイガクセイ
1785〜1987


AAは貼れなかった

880 :デフォルトの名無しさん:2013/06/08(土) 18:12:21.35
ラムダやデリゲートは無いのでしょうか?

881 :デフォルトの名無しさん:2013/06/08(土) 18:57:42.36
ラムダはない
デリゲートもない

882 :デフォルトの名無しさん:2013/06/08(土) 19:01:28.34
オーマイガ!マジですか…
なんでそんな頭のおかしい仕様なんだって感じです
今時の人気言語にあるまじき醜態ですね

883 :デフォルトの名無しさん:2013/06/08(土) 19:05:30.90
ラムダはJava8で入る。デリゲートも簡単なメソッド参照がJava8で入る。
頭がおかしいと言うより、単に仕様の拡張が遅いんだよね・・・

どうしても今必要であればScalaやGroovyといった他のJVM系の言語を使うのお薦め。
Javaと混ぜて使うのも難しくない。

884 :デフォルトの名無しさん:2013/06/08(土) 19:13:04.15
java.lang.reflect.Proxy あるなら delegate いらんやろ…
委譲がらみのコード自動生成してくれる優秀なIDEもいろいろあるし。

885 :デフォルトの名無しさん:2013/06/08(土) 19:15:08.68
>>884
アホか

886 :デフォルトの名無しさん:2013/06/08(土) 19:16:16.75
ラムダ式らしきものが絶賛リリース遅延中のJava8で多分入る予定

887 :デフォルトの名無しさん:2013/06/08(土) 19:23:17.15
>>882
土方言語だからね
高階関数なんて土方には理解できない
仮にラムダが無事に導入されたとしても、各社のJava開発規約が一行追加されるだけだよ
「ラムダは可読性と保守性を低下させるので使用を禁止する」

888 :デフォルトの名無しさん:2013/06/08(土) 19:36:10.62
ドカタのJABAは5か6だから問題ない
8なんて3年後ぐらいじゃね?

889 :デフォルトの名無しさん:2013/06/08(土) 19:39:46.47
クロージャーもない

890 :デフォルトの名無しさん:2013/06/08(土) 19:56:36.54
>>887 に一票

無い方が幸せってこともある

891 :デフォルトの名無しさん:2013/06/08(土) 20:21:00.59
例えばジェネリックスをちゃんと理解して型パラメーター付きのクラスを自分で設計する
土方が仮に少なくとも、Collection frameworkなんかは普通に広く使われているわけで。

言語機能の理解し易さと土方が使うか使えるかは比較的無関係だと思う。
単にAPIとしてその機能を使うライブラリやフレームワークを使わされるか否かの問題。

なので土方もラムダは何時の日か使う。
何時の日か解らんけど。

892 :デフォルトの名無しさん:2013/06/08(土) 20:26:57.01
?Sun's White Paper on Delegates
http://java.sun.com/docs/white/delegates.html

893 :デフォルトの名無しさん:2013/06/08(土) 20:31:45.79
デリゲートって関数ポインタみたいなもの?

894 :デフォルトの名無しさん:2013/06/08(土) 20:35:51.27
>>852-853
Javaに適したFizzBuzz があるぞ http://toro.2ch.net/test/read.cgi/tech/1364631733/12

895 :デフォルトの名無しさん:2013/06/08(土) 20:37:36.02
>>893
そーだな
ただstaticメソッドかインスタンスメソッドかは問わず
両方とも扱うことができる

896 :デフォルトの名無しさん:2013/06/08(土) 20:42:04.36
関数ポインタと違って
複数のメソッドを保持していっぺんに実行できr

897 :デフォルトの名無しさん:2013/06/08(土) 20:49:50.63
>>893
一種の関数ポインタではあるのだけれども、メソッドへの参照に加えて呼ばれる
オブジェクトへの参照もセットに出来るのが特徴かな。他にもMicrosoftらしく
幾つか機能がくっついている。

ちなみにdelegateという言葉自体は言語とは無関係にソフトウェア設計において
委譲という意味で使われているのだけれども、これとMicrosoft製の言語における
delegateは意味が異なるので要注意。後者はMicrosoftローカル用語。

日本語だと漢字で「委譲」と書くとソフトウェア設計におけるdelegate、カタカナ
でデリゲートと書くと文脈次第でMicrofostローカルなdelegateも含むことがある、
ような気がする。

Java8だとbound method referenceで似たようなことが出来るらしい。
束ねたりは出来ないけれども。

898 :デフォルトの名無しさん:2013/06/08(土) 20:52:33.57
もうJava 8には何も期待していない
そろそろラムダも削除したほうがいい

899 :デフォルトの名無しさん:2013/06/08(土) 20:59:55.97
すいません自己解決しました
クロージャとラムダを自分で実装すればいい話でしたね
まだプログラムを始めて一月ぐらいなので気が付くのに半日掛かりました

900 :デフォルトの名無しさん:2013/06/08(土) 21:00:17.14
なぜJavaスレでデリゲートの説明を求め、そして答えるのか

901 :デフォルトの名無しさん:2013/06/08(土) 21:21:49.77
>クロージャとラムダを自分で実装
クロージャーの実装は死ねる

902 :デフォルトの名無しさん:2013/06/08(土) 22:24:36.04
ローカルクラスやJava8のラムダをクロージャの代わりにしようと思ったら
ローカル変数はfinalにしなきゃいけないから
class MutableInt { public int value; }
みたいな頭悪いクラスが必要になるね

903 :デフォルトの名無しさん:2013/06/08(土) 22:42:24.97
長さ1の配列で

904 :デフォルトの名無しさん:2013/06/08(土) 23:02:37.46
Java8のラムダの場合、finalをつけなくてもコード中で再代入のない「事実上のfinal」
なローカル変数はラムダ内から参照できるのでまだマシとか。
結局Java8を待つか他の言語をあたるのが正解かな。とっとと出せ。

905 :デフォルトの名無しさん:2013/06/08(土) 23:05:42.20
ジェネリクスといい列挙といい
C#の劣化版を出すしか脳が無いからな
おJAVA様は

906 :デフォルトの名無しさん:2013/06/08(土) 23:19:10.49
Javaを捨ててC#のマルチプラットフォーム対応を推進すべきだ

907 :デフォルトの名無しさん:2013/06/08(土) 23:24:12.68
C#は3流のPGにオススメの言語

908 :デフォルトの名無しさん:2013/06/08(土) 23:29:59.81
そうかもしれないがここはJavaのスレだぞw
Javaは未経験者大歓迎の簡単なお仕事です!

909 :デフォルトの名無しさん:2013/06/08(土) 23:37:56.92
C風COBOLとC風VBの底辺争い

910 :デフォルトの名無しさん:2013/06/09(日) 00:55:43.20
優勝決定戦の間違い

911 :デフォルトの名無しさん:2013/06/09(日) 03:08:24.08
Javaほど可能性の豊かな言語はそうそう無い。
土方からハイエンドまで職業選択の幅が異常に広い。

912 :デフォルトの名無しさん:2013/06/09(日) 09:12:51.01
本気でそう思ってたら信者

913 :デフォルトの名無しさん:2013/06/09(日) 09:16:17.47
JavaもOS作ってれば今頃それなりのシェア取れてたろうに。

914 :デフォルトの名無しさん:2013/06/09(日) 09:23:34.98
javaはもはやそびえ立つクソより役にたたん
使えないゴミなのに人気だけはあるから
使いたく無い人も使わなくてはならなくなり
社会全体の生産性を著しく低下させている

915 :デフォルトの名無しさん:2013/06/09(日) 09:33:02.37
Java に ref を導入したら案外いけるかも

916 :デフォルトの名無しさん:2013/06/09(日) 09:33:40.38
>>914
Java のどこが使えないか具体的によろ

917 :デフォルトの名無しさん:2013/06/09(日) 09:44:35.76
昔はろくに使いもしないのにJavaアプレットを使うサイトが
あるからって理由だけでメーカがプリインストールしていた
もんだけど、最近はそれもなくなってきてるから、個人用に
限ればJavaが入ってるケースはほとんどないよ。

918 :デフォルトの名無しさん:2013/06/09(日) 09:45:41.12
JavaでGUIアプリは完全にKUSO

919 :デフォルトの名無しさん:2013/06/09(日) 09:57:15.33
>>916
オーバーライド強制が危険、構造体が無い
オペレータオーバーロードが無い
デリゲートが無い、ラムダが無い
ジェネリックが貧弱でメタプロが出来ない
プロパティが無い、java使う同僚は馬鹿しかいない
IDEがVSの足元にも及ばない、constな参照やメソッドが無い、etc...

挙げて行くとキリが無いけどまあ一言にまとめると
何をするにも常にjavaより遥かに優れた選択肢が他に幾つもある
という事だね
Javaを始めて一週間でこの言語はクソだと気が付かないプログラマて今まで何を学んで来たんだろうか

920 :デフォルトの名無しさん:2013/06/09(日) 10:24:17.94
メソッド名に統一性がないところ
Camelは 動詞+名詞 でこそ見栄えがいいんだけど
動詞で始まらないものが多すぎる
あとライブラリ設計が継ぎ接ぎで汚い

921 :デフォルトの名無しさん:2013/06/09(日) 10:33:42.70
UTF-8でテキストファイルを出力
しようとしただけで
おJAVA様の洗礼を受けたでござる
ついでにBOMの扱いがウンコで
困ったでござる

922 :デフォルトの名無しさん:2013/06/09(日) 10:43:45.64
マイクロソフトは誕生した瞬間から常にボロクソに言われる存在だけど、
ことJavaの前でだけは常に褒め称えられる存在である。
              ウィリアム・ヘンリー・ゲイツ3世

923 :デフォルトの名無しさん:2013/06/09(日) 10:44:44.46
プリミティブ型にメソッド呼べないのが痛い。
enum変数にnull が入るのがキモい。
ジェネリクスの型にプリミティブ型が使えないのが痛い。
OuterClass.thisとかx.new InnerClass()みたいな誰特な仕様がキモい。
実行ファイルのイケてないアイコンと変なマスコットが恥ずかしい。

924 :デフォルトの名無しさん:2013/06/09(日) 10:59:21.03
3流プログラマはマイクソの言語がオススメ

925 :デフォルトの名無しさん:2013/06/09(日) 11:04:27.21
というか書いてることむちゃくちゃだから最近Java触ってみたけど僕ちんには使いこなせなかった系のアホだなw

926 :デフォルトの名無しさん:2013/06/09(日) 11:06:10.17
>書いてることむちゃくちゃだから
どの辺が、むちゃくちゃなのかkwsk

927 :デフォルトの名無しさん:2013/06/09(日) 11:09:01.91
Javaちゃんと勉強すれば自分が如何にアホだったかがわかるよw

928 :デフォルトの名無しさん:2013/06/09(日) 11:09:19.64
Javaに脳髄まで汚染された三流プログラマ可哀想

929 :デフォルトの名無しさん:2013/06/09(日) 11:13:31.33
仕事以外じゃ絶対使わないけど仕事ならどうでもいいよ
あくまでJavaのコードを書く作業そのものに対して賃金が支払われるんだから

930 :デフォルトの名無しさん:2013/06/09(日) 11:19:18.30
まぁJavaは常にコーディングのスタイルが進化してるから老害には使いこなせないだろう
爺さんにはコボルとかオススメだよ

931 :デフォルトの名無しさん:2013/06/09(日) 11:20:50.03
進化してる割には他の言語に常に遅れをとってるよね
不思議だね

932 :桃白白 ◆9Jro6YFwm650 :2013/06/09(日) 11:22:40.77
お前ら暇さえあれば傷つけあうよな

933 :デフォルトの名無しさん:2013/06/09(日) 11:24:25.68
学ぶこと放棄した爺さん相手にするPLとかも大変そうだなw

934 :デフォルトの名無しさん:2013/06/09(日) 11:27:38.02
コボルの再来がJavaだろ。
20世紀末のブイビー使いの
ネクストジョブがJAVAであって、
一気にJAVAのレベルが下がった。
コンピューターサイエンスのお荷物。

935 :デフォルトの名無しさん:2013/06/09(日) 11:28:45.82
>>930
常に進化する土方用フレームワークによって
ライン工の作業が洗練されているの間違いだろ

936 :デフォルトの名無しさん:2013/06/09(日) 11:30:53.61
×進化
○乱立
フレームワークの乱立で業界が混乱・迷惑しています
しかも本当に糞なキワモノフレームワークが多い

937 :デフォルトの名無しさん:2013/06/09(日) 11:33:25.48
言語がウンコだと使いやすいフレームワークにならないんだよね
で、我こそはと新しいフレームーワークを作るんだけど、
やっぱり言語がウンコだから使いやすくならない

これが乱立の理由

938 :デフォルトの名無しさん:2013/06/09(日) 11:38:26.96
プロジェクトの大小によってフレームワークの向き不向きがあるんだから当然だろ
Webサーバーの構築モデルと同じようなもんだよ爺さん。銀の弾丸はないってよく言うだろ爺さん
正しい正解に導く知識のない老害には使いこなせない最先端言語だっていい加減気づけよ無能

939 :デフォルトの名無しさん:2013/06/09(日) 11:42:09.79
結局>>926には答えられないの?
口だけ?口だけなの?

940 :デフォルトの名無しさん:2013/06/09(日) 11:43:38.33
21世紀に入ってからというもの
常にC#の後追いで劣化版の猿真似を
続けているというのに
最先端言語とは何の冗談か

941 :デフォルトの名無しさん:2013/06/09(日) 11:43:51.72
プロジェクトごとに正解は異なるのは確かだが
Javaが正解だったことはこの世界ではかつて一度もない

942 :デフォルトの名無しさん:2013/06/09(日) 11:46:56.44
だいたいこのスレで回答として出てくるおもしろコード見れば程度はわかるというもの

943 :デフォルトの名無しさん:2013/06/09(日) 11:49:35.19
もうやめて!
ジャバ使いのライフはゼロよ!

擁護したくても明らかに言語仕様自体は
他より劣ってるからねぇ
だがライトワンスのビジョンを掲げて
その一部でも達成したJavaは偉大

944 :デフォルトの名無しさん:2013/06/09(日) 11:52:22.17
まだHPMAXですが何か?w
スレチもいいとこなのにどんだけファビョってんだよ原始人どもw

945 :デフォルトの名無しさん:2013/06/09(日) 11:53:05.22
>>943
learn once, dokata anywhere

946 :デフォルトの名無しさん:2013/06/09(日) 11:55:46.59
JavaってWebアプリかAndoroidアプリしか使い道ないよね

947 :デフォルトの名無しさん:2013/06/09(日) 12:00:35.87
>>939
919の内容すべて

948 :デフォルトの名無しさん:2013/06/09(日) 12:02:39.95
Javaのクロスプラットフォームの真価はソースやバイナリの互換性じゃなくて
一匹のライン工をWin向けの製造ラインにもUnix向けのラインにも組み込んで使えることだろ

949 :デフォルトの名無しさん:2013/06/09(日) 12:05:17.24
スクリプトでええやん
どこでも動くでスクリプト

950 :デフォルトの名無しさん:2013/06/09(日) 12:50:10.05
>>945
辞書くらいひこうぜ
learn once, do navvy's work anywhere.

951 :デフォルトの名無しさん:2013/06/09(日) 12:54:35.30
>>949
寝言は寝て家

952 :デフォルトの名無しさん:2013/06/09(日) 12:59:37.08
laborer
レバれカス

953 :デフォルトの名無しさん:2013/06/09(日) 13:57:06.94
>>951
ん?移植性十分なスクリプトよりJavaが優れてるところなんか無いだろ?
なにかあるなら言ってみ?

954 :デフォルトの名無しさん:2013/06/09(日) 13:59:56.89
スクリプトwww

955 :デフォルトの名無しさん:2013/06/09(日) 14:07:26.93
>>953
ドカタの多さ&一人当たりの単価の安さ

956 :デフォルトの名無しさん:2013/06/09(日) 14:18:58.30
それ言語の特性じゃないじゃん

957 :デフォルトの名無しさん:2013/06/09(日) 14:24:02.26
>>953
>移植性十分なスクリプト
ruby()?
perl6()?

958 :デフォルトの名無しさん:2013/06/09(日) 14:27:34.30
なんでperl5じゃなく6?

959 :デフォルトの名無しさん:2013/06/09(日) 14:39:55.72
オペレータの再定義に関しては個人的には害しかないと思ってる。

960 :デフォルトの名無しさん:2013/06/09(日) 14:46:17.86
メソッドのオーバーロードは許すのに
オペレータだけオーバーロード禁止しても……って感じ

961 :デフォルトの名無しさん:2013/06/09(日) 14:49:42.54
演算子定義は諸刃の刃だからバカが使うと危ないな
でも賢いやつが使う分には問題はなくとても便利だ
Javaはバカに合わせた言語だから上手く使えれば便利な機能というのがけずられてしまう
これがJavaがダメな理由のひとつだね
バカが好んで使う事がJavaをダメにしてるんだ

962 :デフォルトの名無しさん:2013/06/09(日) 14:57:20.86
「安心」「安全」には多大なコストがかかるのだ

撃たれないという保証を放棄して銃を持つことにどれほどの利があるのか

963 :デフォルトの名無しさん:2013/06/09(日) 15:51:52.72
>Javaはバカに合わせた言語だから上手く使えれば便利な機能というのがけずられてしまう
そうだよね。Java Enterpriseは設計者と
ドカチンを完全に分離して、大規模な開発を可能にし、
一定以上の最低品質の確保を最優先した
フレームワーク。
縛りを強化して統制をとるものだから
プログラマーとしては魅力に欠ける。

964 :デフォルトの名無しさん:2013/06/09(日) 15:56:21.31
土方用フレームワークって具体的にはどんなの? 幾つか名前を挙げてもらえると。

965 :デフォルトの名無しさん:2013/06/09(日) 15:58:10.47
>>964
Java Platform Enterprise Edition

966 :デフォルトの名無しさん:2013/06/09(日) 16:17:59.44
バカを過小評価してはいけない。
バカは言語以前に酷いものなので、正直、言語の性能なんてどうでもいい。

967 :デフォルトの名無しさん:2013/06/09(日) 16:24:22.53
バカがJavaで料理をつくると食った人間は腹痛を起こす

バカがCで料理をつくると食った人間は胃を切除する羽目になる

968 :デフォルトの名無しさん:2013/06/09(日) 16:26:04.13
料理で例えるなら、コンロも包丁もあぶないので
レンジで加熱する以外の調理を禁止したのがJava

969 :デフォルトの名無しさん:2013/06/09(日) 16:29:51.86
>レンジで加熱する以外の調理を禁止したのがJava
同じくレンジ加熱のC#は普通と評判なのだが
レシピを真似して改良する度に
Javaは酷くなっていくという

970 :デフォルトの名無しさん:2013/06/09(日) 16:31:31.81
Java EEが土方用と言われて具体的にどの辺りが土方向きなのか全くピンと来ない。

971 :デフォルトの名無しさん:2013/06/09(日) 16:32:36.80
すいません教えてください。
自分はC/C++→JAVA→C#みたいな感じでプログラム勉強してきて
JAVAを勉強したと言ってもさらっとしか勉強してなくて
現在、もう一度、ちゃんとJAVA勉強して、JAVAプログラマのSilverの資格を取ろうと
思い、試験対策本買ったんですが、引っかけ問題みたいなのばっかの中唯一
納得いかないコードがありましたんで↓に記述します。

972 :デフォルトの名無しさん:2013/06/09(日) 16:36:13.44
コードはよ

973 :デフォルトの名無しさん:2013/06/09(日) 16:37:09.69
(手紙はここで途切れている)

974 :デフォルトの名無しさん:2013/06/09(日) 16:37:38.17
はい。次の方。

975 :デフォルトの名無しさん:2013/06/09(日) 16:40:50.41
public class Zow {
final static Zow zow = new Zow();
public static void main(String[] args){
Zow zowOne = zow;
System.out.printf("zow = %h \n", zow);
Zow zowTwo = zow.dive(zow);
System.out.printf("zow = zow.dive(zow); %h\n",zow);
System.out.printf("zowTwo = %h \n", zowTwo);
Zow zowThree = zow;
System.out.println(cowOne == cowTwo);
System.out.println(cowOne == cowThree);
}
private Zow dive(Zow zow2) {
System.out.printf("zow2 = %h\n"zow2);
zow2 = new Zow();
System.out.printf("zow2 = %h\n",zow2);
return zow2;
}
}
で、何が納得いかないのかと言うと、final static Zow zow = new Zow();
を利用して、diveの中にzowを入れて、再度それを利用してインスタンスを作成
していて、ハッシュ値をわざと表示させてるんですが、なんでこれがちゃんと動いてるのか
どなたかご教示下さい。お願いいたします。

976 :デフォルトの名無しさん:2013/06/09(日) 16:42:12.61
書き間違えました
public class Zow {
final static Zow zow = new Zow();
public static void main(String[] args){
Zow zowOne = zow;
System.out.printf("zow = %h \n", zow);
Zow zowTwo = zow.dive(zow);
System.out.printf("zow = zow.dive(zow); %h\n",zow);
System.out.printf("zowTwo = %h \n", zowTwo);
Zow zowThree = zow;
System.out.println(zowOne == zowTwo);
System.out.println(zowOne == zowThree);
}
private Zow dive(Zow zow2) {
System.out.printf("zow2 = %h\n"zow2);
zow2 = new Zow();
System.out.printf("zow2 = %h\n",zow2);
return zow2;
}
}
で、何が納得いかないのかと言うと、final static Zow zow = new Zow();
を利用して、diveの中にzowを入れて、再度それを利用してインスタンスを作成
していて、ハッシュ値をわざと表示させてるんですが、なんでこれがちゃんと動いてるのか
どなたかご教示下さい。お願いいたします。

977 :デフォルトの名無しさん:2013/06/09(日) 16:43:50.46
参照型と参照渡しは違うからな。
JABAに参照渡しは無い。

978 :デフォルトの名無しさん:2013/06/09(日) 16:44:06.55
C#もだけどJavaは常にnullを許容した参照しかないのが嫌だ
コンパイルの段階でオブジェクトの存在を保証してくれるC++の参照はやはり優れている

979 :デフォルトの名無しさん:2013/06/09(日) 16:57:15.93
>>976
どの辺りがちゃんと動かないように思えるのかもっと具体的に書いてもらえないと
なんともなぁ。どの辺りが怪しげなの?

980 :デフォルトの名無しさん:2013/06/09(日) 17:08:01.88
>>979
自分としては→final static Zow zow = new Zow();の部分の
zowは書きかえれないインスタンスとして存在してると解釈してるんですが
private Zow dive(Zow zow2)にzowを入れているところが
いわゆる参照渡しと解釈して、diveの中にzowというインスタンスを参照渡しで入れて
渡されたzowを使って新たなインスタンスを作成しているように見えて
要は、書きかえれないzowというインスタンスを参照渡しでメソッドを通じて
書き変えてるように見えるんです。

981 :デフォルトの名無しさん:2013/06/09(日) 17:11:51.37
>zow.dive(zow);
>private Zow dive(Zow zow2) {
>Zow2 = new Zow();

これがzow=new Zow(); になると勘違いしたんじゃねーの
実際には
Zow zow2=zow;
zow2=new Zow();
だからもとのzowは変わらない。

982 :デフォルトの名無しさん:2013/06/09(日) 17:15:50.54
ポインタを理解してれば迷う事は無いんだがな
これがCを教えない弊害なんだろうな

983 :デフォルトの名無しさん:2013/06/09(日) 17:21:12.51
まだJavaがわからない老害どもが発狂してたのかよw
発狂する前に入門書でも読んでこいよ5流PGw

984 :デフォルトの名無しさん:2013/06/09(日) 17:22:35.35
いや「参照」変数を理解できてないだけだろ
ポインターとかジジくさいものはどうでもいい

985 :デフォルトの名無しさん:2013/06/09(日) 17:25:51.21
いやいや、今や老害ってのはJavaドカタを指すんだよ
周回遅れで出来損ないのラムダを入れようと頑張ってるレベルって分かってんのか?

986 :デフォルトの名無しさん:2013/06/09(日) 17:27:25.88
いやポインタをちゃんと学んでいれば
あ、これはポインタを値渡しして再代入したのと同じだ、って二秒で気が付く
しかしポインタを知らなかった質問者はこんなくだらない事に貴重な日曜を費やしてしまった
可哀想に

987 :デフォルトの名無しさん:2013/06/09(日) 17:36:27.73
>>980
Javaに参照渡しはないよ。メソッドの引数に参照を渡しても、それはあくまでも参照の値渡し。
メソッド側から見ると、仮引数に入ってるのは呼び出し側で渡された参照のコピーです。
C/C++の経験があるならこれでわかるだろ。
C#でいうと、引数にrefがついてないときと同じ動きで、しかもつけることもできない。

988 :デフォルトの名無しさん:2013/06/09(日) 17:39:28.01
参照渡しを無くしてバカを保護したつもりがバカを苦しめてしまった
Javaの罪は大きい

989 :デフォルトの名無しさん:2013/06/09(日) 17:51:40.86
>>980
まずJavaの変数に対するfinal指定は「その変数に対する再代入不可」を
表すのであって「インスタンスの書き換え不可」とはちょっと違う。
その変数に入っているオブジェクトに対するミュータブルな操作は依然可能。

final List<String> list = new ArrayList<String>();

list.add("a");
list.add("b");
list.clear(); // ここまでガンガンlistの中身を書き換えてもエラー無し。

list = new ArrayList<String>(); // 再代入を行うここでエラー

あとdiveメソッドの中では単にZowをnewしているだけで引数として与えられた
オブジェクトは特に利用していないよね。

990 :デフォルトの名無しさん:2013/06/09(日) 17:53:12.34
最近のJavaは、C#のための噛ませ犬でしかないからな

991 :デフォルトの名無しさん:2013/06/09(日) 18:01:04.05
>>981
はぁ・・・、そう解釈すればいいんですか。
ってことは、逆にJAVAってメソッドでクラスのインスタンスを引数に取る時は
参照渡しとはなってるけど実際は、引数で取ったインスタンスは、そのクラスの
情報を持ってるだけで、その内容を変更使用が何をしようが・・・いやいや違う。
インスタンスを渡した時、渡された側は、それがfinalかどうかまでの情報までは
解からないから、実行できてしまうと思ったら良いんでしょうか?
public class Cow {
final static Cow cow = new Cow(10);
private int n = 0;
public Cow(int n){this.n = n;}
public void setN(int n){this.n = n;}
public int getN(){return this.n;}
public static void main(String[] args){
System.out.println(cow.getN());
Cow cowOne = cow;
Cow cowTwo = cow.dive(cow);
System.out.println(cowTwo.getN());
System.out.println(cow.getN());
Cow cowThree = cow;
System.out.println(cowOne == cowTwo);
System.out.println(cowOne == cowThree);
}
private Cow dive(Cow cow2) {
cow2.setN(1);
cow2 = new Cow(5);
return cow2;
}
}
ちょっとコードを改変したけど動きました。
>>982
最初にプログラム勉強しだしたのがC/C++なんで、ポインタは理解できてます。

992 :デフォルトの名無しさん:2013/06/09(日) 18:02:34.47
プログラミング初心者にif文を教えることになったのですが、if文の構成について質問があります。
「if文は基本的に( )で括られた条件式と{ }で括られたブロックから成る」と説明したのですが、
「ifの部分ってなんと言う名前か?」という質問を受けました。制御文であってるでしょう
制御文ってif(条件式){ステートメント};全部指してる様な気がしてなんか不安です。詳しい方どうかご教授ください

993 :デフォルトの名無しさん:2013/06/09(日) 18:04:45.11
あらら、知らないうちにスレが伸びてた。
>>987
なるほど、そう理解すれば良いのですね。

994 :デフォルトの名無しさん:2013/06/09(日) 18:19:04.10
>>991
Javaのfinalと例えばC++のconstは一見似ているようだけど実際は全く別物と考えた
ほうが混乱は少ないと思う。
C++におけるconst相当のものはJavaには無いし同様の事をやろうとするとかなり面倒。

995 :デフォルトの名無しさん:2013/06/09(日) 18:25:42.45
final C o = new C();
C * const p = new C();

996 :デフォルトの名無しさん:2013/06/09(日) 18:28:40.02
Zow *dive(Zow * zow2) {
  zow2=new Zow();
}

Zow * const zow=new Zow();
dive(zow);

これでzowが変わったりzowの指す先の
オブジェクトが不変と思うなら
Cをやり直した方がいい

997 :デフォルトの名無しさん:2013/06/09(日) 18:36:44.28
>>992
人に訊く前に最低限自分で調べたらどうだ?
http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.14

998 :デフォルトの名無しさん:2013/06/09(日) 18:55:49.06
文句あるなら自分で言語つくれよ、ドアホども。

999 :デフォルトの名無しさん:2013/06/09(日) 19:04:20.58
趣味か独りよがりならそれでもよいかもね。

1000 :デフォルトの名無しさん:2013/06/09(日) 19:11:26.04
「JAVA()って他言語より劣ってるよね」
「文句あるなら自分で言語つくれ」
典型的なクズの見本でした

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

223 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)