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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2010/05/01(土) 12:46:59
1 名前:デフォルトの名無しさん[] 投稿日:2010/03/16(火) 10:23:04
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド137★★
http://pc12.2ch.net/test/read.cgi/tech/1268702584/

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

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/
0002デフォルトの名無しさん2010/05/01(土) 12:47:40
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 9
http://pc12.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
http://pc12.2ch.net/test/read.cgi/tech/1164877399/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part20
http://pc12.2ch.net/test/read.cgi/tech/1253532993/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
ttp://pc12.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
GoogleAndroidアプリ作成part3
http://pc12.2ch.net/test/read.cgi/tech/1268692293/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 69 ★★
http://pc12.2ch.net/test/read.cgi/tech/1267796762/

■ NetBeansに関する雑談は --
NetBeans Part5【Java/C++/Ruby/Python/PHP】
http://pc12.2ch.net/test/read.cgi/tech/1247926906/
■ Eclipseに関する雑談は --
Eclipse統合M29【Java/C++/Ruby/Python/Perl】
http://pc12.2ch.net/test/read.cgi/tech/1265820185/
0003デフォルトの名無しさん2010/05/01(土) 12:48:21
**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja
0004デフォルトの名無しさん2010/05/01(土) 12:49:47
ありゃ、1行余分にコピーしてるな、まあいいか
乙>俺w
0005デフォルトの名無しさん2010/05/01(土) 13:44:13
1>>乙
0006デフォルトの名無しさん2010/05/01(土) 14:27:15
otu
0007デフォルトの名無しさん2010/05/01(土) 14:39:12
何故、左シフトには論理左シフトと算術左シフトの2種類無いの?右シフトには論理右シフトと算術右シフトの両方あるのに
0008デフォルトの名無しさん2010/05/01(土) 14:41:55
中央シフトが無いのは差別ニダ!
0009デフォルトの名無しさん2010/05/01(土) 15:07:46
>>7
それはね、論理左シフトと算術左シフトは結果が同じだからですよ。
0010デフォルトの名無しさん2010/05/01(土) 15:09:39
符号には影響されないってことか
0011デフォルトの名無しさん2010/05/01(土) 15:18:42
つまり算術左シフトは符号無視して論理左シフトと同じように
 10000010 (-126)  →  00000100 (4)
になるってこと? 1000100(-60) にはならないってこと?
0012デフォルトの名無しさん2010/05/01(土) 15:20:59
>>11
アホ
0013デフォルトの名無しさん2010/05/01(土) 15:22:43
>>11
勉強しなおせ
0014デフォルトの名無しさん2010/05/01(土) 15:23:26
>>11
低脳のクズが市ね
0015デフォルトの名無しさん2010/05/01(土) 15:33:34
清清しいまでの自演
0016デフォルトの名無しさん2010/05/01(土) 16:01:46
自演乙
0017デフォルトの名無しさん2010/05/01(土) 16:15:59
(´・ω・`)
0018デフォルトの名無しさん2010/05/01(土) 16:17:16
>>11
算術シフトは符号ビットを入れるルール
× 1000100
○ 1000101
0019デフォルトの名無しさん2010/05/01(土) 16:23:59
あれ俺まで混乱してきた
1001 1000 (-104)を算術左シフトすると
1011 0000 (-80)になっちまう
0020デフォルトの名無しさん2010/05/01(土) 16:25:35
算術左シフトの定義からして符号ビットは無視します^^;;
0021デフォルトの名無しさん2010/05/01(土) 16:32:34
元 1 000 1000 (符号付8ビット整数)

算術
左シフト 0 001 0000
右シフト 1 100 0100

論理
左シフト 0 001 0000
右シフト 0 100 0100
0022デフォルトの名無しさん2010/05/01(土) 16:38:39
>>8
上シフトや下シフトが無いのも差別ニダ!
0023デフォルトの名無しさん2010/05/01(土) 16:42:27
どうやら俺の理解が足りていないようだ

>>21
論理シフトは符号付に向いてないからいいとして
算術左シフトで、結果的に元の数が負だったのが
00010000という負でない数になってるのは正しいのですか?
0024デフォルトの名無しさん2010/05/01(土) 16:46:25
ビット演算 - Wikipedia
ttp://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E6%BC%94%E7%AE%97
Wikipediaだと算術左シフトは符号ビット無視してる

シフト演算 - Security Akademeia
ttp://akademeia.info/index.php?%A5%B7%A5%D5%A5%C8%B1%E9%BB%BB
このサイトだと算術左シフトは符号ビット残してる

どっちが正しいのか

0025デフォルトの名無しさん2010/05/01(土) 16:50:57
CASL II だと算術左シフトは符号ビット残す。

CやJavaだと算術左シフト=論理左シフトになる。
0026デフォルトの名無しさん2010/05/01(土) 16:55:37
>>19
符号ビット残すと数値がおかしくなるので
算術左シフト自体に利用価値が無い。使うような用途が無い。
だから存在しない
0027デフォルトの名無しさん2010/05/01(土) 17:24:56
つまり
10011000 (-104)を-208にするためにはどうすればいいってばよ?
0028デフォルトの名無しさん2010/05/01(土) 17:48:54
>>21
8bitしかかいてないのでbyteデータだとすると
論理
×右シフト 0 100 0100
○右シフト 1 100 0100
なぜなら、論理シフトであろうと、シフトする前に32bitに符号拡張される謎仕様だから
0029デフォルトの名無しさん2010/05/01(土) 18:00:49
理論上じゃなくてまずJava仕様だったなwスレ的にw
0030デフォルトの名無しさん2010/05/01(土) 18:05:15
>>27
int a=-104;
System.out.println("a="+a);
a*=2;
System.out.println("a="+a);

//Output
// a=-104
// a=-208
0031デフォルトの名無しさん2010/05/01(土) 18:20:16
>>27
8bitでは-208は表せませんが
0032デフォルトの名無しさん2010/05/01(土) 20:58:15
自分をシフトしたいわ
0033デフォルトの名無しさん2010/05/01(土) 21:04:17
>>31
8bit整数を負符号オンリーで現せば ほら 0〜-255 この通り1
0034デフォルトの名無しさん2010/05/01(土) 21:30:38
そんな一般的でない符号化が許されるなら、1ビットで-208表したっていいだろ。0ビットでもいいかもな。
0035デフォルトの名無しさん2010/05/01(土) 22:08:47
0bitは無理だろ
0036デフォルトの名無しさん2010/05/01(土) 22:19:55
Javaに限らず
算術左シフトなんて需要ないだろ・・・
0037デフォルトの名無しさん2010/05/01(土) 22:30:05
>>34

int hugo(byte n) {
return -127+(int)n;
}
0038デフォルトの名無しさん2010/05/01(土) 23:39:30
>>36
Javaに限らなければ需要はあるぞ
オーバーフローフラグを持つCPUなら算術シフトと論理シフトでフラグの変化が違う
0039デフォルトの名無しさん2010/05/02(日) 00:06:29
それでも負数に使うことは無いだろう
0040デフォルトの名無しさん2010/05/02(日) 01:46:57
内部クラスでthisって使ったらthisは何を参照してることになるの?
0041デフォルトの名無しさん2010/05/02(日) 03:38:40
>>40
内部クラス
0042デフォルトの名無しさん2010/05/02(日) 04:33:26
>>41
なるほど。以外に不便そうだな内部クラスってのは
0043デフォルトの名無しさん2010/05/02(日) 04:38:57
class ClassA {
private static ClassA classA;
ClassA() {
classA=this;
ClassB classB=new ClassB();
}
void hoge() {
System.out.println("hoge!");
}
class ClassB {
ClassB() {
this.hoge();
ClassA.classA.hoge();
}
void hoge() {
System.out.println("hoge?");
}
}
}
0044デフォルトの名無しさん2010/05/02(日) 10:52:12
全ての植物は植物クラスを継承する
全ての食物は食物クラスを継承する

このような考えを元に継承を考えたとき、多重継承が無いJavaでは
どちらにも該当するりんごクラスなどをどのように実装すればいいんでしょうか?
0045デフォルトの名無しさん2010/05/02(日) 11:36:03
class Plant{
}

interface Eatable(
}

class Apple extends Plant implemnts Eatable{
}

こんなんでどうでしょ?
食べられるものにはEatableを実装と言うことで。
0046デフォルトの名無しさん2010/05/02(日) 12:55:39
正直継承よりはインタフェースにこだわった方がいいよ。
あと別にクラスで無理やり自然界を記述しなくてもいいから。
0047デフォルトの名無しさん2010/05/02(日) 13:00:46
で、Java 7 は何時出るんだよ?
0048デフォルトの名無しさん2010/05/02(日) 13:16:38
>>43
そんな危ないことしなくても、外側のメンバを直接呼び出すか、
名前がかぶっているなら ClassA.this.hoge(); でいい
0049デフォルトの名無しさん2010/05/02(日) 15:12:41
>>48
クラス名.thisの参照方法を知らないんだろ。
0050デフォルトの名無しさん2010/05/02(日) 15:38:55
public ClassA {
private static ClassA classa = new ClassA();

private ClassA() { new ClassB(); }
public ClassA getInstance() { return classa; }
public void hoge() { System.out.println("hoge!"); }

private class ClassB {
public ClassB() { hoge(); ClassA.hoge(); }
public void hoge() { System.out.println("hoge?"); }
}
}

何となく、>>43のを書き直してみた
専ブラで書いたから、スペルとか間違えてるかも
0051デフォルトの名無しさん2010/05/02(日) 23:25:06
>>48-49
>クラス名.this
kwsk
0052デフォルトの名無しさん2010/05/02(日) 23:27:13
>>50
本来の形から>>40の意図に合わせて単純化されたクラスをそのように直してしまってもいいのでしょうか?
0053デフォルトの名無しさん2010/05/02(日) 23:32:55
結論: 設計を見直せ
0054デフォルトの名無しさん2010/05/02(日) 23:34:11
>>51
Java で内部クラスから外部クラスの関数を明示的に呼ぶときはどう書くのか教えてください。 - 人力検索はてな
http://q.hatena.ne.jp/1122203296
0055デフォルトの名無しさん2010/05/02(日) 23:37:53
class ClassA
{
 ClassA()
 {
  new ClassB();
 }
 class ClassB
 {
  ClassB()
  {
   new ClassA();
  }
 }
}
0056デフォルトの名無しさん2010/05/03(月) 00:15:31
別にコンストラクタで無限ループさせるなら内部クラス経なくてもよろしくてよ
0057デフォルトの名無しさん2010/05/03(月) 01:05:35
出来る出来ないという仕様的な話はありかと思うけど、
実際にこんなコード渡されたらぶちぎれるw
0058デフォルトの名無しさん2010/05/03(月) 04:28:51
switchのジャンプで一番最後のところでもbreak;って入れたほうがいいの?
例えば
switch (n) {
case 1:
 hoge();
 break;
case 2:
 hoge2();
 break; //←これとか
}

switch (p) {
case 1:
 hogehoge();
 break;
case 2:
 hogehoge2();
 break;
default:
 hogehoge3();
 break; //←これとか
}

0059デフォルトの名無しさん2010/05/03(月) 04:35:52
一々選択的に書いたり書かなかったりしていると何時かうっかりミスが出るから
書く癖を付けとけ。
0060デフォルトの名無しさん2010/05/03(月) 05:05:18
switch多重ネストでソースがごちゃごちゃしてわけわかんなくなった
0061デフォルトの名無しさん2010/05/03(月) 05:14:01
switchのcaseをインデントする癖がついてるんだけど、やめたほうがいいのかな
0062デフォルトの名無しさん2010/05/03(月) 05:21:31
今時は IDE も色分けするしフォーマッターも付いてるから
仕事でコーディング規約とかなければその程度は良いんじゃねぇか。
0063デフォルトの名無しさん2010/05/03(月) 08:54:01
ある程度まではオートフォーマッタとCheckstyleやら
Findbugsに全てを委ねてる
0064デフォルトの名無しさん2010/05/03(月) 13:20:00
defaultで処理をするのは意味的にどうかと思う。
っていう宗教戦争を投げかけてみる。
0065デフォルトの名無しさん2010/05/03(月) 13:29:22
まあ列挙に対する全てのパターンを記述する場合とか、
defaultにAssertionErrorをスローするコードとか書くんじゃね?
0066デフォルトの名無しさん2010/05/03(月) 16:06:41
LinkedHashSetにはなぜlistIterator()メソッドがないのだろう。

ListIterator#previous()で反復子を前に移動したかったのに。
next()しかできないよ。

しぶしぶLinkedHashSet使うの辞めてLinkedListにしたけど。
Setは重複を許さないから使い勝手がいいと思ったんだけどな。
LinkedListにしたので挿入時に重複チェックしなきゃならない。

もっといいCollection型はないかな?
0067デフォルトの名無しさん2010/05/03(月) 16:12:17
あと、ListIterator#next()とprevious()の仕様、反復子の隣の要素取ってから反復子を隣に移動させているが
これを、反復子を移動させてから隣の要素とるように指定できないだろうか。
0068672010/05/03(月) 16:29:46
一応、自己解決したかも知れない。
List<String> ll = new LinkedList<String>();
ll.add("A");
ll.add("B");
ll.add("C");

ListIterator<String> it = new ListIterator<String>();

String result;

it.next();
result = it.next();
it.previous();

return result; .//これでカーソルをAとBの間に移動しつつBを取得できる。

next()二回実行してprevious()を実行するというやり方。
逆方向の場合はprevious()を二回実行してからnext()を実行。
問題はListの末端に来たときの処理も作っておかないといけないのが難点。
if(lt.hasNext())とかif(it.hasPrevious())とかでまいどまいどチェックしないといけない。

本当は、末端に来てnext()したら先頭に戻る永久ループ型のIteratorが欲しいのだが…。
時計の針のように12時になったら0時からスタートする、というIterator。

Apache Common Collectionsあたりでも探すしかないだろうか…。しかしあのCollection Frameworkはまだ
Genericsに完全対応していないし…。
0069672010/05/03(月) 16:48:13
見つけた。末端でnext()すると先頭に戻るLoopingListIteratorを発見。

案の定、Genericsに対応していない残念なコレクションフレームワークだった。
http://commons.apache.org/collections/api-release/org/apache/commons/collections/iterators/LoopingListIterator.html

しかしLinkedListにはこのIteratorに変換するメソッドがない。
ということはどこかのクラスのstaticメソッドを使うのだろうか、それともこのLoopingに対応したListIteratorと
別途用意しなければないのだろうか…。
0070デフォルトの名無しさん2010/05/03(月) 16:50:00
http://commons.apache.org/collections/api-release/org/apache/commons/collections/IteratorUtils.html#loopingListIterator(java.util.List)
やはり専用のメソッドが用意されていた。

IteratorUtils.loopingListIterator(java.util.List)
0071デフォルトの名無しさん2010/05/03(月) 17:02:54
Set は List のように順序性を維持するものではない。
0072デフォルトの名無しさん2010/05/03(月) 17:19:33
>>68
>本当は、末端に来てnext()したら先頭に戻る永久ループ型のIteratorが欲しいのだが…。

これでいけない?
http://www.javaworld.com/jw-07-1997/jw-07-enumerated.html?page=6
0073デフォルトの名無しさん2010/05/03(月) 17:20:27
それくらいテメェで作れよと。
0074デフォルトの名無しさん2010/05/03(月) 17:25:41
>>69
> しかしLinkedListにはこのIteratorに変換するメソッドがない。

コンストラクタに放り込むだけじゃない?
0075デフォルトの名無しさん2010/05/03(月) 19:05:07
#include standard io.h
0076672010/05/03(月) 21:59:19
>>71
しかし、LinkedHashSetは順序性を維持するものになっている。
LinkedHashMapも同様。LinkedとついたSetとMapはadd()した順番にオブジェクトが並び順序性が保証されている。
順序性が保証されないのはHashSetとHashMap。

>>72
おお自作物。アルゴリズムとデータ構造の本に載ってそうなコードだ。
すでにCommons CollectionsにLoopingListIterator
という便利なクラスを見つけたので一応は解決したと思う。

>>74
それも一応、>>70のユーティリティクラスを使うという解決策を見つけた。


今探しているのは反復子を移動してからデータを取り出す方法。
現状のnext()はデータを取り出してから反復子を移動している。

何をやりたいかというと、時計の針のようなものを再現したいだけ。

Iteratorを継承した新しいIteratorクラスを作ってそこに独自のnext()メソッドを実装する
しかないだろうか。

俺はIteratorの間違った使い方を試そうとしているのかもしれない。
0077デフォルトの名無しさん2010/05/03(月) 22:05:33
>>74
IteratorUtilsが必要と思ったら
コンストラクタもあった。
LoopingListIterator(java.util.List list)
0078デフォルトの名無しさん2010/05/04(火) 00:13:31
int h=100,i=100,j=100;
h += ++h;
i += i++;
j += (j+=1) + (j+=10);
System.out.println("h="+h);
System.out.println("i="+i);
System.out.println("j="+j);

無精できねえ・・・なんてこったい
0079デフォルトの名無しさん2010/05/04(火) 00:49:55
>>78
結果が分からないCよりはマシだろ
0080デフォルトの名無しさん2010/05/04(火) 02:20:03
>>35
1ビットあれば、二つの数(例えば0と-208)を符号化できる。
0ビットあれば、一つの数(例えば-208)を符号化できる。

一般にnビットあれば、2のn乗個の数を符号化できる。
0081デフォルトの名無しさん2010/05/04(火) 02:56:50
その0biって奴tはハードウェア的にもソフトウェア的にも実現不可能だな
概念的には存在しうるみたいだけど
イデアみたいなもんか?
0082デフォルトの名無しさん2010/05/04(火) 12:51:36
セットにイテレータなんてないだろ。
自作すりゃいいもんをだらだら張り付けるな。
ブログでやれ。
0083デフォルトの名無しさん2010/05/04(火) 13:24:46
え?SetはCollectionだからIterableだろ?
0084デフォルトの名無しさん2010/05/04(火) 16:07:44
>>83
それはJava Collection Frameworkの実装の都合だろ。
setてのはふつう順不同というか要素の前後関係は知らないもんだろ。
そういう用途はlinkedlistだ。

たとえIteratorを持ってたとしてもputやsetした順に
取得できる保証もないし前後関係を知らないんだからprevで要素が取れるわけもない。

LinkedHashSetがあがってるがこれは実装由来のコレクション。特殊な要件で使うもんだ。
0085デフォルトの名無しさん2010/05/04(火) 16:30:57
>>84
SetがIterableであることが、実装上の都合だという
ソースはどこにあります?
0086デフォルトの名無しさん2010/05/04(火) 16:53:06
実装されているが、仕様に規定がないなら、それは実装上の都合ということ。
ないことは示せない。あえて示すならこの世の仕様をすべて見ろと言うしか無い。
0087デフォルトの名無しさん2010/05/04(火) 17:07:26
いや、意味が分からないんだが。IterableはCollectionの契約だろ?
まあ気にくわないならUnsupportedOperationExceptionでも投げればいいけど。

正直何をいいたいのかさっぱり。
0088デフォルトの名無しさん2010/05/04(火) 17:46:07
お前がコレクションやらコンテナと呼ばれるものの使い方を理解してないだけだろ。
だいたいLinkedHashSetは既存のsetを守りつつ順序を保ちたいときに使うラッパーだ。
IterableなのはCollectionインターフェイスで強制されてるからだ。
0089デフォルトの名無しさん2010/05/04(火) 17:49:27
>>87
たぶん
「Setってーのは重複要素がないコレクションなんだぜ。」
「Setの実装クラスが何を持とうとそれは実装都合なんだぜ。」
「CollectionってーのはIterableだが、順序付けされているかそうでないかは実装クラス次第なんだぜ。」
ってことをいいたいんじゃないのかな。
0090デフォルトの名無しさん2010/05/04(火) 17:55:52
>>89
いや、>>82でSetにイテレータ無いって言ってるから
どういう意味かと思って。
0091892010/05/04(火) 18:17:25
>>90
それは、ミスったんじゃないかな。>>84で、
「Iteratorがあっても(入れた時の)順序を保障するものではない。」※括弧内はおれ補完
と記載されているし。

ところで、なんだかIteratorとIterableをゴチャゴチャに書かれている書き込みが多い気がする。
0092デフォルトの名無しさん2010/05/04(火) 18:29:49
Collectionの話してるんだ。混ぜて構わんだろ。
0093デフォルトの名無しさん2010/05/04(火) 18:44:50
列挙性とその順序性は全く別の話。
分かっていないバカが一匹混ぜ繰り返している。
0094デフォルトの名無しさん2010/05/04(火) 22:36:28
あるメソッドの中だけ別のpackageを参照するように出来ますか?

クラスのあたまで
import org.easymock.EasyMock;
とやると
そのクラスのメソッド内で
EasyMock.
と呼び出すと上のパッケージのクラスを参照するじゃないですか?
で、あるメソッドだけ
org.easymock.classextension.EasyMock
のクラスを参照したいのですが、上記のようにフル修飾名をいちいち入れるとソースが見づらくなるので、あたまでなんか宣言して、そのメソッドだけ別のパッケージを参照するように出来ませんでしたっけ?

方法ありましたらお願いします
0095デフォルトの名無しさん2010/05/04(火) 23:05:43
JavaScript なら出来るが。
0096デフォルトの名無しさん2010/05/04(火) 23:31:04
Effective Java 2版 140p に通常のキャストと Class.cast の説明があったのですが、意味がよく分かりませんでした。

class Favorites {
    private Map<Class<?>, Object> favorites = new HashMap<Class<?>, Object>();

     // Class.cast
    public <T> T getFavorite(Class<T> type) {
        return type.cast(favorites.get(type));
    }

     // キャスト演算子
    public <T> T getFavorite(Class<T> type) {
        return (T)favorites.get(type);
    }
}

上記の Class.cast を使う場合ととキャスト演算子を使う場合ではどのような差があるのでしょうか?
この二つに差があるのだとしたら、どのようなときにどう使い分けるのでしょうか?
どうかお願いします。
0097デフォルトの名無しさん2010/05/05(水) 01:04:29
>>96
public Favorites() {
favorites.put(Integer.class, "string");
}
と変なもの入れて
Favorites f = new Favorites();
try {
System.out.println(f.getFavoriteCast(Integer.class));
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println(f.getFavorite(Integer.class));
} catch (Exception e) {
e.printStackTrace();
}
と使ってみるといい。f.getFavoriteCastはClass.cast版ね。
0098デフォルトの名無しさん2010/05/05(水) 02:09:36
質問です。
getClass()メソッドのテストをしようと思い、次のようなソースを実行しました。
配列int[]とStringクラスでgetClass()を行い、結果をprintln()で出力するものです。

出力結果の" class [I "というのはどういう意味なんでしょうか?
(てっきり"class java.lang.reflect.Array"あたりが出力されると思ったのですが…)
そもそも配列にgetClass()を行うのは好ましくないのでしょうか?

【ソース】
public class Test1 {
public static void main(String[] args){
int[] a = {1,2,3};
System.out.println(a.getClass());
System.out.println((new String("abc")).getClass());
}
}

【出力結果】
class [I
class java.lang.String

以上です。
どうぞよろしくお願いします。
0099デフォルトの名無しさん2010/05/05(水) 02:22:42
>>98
http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#14152
0100デフォルトの名無しさん2010/05/05(水) 02:37:47
>>99
こんな仕様があったとは知りませんでした。勉強になります。
夜遅くにご回答いただき、どうもありがとうございました。
0101デフォルトの名無しさん2010/05/05(水) 04:33:17
>>97
キャスト演算子は型が一致しなくても放置で
Class.cast は型が一致しなければ ClassCastException を投げる
の違いということですか?
0102デフォルトの名無しさん2010/05/05(水) 06:34:21
Class#castだと
Integer.class.cast("") とかコンパイル通っちゃう。
0103デフォルトの名無しさん2010/05/05(水) 09:55:29
そんな珍しいコードよう書かんわw
ちなみに、ジェネリックスとの組み合わせは分かりにくくなる罠。
現状のジェネリックスはある種のトリックだから。
http://www.ibm.com/developerworks/jp/java/library/j-jtp01255/
0104デフォルトの名無しさん2010/05/05(水) 15:37:01
class ClassA {
 private String name=null;
 ClassA(String name) { this.name=name; }
 String getName() { return name; }
 void setName(String name) { this.name=name; }
}
class ClassB {
 static void method1(ClassA c) {
  c.setName("Method 1");
 }
 static void method2(ClassA c) {
  c=new ClassA("Method 2");
 }
}
とあったとき

ClassA a=new ClassA("Class A");
System.out.println(a.getName());
ClassB.method1(a);
System.out.println(a.getName());
ClassB.method2(a);
System.out.println(a.getName());
としたら
Output:
Class A
Method 1
Method 2
ってなるよね?
0105デフォルトの名無しさん2010/05/05(水) 16:00:45
>>104
最後のMethod 2はMethod 1のままだろ。
Javaでは参照渡しはできない。参照の値渡しなら出来る。
0106デフォルトの名無しさん2010/05/05(水) 16:39:21
なるほど・・・残念
0107デフォルトの名無しさん2010/05/05(水) 19:08:05
Class.cast なんて初めて知った
どっちも実行時に型チェックして例外投げると思うんだが何が違うの?
0108デフォルトの名無しさん2010/05/05(水) 19:25:43
>>97 で相違動作のサンプルまで書いてあるじゃねーか。
0109デフォルトの名無しさん2010/05/05(水) 19:28:47
未チェック警告抑止しなきゃならない時に手元に Class オブジェクトがあれば Class#cast() でやってる。

private final Map<String,Object> values = new HashMap<String,Object>();
public <T> T getValue(String key, Class<T> type){
   Object value = values.get(key);
   if(value == null)   return value;
   assert(type.isAssignableFrom(value.getClass()): value.getClass().getSimpleType();
   return type.cast(value);
}
0110デフォルトの名無しさん2010/05/05(水) 19:48:08
>>97やってみたけどf.getFavoriteが例外投げないのは何故?
通常のキャストも実行時の型チェックやってるよね?
0111デフォルトの名無しさん2010/05/05(水) 20:01:52
>>110
ジェネリクスのイレイジャ機構により、
おそらくキャストしてる方は実行時Integer型ではなく
Object型そのまんまで扱ってる。(実行時に型情報は消えるから)

ただ、もちろん
Integer i = f.getFavoriteCast(〜〜);
とすればClassCastExceptionが発生する。
0112デフォルトの名無しさん2010/05/05(水) 20:02:21
>>109Classオブジェクトが無いときはどうするの?
0113デフォルトの名無しさん2010/05/05(水) 20:11:57
>>112
Classを用意できない場合ってあるかい?
0114デフォルトの名無しさん2010/05/05(水) 20:14:46
curses的なことができる何かってないですか?
jcursesというのとlibjcsiというのを使ってみたけど、
マルチバイト文字に対応してない?っぽいので、
いいの知ってる方教えてください。
0115デフォルトの名無しさん2010/05/05(水) 21:13:38
>>113 1.5以前とか総称型を想定してないのとか
0116デフォルトの名無しさん2010/05/05(水) 22:14:47
普通のプログラミングとネットワークプログラミングは別なんでしょうか?
ネットワークプログラミングを習得しないといけないことになったんですが
即ネットワークプログラミング? 普通のプログラミング習得⇒ネットワーク?
プログラムに関してはC言語をファイルの入出力なんかあたりまでやった程度です。
0117デフォルトの名無しさん2010/05/05(水) 22:15:18
jcursesもlibjcsiなんかして日本語通ったはずだが忘れた。
CHARVAは無理だった。
0118デフォルトの名無しさん2010/05/05(水) 22:16:51
1.5以前というか総称型以前はそもそも未チェック警告が無いからキャストで
問題なかったはず。
0119デフォルトの名無しさん2010/05/05(水) 22:29:24
>>116
普通の業務アプリではネットワークプログラミングはしません。
そういう意味では別です。それ以外を除けば別じゃありません。

ネットワークプログラミングというのは、
簡単に言えば、ちょっと面倒くさいファイル入出力です。
0120デフォルトの名無しさん2010/05/05(水) 22:38:55
プロトコル考えなきゃ行けないからちょっとでは済まんだろw
0121デフォルトの名無しさん2010/05/05(水) 22:40:20
じゃあ面倒くさいファイル入出力でいいよ。
0122デフォルトの名無しさん2010/05/05(水) 23:02:44
ファイル入出力もネットワーク入出力も同じようなもの。には同意。

「普通」って発言にはちょっと引っかかるな。
自分トコだとJavaサーバと.Netリッチクライアントが「普通」なんだが。
また別のトコだとWEBアプリが「普通」だったり、Excel+ODBCが「普通」だったり。
RubyサーバにJavaリッチクライアントが「普通」なんてトコもある。
皆それぞれに「普通」。
0123デフォルトの名無しさん2010/05/05(水) 23:04:34
>>118
そういう意味じゃなくて、総称型を想定しないで作ったクラスだとメソッドの追加が必要になるけど言語仕様ごとにクラスの修正やメソッドの追加は出来ないってこと。
ほとんどのクラスはもともと総称型を意識しないような設計だからClassをいちいち用意できない。
0124デフォルトの名無しさん2010/05/05(水) 23:07:58
同じ様なものって、ストリーム型入出力の基礎の基礎のところだけじゃねえか。
まともに使おうと思ったら相手方のアプリの知識も非同期処理の知識も、
もちろんバークレイソケットの知識も必要になる。プロトコルによっては
状態管理もパケ落ち対応も必要。
01251162010/05/05(水) 23:10:12
文字見ただけで難しそうですね・・・
P2PにおけるDHT関連をやるんですが。
0126デフォルトの名無しさん2010/05/05(水) 23:43:01
>>124
詳細言い出したらキリないだろうが。
ファイル入出力だってファイルシステム言い出したらキリないし、
そもそもフォーマットはどうだの、即時追記に対応するだの、
クラッシュ時安全にするだの、あるよ。
お前はいちいち全部言わないと気が済まないのか
0127デフォルトの名無しさん2010/05/05(水) 23:59:38
>>125
P2PでDHTとかってのは業務的なことでネットワークプログラミング
の範疇に入れるべきなのだろうか?
スレッド間でロジックをシミュレートすることだって出来る部分だし。
確かどっかでアプレット見た気がする。ノード毎に伝搬していく様子の。
0128デフォルトの名無しさん2010/05/06(木) 00:09:16
あ、スマン。それ言い始めたらアプリケーション層のアプリって軒並み
ネットワークじゃねぇってことになる。
0129デフォルトの名無しさん2010/05/06(木) 00:13:04
>>126
それらを同じ様なものと言いのける低脳。
0130デフォルトの名無しさん2010/05/06(木) 00:26:18
スーパークラスのメソッド呼ぶときって必ずsuper.method();ってしたほうがいいの?

つまり

class ClassA {
 void hoge() {
  System.out.println("Hoge!");
 }
}

class ClassB extends ClassA {
 
 void hogehoge() {

 super.hoge(); //← super. つけたほうがいいの?

 hoge(); //← super. つけないほうがいいの?

 }
}
classBでhoge()をオーバーライドしてないとして
0131デフォルトの名無しさん2010/05/06(木) 00:36:37
>>130
どっちでもいい。
むしろhoge()のほうをthis.hoge()にしてほしいわ。
0132デフォルトの名無しさん2010/05/06(木) 00:49:24
>>131
スーパークラスのメソッドってthis.で呼び出せるって知りませんでした。勉強になりました。
ありがとうございます
0133デフォルトの名無しさん2010/05/06(木) 00:51:05
>>131
ちなみにsuper使う場合もthisってつけたほうがいいんですか?
this.super.hoge(); ? super.this.hoge(); ? なんか細かいことばっか訊いてすみません
0134デフォルトの名無しさん2010/05/06(木) 03:12:26
>>94
static import?

リフレクション?
0135デフォルトの名無しさん2010/05/06(木) 03:26:56
>>84
> >>83
> それはJava Collection Frameworkの実装の都合だろ。
> setてのはふつう順不同というか要素の前後関係は知らないもんだろ。
> そういう用途はlinkedlistだ。
>
> たとえIteratorを持ってたとしてもputやsetした順に
> 取得できる保証もないし前後関係を知らないんだからprevで要素が取れるわけもない。

そもそもあるコレクションにlistIterator()メソッドがないとprevious()が使えない。
コレクションによってはiterator()メソッドしか実装されてないのがある。


> LinkedHashSetがあがってるがこれは実装由来のコレクション。特殊な要件で使うもんだ。

SortedSet、TreeSetもComparableが実装されたオブジェクトをadd()できるから
(挿入ソートで挿入したときにComparable#compareTo()が働いて自動的に順番が並ぶ)
順序関係は保証される。これも特殊だと?
LinkedHashSetとArrayListとの違いはオブジェクトが重複を許すか許さないかの違いでしか無いと思うが。
使えるメソッドも若干違うが。
0136デフォルトの名無しさん2010/05/06(木) 03:36:15
抽象化と実装仕様の区別も付いていない人が何で Java なんかやってんの?
0137デフォルトの名無しさん2010/05/06(木) 03:44:21
>>132 >>133
なぜthisやsuperをつけるのかわかってないような気がする。
途中からClassBにhoge()という名前のメソッドを
新たに作ることになったとき(hogeをオーバーライド)は、thisをつけると
新たに作ったメソッドのほうが呼ばれるのだが。
後でhoge()メソッドをオーバーライドするときに備えてsuperというキーワードが用意されている。
いかなる状況でもClassAのhoge()メソッドを呼び出したいのに、あとからClassBのhoge()メソッドを実装すると
なぜかClassBのhoge()メソッドを呼び出してしまう。そういう問題を防ぐために、superというキーワードがある。

だから将来のオーバーライドや、同じ名前のメソッド名衝突に備えてsuperクラスのメソッドを呼びたいときはsuperをつけるべき。
(ちなみにスーパークラスに同じ名前のメソッドがあることに気付かずメソッド名衝突する問題はJava5から登場した@Overrideアノテーションで回避できる)

自分のクラスのメソッドを呼びたいときはできるかぎりthisをつけるべき。インスタンスメソッドはできるかぎりthis.メソッド名()
staticなメソッドはthisつけないでクラス名.メソッド名()とするのが望ましい。Checkstyleとか使ってコーディング規約を守るなら。
そもそもthis.superとかsuper.thisなんて記述ではコンパイル通らない。
0138デフォルトの名無しさん2010/05/06(木) 03:58:36
詳しい説明ありがとうございます
0139デフォルトの名無しさん2010/05/06(木) 04:03:05
となると、変数や定数のフィールドもsuperやthisをつけて使ったほうがよさそうですね・・・
今後気をつけます
0140デフォルトの名無しさん2010/05/06(木) 04:14:16
仮に>>130の例で
0141デフォルトの名無しさん2010/05/06(木) 04:17:57
仮に>>130の例で
ClassBでhoge()をオーバーライドしたとき
他のクラスからClassBのインスタンスからスーパークラスであるClassAのhoge()を呼び出すってことできます?

例えば
class ClassB extends ClassA {
 void hoge() { System.out.println("Hoge Override"); }
}
class ClassC {
 void nanika() {
  ClassB b=new ClassB();
  b.hoge(); //←ここでClassBのhoge()じゃなくてスーパークラスのほうのhoge()を呼び出すことって出来ますか?
 }
}
0142デフォルトの名無しさん2010/05/06(木) 04:23:30
できないしできたらおかしい
0143デフォルトの名無しさん2010/05/06(木) 04:25:43
class ClassC {
 void nanika() {
  ClassB b=new ClassB();
  ClassA a=(ClassA)b;
  a.hoge(); //←もしかして、こうしたらスーパークラスのほうのhoge()になりますか?
  b.super.hoge();とかありそうな気もします
 }
}
0144デフォルトの名無しさん2010/05/06(木) 11:42:54
>>94

Javaでは無理ですね。1ファイル中に登場するクラスの単純名が重複している場合は
そのうち1つだけしか単純名で扱えず、それ以外はFQNで書く必要があります。

Groovy(Scalaも?)は別名をつけられるので、上記のようなJavaの煩わしさは
軽減できるようですが。
0145デフォルトの名無しさん2010/05/06(木) 13:29:43
>>141
できない。

>>143
できない。ためしにコンパイルしようとすればわかる。
どうしてもそんなことしたかったら

ClassA a = new ClassA();
a.hoge();
こうする。

bを(ClassA)にキャストしても中身はこれと同じだからオーバーライドしたメソッドしか呼び出されない。
ClassA a = new ClassB();

というかいい加減に自分でコンパイルして自分の目で確かめろと。
0146デフォルトの名無しさん2010/05/06(木) 14:04:49
>>142,145
回答ありがとうございます。
出来ないのですか・・・となるとどちらも使いたい場合は
何とかメソッド名を変えるなり対応するしかなさそうですね・・・
わかりました
0147デフォルトの名無しさん2010/05/06(木) 14:59:25
>>146
マジレスすると設計がおかしい
0148デフォルトの名無しさん2010/05/06(木) 18:42:54
>>146
デザインパターンの勉強をすべき
01491142010/05/06(木) 19:48:50
>>117
機種依存部分に対してなんかするんだったか、
jar内のjava部分に対してなんかするんだったか、
自分が書いたコードに対してなんかするんだったかだけでも思い出せませんか?
いすれにしても素敵なヒントありがとうございました。
0150デフォルトの名無しさん2010/05/06(木) 19:51:29
>>149
罫線がSJISとかだと半角カタカナの領域できめうちだったりしたような。
0151デフォルトの名無しさん2010/05/06(木) 21:37:13
Java6からQueueが追加されたっていうんで調べてみたら
LinkedListがQueueを実装してpop()が使えるようになってた。
早速使ってみたが

private List<String> list = new LinkedList<String>()

this.list.add("test");
this.list.add("abc");
this.list.add("def");

String result = list.pop();

という使い方はさすがにできなかった。
pop()はQueueで定義されListで定義されてないため。
private Queue<String> list = new LinkedList<String>()
とやりたかったがLinkedList#listIterator()を使いたかったために
仕方なく
private LinkedList<String> list = new LinkedList<String>()
ってやった。

なんだかな。
0152デフォルトの名無しさん2010/05/06(木) 21:39:35
おまえはコンクリートクラスをベタ書きで使ってるのがお似合い。
0153デフォルトの名無しさん2010/05/06(木) 21:41:53
>>151
意味が分からない俺は初心者です。ハイ。
0154デフォルトの名無しさん2010/05/06(木) 22:02:30
>>151
まさにLinkedListの性質が必要となっているので、
インタフェースを指定する必要はない。

ところで、<E, T extends List<E> & Deque<E>>
とか&指定する機会ってあんまりないよねー。
0155デフォルトの名無しさん2010/05/06(木) 22:47:47

>>151
意味がわからん。
なんでqueue使うのにlistIteratorが要るんだ?
だいたいLinkedListじゃなくてArrayDequeue使うところだろ。
listIterator使うってことはカーソル基準の相対位置にアクセスしたいのか?
pop要らんしpopしたら意味が変わってくるだろ。
0156デフォルトの名無しさん2010/05/06(木) 22:50:34
ところでリスト更新したらConcurrentModificationでない?
0157デフォルトの名無しさん2010/05/06(木) 23:40:44
>>155
というかさ、LinkedListだとしても普通に

Queue<String> queue = new LinkedList<String>();

queue.add("1");
queue.add("2");
queue.add("3");

String elm;
while((elm = queue.poll()) != null ){
System.out.println(elm);
}

だと思うんだ。
0158デフォルトの名無しさん2010/05/06(木) 23:53:08
>>151
Queue<String> q = new LinkedList<String>();
q.add("test");
q.add("abc");
q.add("def");
Iterator<String> i = q.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
System.out.println("-----");
String s;
while ((s=q.poll())!=null) {
System.out.println(s);
}
とかはダメなのか?ListIteratorしか使えない呪いでも?
01591572010/05/07(金) 00:00:16
>>158
Iterator<String> i = q.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}

の部分は、

for(String s : queue){
System.out.println(s);
}
の方がスッキリして好きだな。
0160デフォルトの名無しさん2010/05/07(金) 00:04:30
前の LinkedList 厨だからスルーが吉
0161デフォルトの名無しさん2010/05/07(金) 05:38:23
え?厨?
0162デフォルトの名無しさん2010/05/07(金) 09:04:58
初心者です。試験勉強用の事で、言葉の定義とかなんですが、質問させて下さい。
1)メソッドに渡した基本型のフィールド変数は、メソッド内側の操作は、
 外側の変数には反映されないでしょうか。(合っていますよね。)
2)このメソッド内の変数をローカル変数と呼ぶ、合っていますか。
3)通常、引数で渡した変数の反映を読んだ側でも反映して返すには、
 戻り値で返すのが普通でしょうか。(static変数との使い分けがよく分からない;)
4)メソッドに参照型の参照で渡した場合、
 メソッド内部のインスタンスに対する操作は反映される、っていうのが、
 当たり前だと個人的には感じるんだけども、
 わざわざ参考書とかで説明してあるのが謎です。
 例えば、
  method1(Vector v)の中で
   Vector v = new Vector();
   v.add(new String("abc");
 とやった場合には外側のvにはabcはくっつかない、
  method2(Vector v)の中で
   v.add(new String("abc");
 とかやると、くっつく、と。
 当たり前の様な気もしますし、どうなんでしょう。
5)この4)の場合と、1)の場合を比較した時の理論がよくわかりません。
 1)だと、メソッド側に引数で渡された基本型の値はコピーされて
 (多分JVMのメモリにはその値用の領域が確保されますよね)
 メソッド内の操作はそのコピーされた領域に保存された値を操作しているんだと
 思いますが、4)で参照を渡した時も、参照は別の領域にコピーされるんですよね。
 すると、4−method2の場合には、v.add〜のvで指せる参照はコピーされた
 値な様な気がして・・どうなんでしょうか。
0163デフォルトの名無しさん2010/05/07(金) 09:25:20
>>162
1:反映されません。というよりは、関数内の変数に値がコピーされます。
2:ローカル変数と読んでもいいです。パラメータって普通言うけど。
3:staticは基本的に何度も値を書き込むのに使わないでください。
基本的に定数に使うものです。
返り(戻り)値で済むなら返り値を使ってください。
返り値で済まないなら、状態を持つクラスのインスタンスを渡して、
それに対してメソッド内部で操作を行います。
void method(VOClass vo){
 vo.setXXXX("hogehoge");
}
クラスを作るのが面倒な時は配列で渡します。
あんまりやらないほうがいいですが。
void method(Object[] o){
 o[0] = "hogehoge";
}
4.どうなんでしょう?っていわれてもね、参考書は初学者のためのものだからね。
でもオブジェクトの値渡しするような言語(C++)は、普通に引数にモノを渡すと
一般的にはオブジェクトがコピーされるんで、その理論は通用しません。
どうでもいいですが、Stringのコンストラクタは意味がないどころか
普通はコスト的に有害なので超特別な理由がない限り呼ばないでください。
あとVectorじゃなくて普通はArrayListを使います。
5.Javaには参照渡しはありません。メソッドのオブジェクトを渡した時は、
オブジェクトへの参照がコピられて値渡しされてるだけ。
オブジェクト以外の基本型(プリミティヴ)を
渡した時もその値がコピられて値渡しされてるだけ。
method2はmethod2に渡した引数(オブジェクト)の参照がコピられて
method2のvパラメータに設定されているだけ。
参照ってのは32bitのメモリ空間を表す数字ね。
0164デフォルトの名無しさん2010/05/07(金) 09:41:37
>>163
>staticは基本的に何度も値を書き込むのに使わないでください。
>基本的に定数に使うものです。
定数のときはstatic final
クラス内で共通、唯一つな時に使えばいいのであって何度も値を書いて問題なし
FPSでの弾の数とか
0165デフォルトの名無しさん2010/05/07(金) 10:41:33
>>164
弾の数… ビミョー。使っちゃダメってことはないけど、
あんまり正当化できるシーンは少ない。
少なくともstatic変数が現れたら「きちんと使っているかどうか」
ってのは見てしまうね。コードレビューの時とか。
だいたい「使う正当な理由はないよね。じゃやめて。」
って注意して終わる。
0166デフォルトの名無しさん2010/05/07(金) 17:41:40
javaの公式サイトにここ数日まったく繋がらないんですが・・・
0167デフォルトの名無しさん2010/05/07(金) 17:51:15
>>166
http://java.sun.com/
普通にこのサイトにつながるけど
0168デフォルトの名無しさん2010/05/07(金) 18:49:58
>>155
それArrayDequeueじゃなくてArrayDeque

javadocにも書いてある通りdequeとdequeueでは英語的にもまったく意味が違う


話を戻して、Listに入れたい要素のオブジェクトを作るクラスを独自に作って
前後関係をもたせたので結局Iteratorを使う必要がなくなってしまった。
Chain of Responsibilityのたらい回しを参考に、となりどうしのオブジェクトがお互い参照しあう方式をとることにした。

それとは別にこういうデータ構造が必要だった。

・基本的に、Stackのように端からしかデータを取得除去する必要がないからpop()を使う。
・ひたすら端からデータを取るだけ。
・要素が空になったときのみ一気に補充する。
・感覚としては弾薬の再装填や燃料補給に近い。しかし個々の要素はまったく異なるものを含み重複を許可する。

だから削除速度が速いらしいLinkedListにした。

Dequeによるとpoll()はpollFirst()と同じ。
pop()はremoveFirst()同じ。
removeFirst()は空のときNoSushElementExceptionをthrowするpollFirst()。空のときはnullを返す。
(isEmpty()を使えば例外は気にしなくていい)
みたいだったがnullで判定するのが好きな人が多いね。
0169デフォルトの名無しさん2010/05/07(金) 18:55:45
>>165
> >>164
> 弾の数… ビミョー。使っちゃダメってことはないけど、
> あんまり正当化できるシーンは少ない。
> 少なくともstatic変数が現れたら「きちんと使っているかどうか」
> ってのは見てしまうね。コードレビューの時とか。
> だいたい「使う正当な理由はないよね。じゃやめて。」
> って注意して終わる。

複数のインスタンスでひとつの状態を共有するときはstatic変数は重宝する。
0170デフォルトの名無しさん2010/05/07(金) 19:28:14
だから"ビミョー"なんじゃないの?
0171デフォルトの名無しさん2010/05/07(金) 20:00:11
書籍『Java言語仕様』によると、純粋主義者はインスタンスフィールドはすべてprivateにすべき
staticフィールドはfinalにすべきというが、そんな感じの意見か。

staticなフィールドの代替をCollectionを集約したSlngletonで代用するとかいう感じか。
0172デフォルトの名無しさん2010/05/07(金) 21:51:12

入力するときに、import java.io.* とimport java.io.* って何が違うの?
JAVA初めて即効分からなくなった。 どっちのがいいとかある?

IOで解説してるサイトが多いからそっちのが簡単とか?
0173デフォルトの名無しさん2010/05/07(金) 21:52:56
間違えた。 java.util.
0174デフォルトの名無しさん2010/05/07(金) 21:55:27
( ゚Д゚)ポカーン
0175デフォルトの名無しさん2010/05/07(金) 22:01:12
イギリスとフランスって何が違うの?級の質問
0176デフォルトの名無しさん2010/05/07(金) 22:09:21
そうなんですか。
ではテキスト通りutilにします。

有難うございました。
0177デフォルトの名無しさん2010/05/07(金) 22:23:00
test
0178デフォルトの名無しさん2010/05/07(金) 22:28:00
質問させてください。
現在コンソール入力でヒットアンドブロー(数字当て)のゲームを開発中で詰まっている点があります。
まず、プログラム上で乱数にて4桁の数字をセットします。

コンソール画面上の例 :

▲回目:1234
 ⇒ Hit :● Blow :●

※▲には入力の回数カウンタを表示。
※●には入力した数字に対して正否の数字がそれぞれ入る。

�@『 ▲回目: 』 と表示させた後、ユーザーが入力で4桁の数字を入力してEnterを押す。
�ABufferedReaderクラスのInputStreamReaderメソッドにてSystem.Inを入力し変換させ表示
�B正否判定を表示 『 ⇒ Hit :● Blow :● 』

この�Aと�Bの間で、改行させずに入力を行いたいのですがうまくいきません。
改行は�Bの正否の判定を表示した時にSystem.out.printlnでするだけにしたいんです。
以下のような形での画面・入力仕様が目標です。

1回目:1234 ⇒ Hit :0 Blow :4
2回目:2525 ⇒ Hit :2 Blow :2
1回目:7777 ⇒ Hit :4 Blow :0
Congratulation・・・
0179デフォルトの名無しさん2010/05/07(金) 22:29:48
>>178
どうせBufferedReaderでreadlineとかしてんでしょ。
0180デフォルトの名無しさん2010/05/07(金) 22:32:18
>>179

はい、その通りです。
0181デフォルトの名無しさん2010/05/07(金) 22:36:19
>>168
おれなら、
public class Test {
public static void main(String[] args) {
Deque<String> queue = new ReloadableDeque<String>() {
@Override public void reload() {
System.out.println("リロードっ");
this.add("1");
this.add("2");
this.add("3");
} };
String elm;
while ((elm = queue.pollFirst())!=null)
System.out.println(elm);
}
}
public abstract class ReloadableDeque<E> extends ArrayDeque<E> implements Reloadable{
@Override public E pollFirst() {
E elm;
if ((elm = super.pollFirst()) == null) {
reload();
elm = super.pollFirst();
}
return elm;
}
}
public interface Reloadable { void reload(); }

だな。
0182デフォルトの名無しさん2010/05/07(金) 22:39:38
>>180
readlineは一行分読み込みが終わるまで読み込めない。
ファイルが読み込み元なら改行文字にブチ当たるまで読み込めない。
コンソールが読み込み元なら改行してくれるまで読み込めない。
別の読み込みメソッドを使いましょう。
01831822010/05/07(金) 22:43:17
と思ったけど、無理だな
01841782010/05/07(金) 22:54:36
>>183

ありがとうです。
やっぱり無理なんですかねぇ
3日3晩APIの仕様書熟読とWeb中探しがしんどい・・・orz
0185デフォルトの名無しさん2010/05/07(金) 23:02:09
>>184
一応言っておくと、
Java6使ってるならSystem.console()使おうぜ
0186デフォルトの名無しさん2010/05/07(金) 23:08:03
>>178
こんなの使うとできる、のかも。
ttp://www.nilab.info/resource/bbslog/megabbs/1070189533.html
0187デフォルトの名無しさん2010/05/07(金) 23:12:35
>>172
は?

java.sql.Date
と
java.util.Date
との違い、
これらを同時に使用するにはどうすればいいのかっていう質問ならわかるんだが。

それともimport java.io.*とimport java.io.PrintWriterとの違いやimport java.util.Collectionとimport java.util.*との違いのことをいっているのか?
0188デフォルトの名無しさん2010/05/07(金) 23:13:28
>>184
どうしてもやりたかったらawt.keyevent
あとはlinux、cygwinとか?
0189デフォルトの名無しさん2010/05/07(金) 23:18:27
こんなのとか。
http://jline.sourceforge.net/
0190デフォルトの名無しさん2010/05/07(金) 23:20:12
>>172
http://www.atmarkit.co.jp/fjava/rensai4/java5eclipse10/java5eclipse10_1.html
01911782010/05/07(金) 23:24:46
>>185
>>186
>>188-189
みんなありがとう。ちょっと調べてみて吟味して後の仕様拡張とあわせて
選択しようかなと思います。

0192デフォルトの名無しさん2010/05/07(金) 23:28:31
>>181
そこまでやるか。
Template Methodに匿名クラスに抽象メソッドにインタフェース全部作ってまでやるか。
そこまでやりだすメリットってそんなにあるのか?

ジェネリックスにワイルドカード指定すればもっと凄い堅牢性が高いものが
できあがりそうだが、やりだすと苦労しそうだ。
0193デフォルトの名無しさん2010/05/07(金) 23:35:38
>>185
C#のSystem.Console.WriteLine()かと思った。
そんなメソッドとjava.io.Consoleが追加されていたとは。
これでScannerクラスを使う必要もなくなるのか
0194デフォルトの名無しさん2010/05/07(金) 23:37:03
Apache Commons CLIという選択肢もあり
http://commons.apache.org/cli/
0195デフォルトの名無しさん2010/05/07(金) 23:50:30
>>194
cliってgetoptみたいなものでは。
0196デフォルトの名無しさん2010/05/08(土) 00:14:24
超初心者増えたなぁ
0197デフォルトの名無しさん2010/05/08(土) 00:15:32
>>192
匿名クラスなのは、ReloadableDequeの中でreloadを実装すると融通効かなそうだから(部品として弱そうだから)、
匿名クラスでReloadable#reloadを実装した。それから、クラス名考えるのめんどくさかったからってのもある。

抽象クラスなのは、ReloadableDequeを使う人に、
確実にreloadをOverrideさせるため。

Reloadableをインタフェースにしたのは、なんか全然違うところでも使いそうじゃない?そんな理由。マーカ的につかえるかなぁ〜って。
0198デフォルトの名無しさん2010/05/08(土) 00:21:25
誤)Reloadableをインタフェースにしたのは、
正)Reloadableインタフェースをつくったのは、
0199デフォルトの名無しさん2010/05/08(土) 01:26:02
>>193
正直いってConsoleは微妙
というかeclipseで使えない
0200デフォルトの名無しさん2010/05/08(土) 01:52:39
うわあマジだ。ある意味正しい動きではあるが。クソだな。
0201デフォルトの名無しさん2010/05/08(土) 01:59:33
>>196
お前いっつもそれしか言わないよな。
0202デフォルトの名無しさん2010/05/08(土) 02:00:14
初心者の域を抜け出せない初心者が初心者批判してるんですね
0203デフォルトの名無しさん2010/05/08(土) 02:43:15
>>200
利点はioexceptionなげないのとpasswordだけ・・・
自分はIDE上で登録済み
br
Java ステートメント
try {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String line;
while((line=br.readLine())!=null){
${cursor}
}
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
0204デフォルトの名無しさん2010/05/08(土) 05:14:29
マルチスレッドについての質問です。
マルチコアCPUの場合、プロセスのコア割り当てはOSが管理しますよね。
Javaプロセスを複数立ち上げれば、OSが適切にプロセスごとに割り振るのは分かります。
でも、一つのJavaプロセスの中で複数スレッドを走らせた場合、
OSからは一つのJavaプロセスに見えてると思うのですが、
どうやって複数コアへ処理の割り当てを行っているのでしょうか。
0205デフォルトの名無しさん2010/05/08(土) 05:51:05
/ 名前を読み込んで挨拶する(その2:nextLine()版)
import java.util.Scanner;
class HelloNextLine {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("お名前は:");
String s = stdIn.nextLine(); // 1行分の文字列を読み込む
System.out.println("こんにちは" + s + "さん。"); // 表示
}
}
Exception in thread "main" java.lang.NoClassDefFoundError:
HelloNextline (wrong name: HelloNextLine)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: HelloNextline. Program will exit.

上記のようになったのですが、エラーが出た時はどの部分をみればいいのでしょうか?
0206デフォルトの名無しさん2010/05/08(土) 06:02:11
HelloNextline (wrong name: HelloNextLine)
0207デフォルトの名無しさん2010/05/08(土) 07:37:04
compress形式で圧縮されたファイル(拡張子 .z のファイル)を解凍したいのですが、
どうすればいいのでしょうか?
0208デフォルトの名無しさん2010/05/08(土) 07:42:39
>>204
vmのスレッディングapi実装はosネイティブのスレッディングapiを利用して行われる
0209デフォルトの名無しさん2010/05/08(土) 08:45:03
バックグラウンドで画像のサムネールを作る処理を走らせたときに MIN_PRIORITY に
設定しても CPU 100% 行ってしまい、枚数が多いと CPU 熱のフェールセーフが働いて
スリープ状態になってしまう。もうこれ以上って Timer か何かから細かい間隔で suspend
resume してやるしかないかな。
0210デフォルトの名無しさん2010/05/08(土) 08:48:11
>>207
標準 API には無いから Runtime#exec() 使ってシェル経由でやるしかない。
ネットで探せばどこかにライブラリが落ちているかもしれないが。
0211デフォルトの名無しさん2010/05/08(土) 08:49:55
>>204
今時の Java VM 実装では OS は Java のスレッドまで見えているので
スレッドを適切に CPU に割り当てられる。
0212デフォルトの名無しさん2010/05/08(土) 09:21:50
>>209
100%になるのが悪いんじゃなくて冷却が足らないだけだ
ヒートシンク掃除して扇風機でも当てとけ
ハードウェア的な話だから続けるならよそでやってくれ
0213デフォルトの名無しさん2010/05/08(土) 09:40:28
ThinkPad だからどうしようもない。役に立たないしょうもない煽りだけならよそでやってくれ。

で、200ms ごとに suspend, resume 繰り返すようにしたらとりあえず 80% ほどに落ち着いた。
TimerTask × ImageIO の閉じた処理どうしなのでデッドロックもないだろう。
少し調整の余地はあるがこれでやるか。
0214デフォルトの名無しさん2010/05/08(土) 11:56:35
>>213
PC買い換えろ
0215デフォルトの名無しさん2010/05/08(土) 12:39:47
>>213
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/management/ThreadMXBean.html
ここら辺使ってスレッドのCPU時間の測定してsuspend~resumeの間隔を調整すれば、CPU使用率の調整とかも出来るかも?
02162072010/05/08(土) 13:10:46
>>210
標準にはないですか。ありがとうございます。
Windowsでも動かすかもしれないので、シェルはちょっと不味いです。
ライブラリ探すか、自作してみます。
0217デフォルトの名無しさん2010/05/08(土) 13:12:52
デュアルコアならCPU1つに制限するとかなしなの?
0218デフォルトの名無しさん2010/05/08(土) 13:59:26
>>211
>>208

ありがとうございます。よく分かりました。
0219デフォルトの名無しさん2010/05/08(土) 14:36:44
>>199
なんでEclipseで使えないんだ
と思ってやってみたら本当に例外を吐いて
DOSプロンプトではちゃんと動く。
さすがにEclipseのコミュニティにバグ報告されている内容だろうか。
0220デフォルトの名無しさん2010/05/08(土) 15:26:00
すんませんjavaの練習したいと思ってJDKインスコしたんですが。ユーザー変数にC:\Sun\SDK\bin入れてるけどコマンドプロントで認識しません。

いまいま始めたばっかでよく分からないんですが。
とにかくコマンドプロントで練習できるようにするにはどうすればいいんでしょうか?
0221デフォルトの名無しさん2010/05/08(土) 15:28:40
PATH %PATH%;C:\Sun\SDK\bin

0222デフォルトの名無しさん2010/05/08(土) 15:29:56
インストール先のフォルダそれで合ってるの?
ユーザー変数?環境変数のこと?
0223デフォルトの名無しさん2010/05/08(土) 15:31:00
C:\Program Files\Java\jdk1.*.*_**\bin
0224デフォルトの名無しさん2010/05/08(土) 15:33:11
SDKファイルの中の何を指定すればいいのかがよくわかりません・・・
0225デフォルトの名無しさん2010/05/08(土) 15:33:55
C:\Sun\SDK\bin

フォルダの場所自体はこれであってるんですが
0226デフォルトの名無しさん2010/05/08(土) 15:34:53
>ユーザー変数にC:\Sun\SDK\bin入れてるけど
これを具体的に説明
0227デフォルトの名無しさん2010/05/08(土) 15:36:27
環境変数のユーザー編集

変数名 PATH
変数値 C:\Sun\SDK\bin

にしてて、フォルダの位置も正しいはずなんですが
コマンドはC:\>setでやってます
0228デフォルトの名無しさん2010/05/08(土) 15:40:30
環境変数の設定変更したあとPC再起動した?
0229デフォルトの名無しさん2010/05/08(土) 15:44:07
先程しましたが結果は同じでした
0230デフォルトの名無しさん2010/05/08(土) 16:01:36
>>220
OSとJDKインストールした場所は?
0231デフォルトの名無しさん2010/05/08(土) 16:05:09
>>230
OSはCです
JDKはC:\Sun\SDKです
0232デフォルトの名無しさん2010/05/08(土) 16:08:07
環境変数の設定をsetコマンドでやってるならPC再起動したらダメじゃん
0233デフォルトの名無しさん2010/05/08(土) 16:08:58
設定はパフォーマンスとメンテナンスのシステムからやってます
0234デフォルトの名無しさん2010/05/08(土) 16:08:59
>>220は何をしたかったの?
javacが実行されないってこと?
0235デフォルトの名無しさん2010/05/08(土) 16:09:40
コマンドプロントでjavaが認識されないってことです

'java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

ってメッセージがでるんです

0236デフォルトの名無しさん2010/05/08(土) 16:12:51
>>227
環境変数の設定画面見て、一度、スペルミスが無いかチェック
コロンとセミコロンの打ち間違いや、ドットとカンマの打ち間違いとかの可能性はあるかも
問題なかったらコマンドプロンプトでpath[エンター]打つと
現在のPATHが表示されるからPATHにC:\Sun\SDK\binが含まれていることを確認

それと、C:\Sun\SDK\binのフォルダ内に、javac.exe等のファイルが存在してるかを確認
もしかするとインストール失敗してるのかも
0237デフォルトの名無しさん2010/05/08(土) 16:15:09
cmdでpathと打つとC:\Sun\SDK\binは含まれてます

binのフォルダの中にjavac.exeらしきファイルが見当たらないんですが
0238デフォルトの名無しさん2010/05/08(土) 16:18:14
うちはJDKインストールしたら>>223のように
Program Files\Jana\ のところにインストールされたけど
C:\Sun\SDK\bin って自分でフォルダ指定してインストールしたの?
0239デフォルトの名無しさん2010/05/08(土) 16:18:54
実はJDKをインスコしたつもりでJREをインスコしたとか…
んなわけないかw
0240デフォルトの名無しさん2010/05/08(土) 16:18:58
>>238
自分はそこにインストールされました
0241デフォルトの名無しさん2010/05/08(土) 16:22:03
もう一回違うJDKインスコします
0242デフォルトの名無しさん2010/05/08(土) 16:23:47
jreがインスコされちまった。これはJKDとは違うの?
0243デフォルトの名無しさん2010/05/08(土) 16:29:39
JKD?
Joshi Kousei Daisuki
女子 高生 大好き ?
0244デフォルトの名無しさん2010/05/08(土) 16:33:59
JDKもインスコされてました。
新しいファイルは
C:\Program Files\Java\jdk16.0_20\binに指定しましたが結果は同じです

他に設定するべき所があるんでしょうか・・・・?

0245デフォルトの名無しさん2010/05/08(土) 16:41:00
コマンドプロンプトでpathと入力
C:\Program Files\Java\jdk1.6.0_20\bin がちゃんと指定されているか確認
(>>244 C:\Program Files\Java\jdk16.0_20\bin ← 16.0は間違いじゃね?)

C:\Program Files\Java\jdk1.6.0_20\binフォルダに
java.exeやjavac.exeが存在していることを確認


もし、java.exeやjavac.exeが存在していなかったら
可能性としては、インストール時にセキュリティソフトがjava.exeやjavac.exeをウィルスと誤検知して、削除か移動された可能性もある

0246デフォルトの名無しさん2010/05/08(土) 16:56:47
>>231
>OSはCです
WindowsC ?
0247デフォルトの名無しさん2010/05/08(土) 17:00:38
>>1

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/
0248デフォルトの名無しさん2010/05/08(土) 17:02:05
>>246
Cドライブってことでしょ
0249デフォルトの名無しさん2010/05/08(土) 17:44:56
どうした
0250デフォルトの名無しさん2010/05/08(土) 18:38:07
他クラスのpublicな定数を利用するときって定数名だけじゃダメなんですか?
0251デフォルトの名無しさん2010/05/08(土) 18:44:44
public staticな定数ならstatic importという物があってだな。
0252デフォルトの名無しさん2010/05/08(土) 18:50:09
全部自前のクラスなら
定数だけのインターフェース作って全部のクラスにインプリメントしてる
02532502010/05/08(土) 18:55:46
即レスどうもです

>>251
無事出来ました、ありがとうございます

>>252
今度からはそういう風に設計してみます、ありがとうございます
0254デフォルトの名無しさん2010/05/08(土) 19:11:05
>>210
Apache Commons Compressにあるか?
と思って探してみたがそれっぽいのはなかった。
GZIPのメソッドでそのまま使えそうな気がするがそうでもないか。
0255デフォルトの名無しさん2010/05/08(土) 19:12:18
>>252
いまどきそんな設計するなよ…
0256デフォルトの名無しさん2010/05/08(土) 19:14:39
>>252
おい、定数はenum使えよ
っていうかinterfaceつかうと勝手に実装できるし
それがint型だと変な使い方できるし
Effective Java第2版読めよ
0257デフォルトの名無しさん2010/05/08(土) 20:04:29
>>253

>>255-256

0258デフォルトの名無しさん2010/05/08(土) 20:32:16
Effective Java第2版を読んだやつっているのかな
職場、関係会社、派遣、下請けを今まで見てきたけど、一人だけ読んでいそうな雰囲気だった。
(そもそもenumって何?って返ってくるぐらいだったからなぁ)
0259デフォルトの名無しさん2010/05/08(土) 20:35:50
実際その読んだ人の書いたコードって綺麗だった?
0260デフォルトの名無しさん2010/05/08(土) 20:37:07
えっ、そういう設計はダメなんですか?
初心者なのでよくわからないです…
0261デフォルトの名無しさん2010/05/08(土) 21:57:54
だからEffecitive Javaを読めと
Java5以降のバージョン(enum)が使えないなら第一版(と、結城浩の『Java言語で学ぶデザインパターン入門』)でもいいから

定数にinterfaceを使うなんぞ論外。
定数はコンストラクタの作成を禁止したfinalクラスかSingletonパターンを使うべき

Java5以前の環境では最低でもこの程度のことはすべき。
public final Constant {
 public static final int CONSTANT_A = 1;
 public static final int CONSTANT_A = 2;
 private Constant(){}
}
これでもまだ不十分だが。

Java5以降はこれで十分
public enum Constant {
 CONSTANT_A(1).
 CONSTANT_B(2);
}
0262デフォルトの名無しさん2010/05/09(日) 02:14:15
>137あたりのsuper,this関連(?)の質問なんだけど

内部クラスにもthisとかつけたほうがいいの?
ClassAという内部クラスがあったとき

this.ClassA a = new this.ClassA();

と記述したほうがいいのかな?


0263デフォルトの名無しさん2010/05/09(日) 02:59:58
>>261
定数クラスはclass装飾子が抜けてたりCONSTANT_Aが二つあったり、
enumの方は,が.になってたり、コンストラクタやメンバ変数が必要だったりしませんか?
0264デフォルトの名無しさん2010/05/09(日) 03:15:30
また Effective Java かぶれが暴れてんのか。
0265デフォルトの名無しさん2010/05/09(日) 03:32:53
カオティックな板だな
0266デフォルトの名無しさん2010/05/09(日) 03:50:49
初心者じゃなくなったって実感した時って
どんな事を理解・実装できたあたりからですか?

教えてる新人の場合なら〜ってケースでも
教えてもらえると有難いです
0267デフォルトの名無しさん2010/05/09(日) 04:22:36
30年もJavaばかりやってると新人って気持ちじゃなくなるな
0268デフォルトの名無しさん2010/05/09(日) 04:24:09
30年なんてまだまだ新人だろ
0269デフォルトの名無しさん2010/05/09(日) 04:27:58
15年前、これは世界を震撼させる!と思って始めて

まったくそんなことは無かった
0270デフォルトの名無しさん2010/05/09(日) 04:28:13
>>266
interface の使い方を理解したときも、その1つと言えるんじゃないかな。
interface には実装のないメソッド宣言だけがあって、
それを implements したクラスはメソッドの実装を書かなくてはならない、
ということ事態は初心者でも理解できるんだけど、
実際どういうふうに interface を使えばいいかが、初心者には難しい。
0271デフォルトの名無しさん2010/05/09(日) 04:30:28
厳密に定義するなら、始めてから一定の期間が経過していれば初心者ではなくなるな
Javaの場合どの程度の期間が妥当かは知らんが、自動車なら1年だな
0272デフォルトの名無しさん2010/05/09(日) 04:32:59
入門書に書いてあること
一通り、入門書見ずに出来るようになれば
初心者を脱したと。初級者だ
入門書レベルのことじゃ仕事にはならないし
趣味でやってる人間なら十分かもしれないがw

0273デフォルトの名無しさん2010/05/09(日) 04:34:47
まぁそんなところだな。
0274デフォルトの名無しさん2010/05/09(日) 04:43:35
未だに初心者のころと同じようにわからないことばかり。
0275デフォルトの名無しさん2010/05/09(日) 04:46:12
たいていの新人は、Java初心者ってだけじゃなくプログラミング初心者も兼ねてるから
>>261が紹介してるような本をそういう初心者が最初から読んだってあまり効果は無いと思う
入門書クリアレベルじゃたいしたソース書いたことないだろうし
せめて中級者くらいの人が参考に読めばいいと思うよ
0276デフォルトの名無しさん2010/05/09(日) 05:59:01
本は勉強開始してから、1、2年くらいの新人が読むものかと。
それを過ぎたら面白そうなOSSのソースでも読んで、知的欲求を満たすもんだと思う。
0277デフォルトの名無しさん2010/05/09(日) 12:57:27
すみません、実行時に unable to load native library:
can't find dependent libraries と
でてしまいます。どうすれば実行できるように
なるのでしょうか?
0278デフォルトの名無しさん2010/05/09(日) 13:00:02
>>258
読んだ
読書会みたいなのもあるみたいね
>>207
*.Z知らないから的外れかもしれないけど
ライブラリ
http://commons.apache.org/compress/
windows用exe
http://www.gzip.org/
0279デフォルトの名無しさん2010/05/09(日) 13:02:29
>>277
Classpathとjavaのバージョン
02802772010/05/09(日) 13:23:50
>>279
レスありがとうございます。
バージョンはjdk1.6.0_20で、
classpathはカレントを指定してます。
0281デフォルトの名無しさん2010/05/09(日) 13:33:25
>>280
カレントにjarファイルをコピー
02822772010/05/09(日) 13:56:06
>>281
カレントに置いても実行できませんでした。

0283デフォルトの名無しさん2010/05/09(日) 14:09:53
>>282
エラーメッセージは?
02842772010/05/09(日) 14:16:06
>>283
同じエラーです。
jdkインストールしてから一度も実行できてないです。
別のパソコンにインストールしたのは普通に使えているのに、
なぜかできないです。
0285デフォルトの名無しさん2010/05/09(日) 14:45:02
>>284
カレントにコピーしたファイル名は?
0286デフォルトの名無しさん2010/05/09(日) 15:53:03
例外処理で整数が入力されるまで、何度も再入力を求める場合はどういう風に書けばいいのでしょうか?
まず整数かどうかを判別する式が思い浮かびません。
0287デフォルトの名無しさん2010/05/09(日) 15:54:46
小数点以下は丸め込むと注意しておいてintにキャストすればいいじゃん
0288デフォルトの名無しさん2010/05/09(日) 16:07:16
>>287
おまい、Java 知ってるか?
0289デフォルトの名無しさん2010/05/09(日) 16:49:51
288はなんか脊椎反射で煽っている気がするなぁ。
普通に読んで Integer.decode(入力文字列) とかで変換しちまえという話じゃないのか。
0290デフォルトの名無しさん2010/05/09(日) 16:53:07
と、小数入っていると変換できなかったか。
0291デフォルトの名無しさん2010/05/09(日) 16:59:12
んーと、Double.valueOf(入力文字列).intValue() とやればいい。
0292デフォルトの名無しさん2010/05/09(日) 17:02:30
整数じゃなかったらという判定がいいなら Integer.decode(入力文字列) で例外catch。
0293デフォルトの名無しさん2010/05/09(日) 17:35:03
ようじょクラスを継承するようちえんじクラスがあって、
ようじょ ょぅι゛ょ = new ようちえんじ();
という感じにスーパークラスの型でサブクラスを
インスタンス化する場合がありますが、
何の為にわざわざそんな事をするのでしょうか。
ようちえんじ ょぅちぇんじ = new ようちえんじ();
と何が違うのでしょうか。
教えて下さい。
0294デフォルトの名無しさん2010/05/09(日) 17:41:38
ようじょクラスに対する操作を書いておけば
ようじょクラスだろうがようちえんじクラスだろうが適用できる

継承関係がなければ
ようじょクラス用とようちえんじクラス用に
それぞれ別々に同じような操作を書かないといけなくなる
0295デフォルトの名無しさん2010/05/09(日) 18:01:12
>>294
有難うございます。
その、継承関係でオーバーライドが機能するのは分かるのですが、
ようちえんじ ょぅちぇんじ = new ようちえんじ();  では
継承関係は反故になってしまうのでしょうか。
0296デフォルトの名無しさん2010/05/09(日) 18:15:11
別に継承関係があって、
共通処理をようじょクラスで記述できるのなら、
ようちえんじクラスで持っててもいいよ
0297デフォルトの名無しさん2010/05/09(日) 18:55:48
>>296
うーん難しいですね。
よく本とかにのっている
List list = new ArrayList();
は
ArrayList arraylist = new ArrayList();
とどうちがうのか分かりかねているのです。
0298デフォルトの名無しさん2010/05/09(日) 19:13:48
どっちでもいいけど、ある日ArrayListの代わりに
パフォーマンス上の理由でLinkedListを使わざるをえなくなった場合、
ArrayList arraylist のコードの方は直さなきゃならないね。

同様に、以下のようなメソッドを別に用意していたとしよう、
void method(ArrayList arraylist){
 arraylist.add("unko");
}
上記メソッドはaddメソッドにしか用事がないのに
ArrayListで型宣言してるばっかりにLinkedListが渡せない。
これは大いに問題。

上記のような問題が起こらないと言える範囲、
もしくはArrayList特有のメソッドが重要な場合とかは
ArrayListをそのまんま変数宣言で使っていいよ。
0299デフォルトの名無しさん2010/05/09(日) 19:14:47
>>263
素で間違い
片方はCONSTSANT_Bに
でもあれでもまだ問題あり
とにかくEffective Javaでも読む

.は,に戻す
0300デフォルトの名無しさん2010/05/09(日) 19:17:26
List list = new ArrayList();
やっぱり ArrayList じゃなくて LinkedList にしようとか思った時に
List list = new LinkedList();
にすれば動く。

ArrayList list = new ArrayList(); だと
LinkedList list = new LinkedList();
に修正したとしても、例えば
list.ensureCapacity(100);
とかいう文があったらエラーになる。

まあ普通はこういうことは起こらないけど、あくまで例として。
0301デフォルトの名無しさん2010/05/09(日) 19:34:36
>>298
>>300
分かりました!
有難うございます!!

余談ながら、実は『=』の左側で型を宣言するのはメモリに
領域を確保する為だという考え方がぬぐえず、だから大抵の
場合スーパークラスよりサブクラスの方がメソッドとかも
増えているので、スーパークラスで確保した領域にサブク
ラスを代入すると、オーバーライドや独自メソッドなど
確保領域からはみ出る部分が切り落とされると思えて仕方
なかったのです。
0302デフォルトの名無しさん2010/05/09(日) 19:39:19
>>262
thisつけるかどうかはどこのスコープかによる。
迷ってるならCheckStyleを使うべき。CheckStyleがthisの付け忘れを指導してくれる。
もしEclipseを使って開発してるならEclipseにもCheckStyleプラグインがあるからそれを使うといい。

> 内部クラスにもthisとかつけたほうがいいの?
> ClassAという内部クラスがあったとき
> this.ClassA a = new this.ClassA();

そもそもnewのあとにthis.は不要。
型の頭にthis.つけたらコンパイルエラー。

インスタンス生成のことをよくわかってないようなので
基礎から勉強し直した方がいいと思う。実際に自分でそのソースコードを書いて、
コンパイルして自分の目で確かめてみましょう。

内部クラス等の扱いについての詳しい解説は『Java言語仕様』を読むかそこいらのJava入門サイトでも読んだほうが早い。

>>263
CONSTANT_A(1)という書式は無理にする必要ない。
CONSTANT_Aでもいい。toString()が返す値が1になるかわりに"CONSTANT_A"にかわるだけ。
そこいらのサイトを検索して出るJavaのenumの仕様とサンプルを見るべし。
0303デフォルトの名無しさん2010/05/09(日) 19:40:58

>>267
Javaはそんな老けてない。それってC/C++の間違い。Javaは登場してからまだ15年しか経ってないから。

>>269
10年前にJava始めたときは興奮した。それまではC/C++大学で弄っててついでに大学の鯖でHTMLとかCGIとか弄ってたから。
あの頃の多くのJava本がまえがきでJavaの魅力を熱烈にアピールしてC++とここが違うということを強調しまくっていた。
あの頃にあんなまえがき読んだら興奮する。当時はC/C++が最強と言われていたんだから、身震いを覚えた。「C/C++に慣れきっていたら
なんだこの変な言語」と思っていたがまだC++もほとんど十分に把握していなかったこととC言語の煩雑さに不満を覚えていたから
あのときのインパクトは衝撃的だった。

>>276
しかし、Java以外の言語にある程度経験がある場合、とくにC/C++経験豊富でJava初心者の場合はEffective Javaはおすすめできる。
enumのところに書いてあるコードはそれほど難しくないから読む価値はある。というかenumだけなら買わなくてもここでほとんどそっくりな解説を読めたりする。
惑星から物体の重量を計算するenum型のサンプルとかもろにEffective Java第2版と同じことがかいてある。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/language/enums.html

あとインタフェースを定数にするのがなぜいけないかは、ここを読むのがおすすめ。
http://www.ibm.com/developerworks/jp/java/library/j-enums/
0304デフォルトの名無しさん2010/05/09(日) 19:52:54
>>286-292
文字列の中にドットが含まれていれば小数をみなす
というんなら、そんなめんどうくさいことやらずにこうすればいい
while(true){

 //コンソールから小数を入力するコード

 if(!input.contains("."))
  break;
 }
}

例外のことは考えてない
0305デフォルトの名無しさん2010/05/09(日) 20:55:12
"one"とかだったらどうするよ?
03062862010/05/09(日) 21:48:41
みなさん回答ありがとうございます。

>>305さんがおっしゃってる通りなのですが、文字が入力された場合などの判別も条件に入れての質問です。
条件があいまいな質問になってしまい申し訳ございません。
0307デフォルトの名無しさん2010/05/09(日) 22:04:39
>>303

>>267はジョーダンだろw ジョーダンにマジレスすんなよw
0308デフォルトの名無しさん2010/05/09(日) 22:42:27
まあ問題はlistでやると使えないメソッドがかなりあると
void addFirst(E e)
void addLast(E e)
void clear()
E getFirst()
E getLast()
boolean offer(E e)
boolean offerFirst(E e)
boolean offerLast(E e)
E peek()
E peekFirst()
E peekLast()
E poll()
E pollFirst()
E pollLast()
E pop()
void push(E e)
E removeFirst()
boolean removeFirstOccurrence(Object o)
E removeLast()
boolean removeLastOccurrence(Object o)
0309デフォルトの名無しさん2010/05/09(日) 22:54:09
>>308
それらはListではなくDequeだな
0310デフォルトの名無しさん2010/05/09(日) 23:14:49
>>305
java.util.regexか
Apache Jakarta ProjectのApache OROを使って正規表現で文字列を除外する。
0311デフォルトの名無しさん2010/05/09(日) 23:15:44
>>308
何の話題?
元の話の流れがわからないのでリンク元を
0312デフォルトの名無しさん2010/05/09(日) 23:53:18
>>311
linkedlistで使えてlistで使えないメソッド
0313デフォルトの名無しさん2010/05/10(月) 00:21:48
なるほど。
そやな。
あれはDequeのメソッドも混じってるからな。
03142622010/05/10(月) 00:51:56
>>302
ありがとうございました
0315デフォルトの名無しさん2010/05/10(月) 01:18:31
内部クラスの内部クラスの内部クラスの内部クラスをオーバーライド
0316デフォルトの名無しさん2010/05/10(月) 02:39:19
勢いで作った
http://www51.tok2.com/home/rg550/cgi-bin/hosoku/img0051.java
改良点があれば・・・・
0317デフォルトの名無しさん2010/05/10(月) 02:44:17
ご苦労さんとしか言いようがないが…
0318デフォルトの名無しさん2010/05/10(月) 03:38:57
>>316
('a')
('A')
('3')
('-')

顔文字に見えた
0319デフォルトの名無しさん2010/05/10(月) 12:44:29
>>318
static importして
sysout(MINIS10 +" massage "+ MINIS10)
って便利かなと思うけどどう考えてもGRAVE_ACCENT100とか使わないよね・・・
0320デフォルトの名無しさん2010/05/10(月) 18:00:50
どうでもいいことかもしれんけど
式書くとき
n=m+12; ←のように詰めて書く?
n = m + 12; ←のようにスペース空けて書く?

引数とかでも
hoge(n,1,true,a,"abc"); 詰めて書く?
hoge( n, 1, true, a, "abc");  空けて書く?
0321デフォルトの名無しさん2010/05/10(月) 18:10:28
>>320 Eclipse で Ctrl+Shift+F
0322デフォルトの名無しさん2010/05/10(月) 18:10:37
>>256
定数にenum使うってswitch文とかで分岐に使うような複数ある定数の場合でしょ?
他の定数と関連付ける必要ない定数はenum使っちゃだめじゃないの?
0323デフォルトの名無しさん2010/05/10(月) 18:23:14
エフェ厨に構うなよ。2ch 用語覚えた中学生みたいなもんだから。
0324デフォルトの名無しさん2010/05/10(月) 18:37:18
俺が昔読んだ入門書には定数だけのインターフェース作る様なこと書いてあった気がした
0325デフォルトの名無しさん2010/05/10(月) 18:48:10
昔の入門書といえば、そんなもんかも
0326デフォルトの名無しさん2010/05/10(月) 19:10:12
文字列を10文字幅にして、足りない部分は先頭に'0'を付けるにはどうすればいいですか?
例えば "deadbeef"を入力すると"00deadbeef"と返還する処理を書きたいです。
String.format("%010s", "deadbeef");
とやってもダメでした
0327デフォルトの名無しさん2010/05/10(月) 20:09:07
>>322
あとは多少気持ち悪いけど、
Java上でSingletonやりたい場合かな。
0328デフォルトの名無しさん2010/05/10(月) 20:18:59
>>322
駄目っていう理由はないと思ってるんだけど。
何でそう思ってるのか知りたい。
0329デフォルトの名無しさん2010/05/10(月) 20:24:25
public class Rect{
package a;
public class AA{
int ai;
protected int aj;
}

package b;
import a.AA;
class BB extends a.AA{
BB(){
AA aa = new AA();
aa.ai = 7;(1)
aa.aj = 9;(2)
ai = 7;(3)
aj = 9;(4)
}
}
(1)-(4)のなかで正しいのはどれですか?
0330デフォルトの名無しさん2010/05/10(月) 21:51:29
>>329
目の前のPCで動かせばいいだろうが。
何でも聞けると思ってんじゃねえぞ。
0331デフォルトの名無しさん2010/05/10(月) 22:51:30
>>326
System.out.println(org.apache.commons.lang.StringUtils.StringUtils.leftPad("123", 10, '0'));
0332デフォルトの名無しさん2010/05/10(月) 22:52:43
StringUtilsがカブったw
System.out.println(org.apache.commons.lang.StringUtils.leftPad("123", 10, '0'));
な
0333デフォルトの名無しさん2010/05/11(火) 01:55:42
>>316
Apache Commons LangのStringUtilsクラスかと思ったぜ。
あっちのクラスには不満かい?
0334デフォルトの名無しさん2010/05/11(火) 01:59:47
>>322
Singletonを作る場合にも使えますが。
他の定数と関係ない定数にenum使わない方がいいなんて話聞いたことが無い。
誰がそんなこといってた? どんな本に書いてた?
Singletonクラスで代用してもかまわないと思うけど。

>>323
なにいってんの?

>>324
それアンチパターン
以下>.303の引用
> あとインタフェースを定数にするのがなぜいけないかは、ここを読むのがおすすめ。
> http://www.ibm.com/developerworks/jp/java/library/j-enums/
0335デフォルトの名無しさん2010/05/11(火) 02:01:16
>>320
スペースあける。
>>321のようにEclipse使う。すると自分で設定したコードフォーマットに従って
コードが自動的にフォーマットされる。

詰めてかいたコードは読みにくい。というかそういうコード書くやつのソース読まされるとそいつを殴りたくなる。
0336デフォルトの名無しさん2010/05/11(火) 02:06:38
>>329
答えが複数でるんだけど

Sun認定Java資格試験を受けようとしているんだか
学校の宿題をここで聞こうとしているのかわからんけど
宿題専用スレがあるからそっち使うといいよ

★★ Java の宿題ここで答えます Part 69 ★★
http://pc12.2ch.net/test/read.cgi/tech/1267796762/

Java資格試験のスレはマ板のこっちにあるからここで聞くといいよ

Sun認定Java資格 実用情報 7 【SJC-P用】
http://pc11.2ch.net/test/read.cgi/prog/1264084378/
0337デフォルトの名無しさん2010/05/11(火) 02:15:03
アフォが出たぞー
0338デフォルトの名無しさん2010/05/11(火) 02:20:45
なんつーか、社会人プログラマ三年目くらいか?
まぁ教典にかぶれるのは若さの特権だけどさ。
0339デフォルトの名無しさん2010/05/11(火) 02:29:15
>>324
Constant interface - Wikipedia, the free encyclopedia

ttp://en.wikipedia.org/wiki/Constant_interface
0340デフォルトの名無しさん2010/05/11(火) 02:32:06
>>130

Call super - Wikipedia, the free encyclopedia
ttp://en.wikipedia.org/wiki/Call_super
0341デフォルトの名無しさん2010/05/11(火) 02:33:04
アンチパターン - Wikipedia

ttp://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%83%81%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
0342デフォルトの名無しさん2010/05/11(火) 02:34:40
何故アンチパターンがダメなのか
0343デフォルトの名無しさん2010/05/11(火) 02:38:12
テンプレートパターンなんか普通に Call Super するけどな。
何でもパターンを盲信すりゃ良いってもんでもない。
0344デフォルトの名無しさん2010/05/11(火) 02:45:27
>>337
在日は巣に帰れ
http://tsushima.2ch.net/korea/
0345デフォルトの名無しさん2010/05/11(火) 02:46:55
>>341
こんなの全部考慮してなんて作れないお
0346デフォルトの名無しさん2010/05/11(火) 02:46:57
>>339
思いっきりアンチパターンって書いてるぞ。
まさかアンチパターンとしら書いてなかったらどうしうようかと思ったぜ


Use of this anti-pattern has a few other downsides:
It pollutes the class namespace with read-only variables that may not be of use.
Contrary to the compile-time tactical utility of implementing a constants interface, the incidental run-time artifacts have little practical purpose (cf. marker interfaces which also have no methods but are useful at run-time).
If binary code compatibility is required in future releases, the constants interface must remain forever an interface (it cannot be converted into a class), even though it has not been used as an interface in the conventional sense.
Without an IDE that resolves where the constant are coming from, tracking it back to its containing class or interface can be time consuming.
A variable (representing an instance) of the interface is syntactically no more useful than the interface name itself (since it has no methods).
0347デフォルトの名無しさん2010/05/11(火) 02:47:38
>>342
COBOLerのようにスパゲティコード書く馬鹿のコードを読むのは苦労してウザイから
0348デフォルトの名無しさん2010/05/11(火) 02:48:19
>>338
アジャイル開発も無視ってやつか
せめてデザインパターンのひとつくらい覚えて使いこなせよ
そういうのすら無視して汚くて読みにくいコードばかりかいて
そんな上から目線で威張ってるのか?
0349デフォルトの名無しさん2010/05/11(火) 02:52:15
初学者 (初心者はとりあえず越えたあたり) 〜中級手前あたりはべからず集をありがたがる傾向があるな。
見てると、それを遵守して失敗しても自分のせいじゃないと心のどこかで言い訳できるからっぽい。
あと設計突っ込まれたときに他人の言葉を借りないと返せないから。ちゃんと経験を積めば
「何故このケースではアンチパターンを使った方が良いか」個別に判断出来るようになるが。

まぁその典型が >>348 みたいな。
0350デフォルトの名無しさん2010/05/11(火) 03:03:28
Wikipediaに書いてあることなんぞ信用ならん
0351デフォルトの名無しさん2010/05/11(火) 03:06:07
>>341
>車輪の再発明
俺よくやるわwwダメじゃんwww
0352デフォルトの名無しさん2010/05/11(火) 03:11:52
>>350
コアライブラリと同じ機能を再発明してたらアレだが、それだって外部 JAR の追加
(管理構成に関するアンチパターン) との兼ね合いだよ。
0353デフォルトの名無しさん2010/05/11(火) 03:12:47
デザインパターン (ソフトウェア) - Wikipedia
ttp://ja.wikipedia.org/wiki/デザインパターン (ソフトウェア)

0354デフォルトの名無しさん2010/05/11(火) 03:16:11
専門板で鼻の穴膨らませてパターン系の Wiki 貼ってるバカは何なの? 新卒?
0355デフォルトの名無しさん2010/05/11(火) 04:21:18
>>349
具体例を示さないで妄想を騙る言い訳COBOLer老害乙
アンチパターンを使った方がいい例を実例で示してごらん
0356デフォルトの名無しさん2010/05/11(火) 04:22:27
>>350
信頼できる情報源に恵まれた出典が載っていれば信用できる
0357デフォルトの名無しさん2010/05/11(火) 04:24:30
具体例を示さないでアンチパターンをマンセーしているようじゃ
ただのオッサンとしか思われないだろうな。

そんな環境が勧められる案件は組み込みくらいだしな。

>>350みたいなのがメモリがたっぷりあるのに無駄にメモリ節約に拘る傾向にあるんだよな。
0358デフォルトの名無しさん2010/05/11(火) 04:30:21
>>355
おまえさ、不適合ケースが思い付かないって事はどういう経緯や利点があってパターン化されたか
理解してずに (つまりパターンの欠点も理解せずに) 盲信していますと白状しているようなもんだぜ。
どこかで覚えたような単語ばかり並べつらうよりも、もう少し自分の言葉で話せるよう経験を積んだ
方が良いな。ここは技術板だぜ。
0359デフォルトの名無しさん2010/05/11(火) 04:33:25
そいつ Eclipse スレのアフォウヨだよ。
0360デフォルトの名無しさん2010/05/11(火) 04:36:00
>>356
出典元から正しく引用等されてるかの保障が無い
出典元がインターネットサイトなら確認は容易いが
書籍の場合はどうしようもない
0361デフォルトの名無しさん2010/05/11(火) 04:38:47
おまえら早起きだな
0362デフォルトの名無しさん2010/05/11(火) 04:45:24
経験浅い小心者は指摘恐怖症に陥って原理主義、教典主義に走りがち
0363デフォルトの名無しさん2010/05/11(火) 04:46:58
世間様から遅れてのGW
0364デフォルトの名無しさん2010/05/11(火) 04:48:37
パターンどうこうなんて深く論じても宗教論争にしかなんねーよ。
0365デフォルトの名無しさん2010/05/11(火) 04:49:45
TeraPad使ってJavaのソース書いてる俺は異端
0366デフォルトの名無しさん2010/05/11(火) 05:01:05
たまに深夜枠で宗教論争あるよなこのスレw
0367デフォルトの名無しさん2010/05/11(火) 05:03:00
連休が終わったというのに
0368デフォルトの名無しさん2010/05/11(火) 05:14:13
手打ちなのでタイプミスがあるかもしれませんが

class Parent{}
class Child extends Parent{}
public class Test
{
 public void check(Parent p)
 {
  //省略
 }

 public static void main(String[] arg)
 {
  Parent p = new Child();
  new Test().check(p);     // �@
 }
}

�@の記述は何?
checkを呼び出しているのはわかるのですが、このような記述は見たことがありません。
0369デフォルトの名無しさん2010/05/11(火) 05:15:21
この業界的な GW の過ごし方は新システム入れ替え作業だろう。
代休じゃねぇの。
0370デフォルトの名無しさん2010/05/11(火) 05:16:19
>>368
Test t = new Test();
t.check(p);

と同じ
0371デフォルトの名無しさん2010/05/11(火) 06:43:39
>>349
それもそうだが、そもそも、「初学者なんだけど、本人は中級者気取り」ってやつが多いw

というか本至上主義のヤツ多いの?
本の知識なんてそこそこの優等生なら勉強できる。そんなものには価値はない。(勉強しないやつよりはそりゃできるが。)
すげー技術者から教わる知識や考え方の方が価値が高い。
会社で一人くらいいるだろ?オプソのコミッタやってるやつとか、自社のフレームワークつくったやつとか。
そういうやつから教わる生きた知識の方が、役に立つぜ。
0372デフォルトの名無しさん2010/05/11(火) 07:41:07
>>371
知識の種類による。至上主義とかの問題じゃないだろう。
件のEffective Javaだってそこらの開発者が書いたなら
そこそこの信頼しかおけないが、書いた奴が言語の根幹に関わってる
とかなら信頼できる。それこそそこらにいるオープン開発者なんてのより。

でも定数に必ずenum使えなんて書いてあった覚えないんだけど。
件の彼は文字列定数にもenum使えって言っているのだろうか。

まあどちらにしろ>>252のようなインタフェースならざる
定数インタフェースは、俺が現場にいたら「やめて」と言う。
もっと別の方法でできるし、クラスに変な継承関係持って欲しくない。
見た時混乱するし、なにより嫌なニオイがする。
0373デフォルトの名無しさん2010/05/11(火) 08:06:19
static import があるから今時そんなんどうでも良いよ。
0374デフォルトの名無しさん2010/05/11(火) 14:04:40
>>359と>>358は同一人物か?
頭大丈夫か?

実例を示せていない時点でお前も経験不足だな
0375デフォルトの名無しさん2010/05/11(火) 14:07:23
>>360
おいおい、その書籍を読めばいいだろ
絶版で入手困難な書籍はつらいがさ
図書館やそこいらの書店で手に入る書籍ならまだいいほうだろ
中には国会図書館まで出かけて確認する必要があるものすらあるんだぜ
0376デフォルトの名無しさん2010/05/11(火) 14:12:12
>>358
そんなにいうなら
なんでお前はアンチパターンの定数インタフェースを肯定しているんだ?
明らかに悪用されるケースが多いんだが。
まさか、メモリ節約だとか組み込み系メインだから、
先人が書いたシガラミにとりつかれたコーディング規約を守らなければならないから
とかいうその程度の不適合ケースで偉そうに吹聴しているわけではないよな?

ところでお前はenumの仕様わかってるか?
0377デフォルトの名無しさん2010/05/11(火) 14:17:37
あふぉうよとかいってる朝鮮人はマジこのスレにこなくていいよ
0378デフォルトの名無しさん2010/05/11(火) 14:22:34
多分>>358は無意味な禅問答をしているかハッタリかましてるだけじゃないかな
JavaのenumをCのenumと勘違いしているレベル
定数インタフェースのかわりにenumを使っちゃいけない理由なんてJavaのバージョンが古いとき
以外思いつかないんだが。

「関係ない要素を1つのenumに混ぜるから使って欲しくない」というなら
enum型を2つに分割すればいいだけの話だしな
0379デフォルトの名無しさん2010/05/11(火) 14:30:21
>>372
文字列定数って"SUNDAY","MONDAY", ... みたいなやつ?Enum使うんじゃないかなあ。
0380デフォルトの名無しさん2010/05/11(火) 14:32:44
>>372は定数インタフェースもenumも使わないなら
かわりにどうやって定数を定義するつもりかね

まさか、ResourceBundleとか言わないよねw
あれ定数じゃないから
0381デフォルトの名無しさん2010/05/11(火) 14:33:38
なにこの連投厨
0382デフォルトの名無しさん2010/05/11(火) 14:35:54
人がいっぱい居るように見えるんだろう。
0383デフォルトの名無しさん2010/05/11(火) 14:38:58
分身の術www
0384デフォルトの名無しさん2010/05/11(火) 14:59:21
javaって響きが嫌だ
0385デフォルトの名無しさん2010/05/11(火) 15:28:10
>>349曰く「Properties使って定数を作りました。それがenumよりも優れたパターンです。」
0386デフォルトの名無しさん2010/05/11(火) 15:29:26
どうすんだよこの粘着…
0387デフォルトの名無しさん2010/05/11(火) 16:01:40
みんなJavaのenumとC/C#のenumは仕様が違うこと前提で話してるよね?
0388デフォルトの名無しさん2010/05/11(火) 16:02:34
Java スレでそんな疑問を持つ方がどうかしている。
03893722010/05/11(火) 16:03:17
>>379
列挙したくないものに対して無理やりenum使う必要はないよ。まったくの労力の無駄。
てか、文字列定数を列挙にするって、toStringでも実装させる気?

あと定数は文字列に限らないよ。
コレクションクラスによる定数とかあるでしょ。

>>380
定数インタフェースは使わないで、
適切な場面でのみenum使うって言ってるんだけど。
普通の定数はユーティリティクラス的なものに定義するか、
各クラスに定義するでしょ。

もうちょっと他人の言ってることを理解する努力をしようぜ。
脳内で>>XXX=>>YYYなんてやってるから
他人の言うことを曲解してしまうんだよ。
0390デフォルトの名無しさん2010/05/11(火) 16:14:30
>>389
> >>379
> 列挙したくないものに対して無理やりenum使う必要はないよ。まったくの労力の無駄。
> てか、文字列定数を列挙にするって、toStringでも実装させる気?

enumで定数名をそのまま文字列に置き換える場合はわざわざtoString()のオーバーライドは不要ですが


>
> >>380
> 定数インタフェースは使わないで、
> 適切な場面でのみenum使うって言ってるんだけど。
> 普通の定数はユーティリティクラス的なものに定義するか、
> 各クラスに定義するでしょ。

それてその定数はほとんどpublicでint型なんですね
はい問題がおきましたね
0391デフォルトの名無しさん2010/05/11(火) 16:15:10
>>388
C/C#慣れしたJava初心者はよく勘違いするんだこれが
Cのenumとまったく同じだと
0392デフォルトの名無しさん2010/05/11(火) 16:17:50
どう考えても勘違いするようなスキームじゃないが。
なんか話作ってないかおまえ。
0393デフォルトの名無しさん2010/05/11(火) 16:18:30
>>389
このスレ(この流れ)ではそれをもうちょっと具体的に示した方が良いんじゃないの?

>>379はenum使う例だよね、じゃあ使わない例は?
(あるいは>>379が使わない例だとすると、使う例は?)
0394デフォルトの名無しさん2010/05/11(火) 16:23:37
>>390
enumの列挙のシンボルと文字列表現が一致しているような
場合ってのはそんなに無い。むしろ特殊例。
まさかとは思うけど、同じ感覚でordinal()使ってないよね?
某有名FWが列挙にordinal()依存の設計してて殴りたくなった。

で、publicでint型だと何の問題があるの?

一体Effective Java第2版をどういう読み方をしたら
そういう意味不明な考え方に至るのか不思議だわ。
0395デフォルトの名無しさん2010/05/11(火) 16:28:18
>>393
SUNDAY, MONDAYを列挙する必要があるなら
enumでよい。EnumSet.of(SUNDAY, SATURDAY)やら好きにやってくれ。

使用する場面が限定されていて、単純に
"日曜日"、"月曜日"を出したいだけなら定数でよい。
そもそも、通常の業務系開発だとenumで文字列を切り出すにしても
enumの文字列表現自体は別の定数クラスに切り出すこと多いけどね。

で、enum使わない例。そんなのはいくらでもあるだろ:
/** デフォルトのXXXの長さ */
public static int DEFALUT_LENGTH = 50;

そもそもenum使う予定すらないのに、
enum使い始めたりするとYAGNIに反するわけだ。
だいたいenumが提供できるのはオブジェクトの値というよりは、
オブジェクトのシングルトンなアイデンティティなわけだろう。
値を返すために、どれぐらい実装工数割きたいのか理解不能。
0396デフォルトの名無しさん2010/05/11(火) 16:30:39
>>394
お前の考えてる例のほうがよっぽど特殊例
Effective Java読んでいればordinal()が以下にヤバいものかわかってるはずだが

int型定数の問題点もな
お前がint型定数どうしで加減乗除した判定メソッドを作る馬鹿の暴走を防ぐことを考えていないのがまるわかりだ
0397デフォルトの名無しさん2010/05/11(火) 16:33:16
そんな低レベルなコーダー抱えてる下請けは大変だな。
0398デフォルトの名無しさん2010/05/11(火) 16:36:16
俺は>>396君が一体何と戦っているのか
理解できないので、そろそろ退散します。
0399デフォルトの名無しさん2010/05/11(火) 16:37:59
>>395
> で、enum使わない例。そんなのはいくらでもあるだろ:
> /** デフォルトのXXXの長さ */
> public static int DEFALUT_LENGTH = 50;

ここがアウトだな
その定数をそのクラスか同じパッケージでしか使わないならわざわざpublicにする必要がない

> そもそもenum使う予定すらないのに、
> enum使い始めたりするとYAGNIに反するわけだ。
> だいたいenumが提供できるのはオブジェクトの値というよりは、
> オブジェクトのシングルトンなアイデンティティなわけだろう。
> 値を返すために、どれぐらい実装工数割きたいのか理解不能。

enum型書くのにそんなに工数かからないわけだが
曜日の例もenum { SUNDAY, MONDAY };程度で非enumや内部クラスよりも簡潔だ
0400デフォルトの名無しさん2010/05/11(火) 16:39:01
>>396
下 2 行って enum じゃ解決できない (関係ない) し、メソッドで隠蔽しても同じ事じゃね?
どういう魔法使ったら防げるの?
0401デフォルトの名無しさん2010/05/11(火) 16:40:57
あと何で後出し条件で勝ちほこってんの?
0402デフォルトの名無しさん2010/05/11(火) 16:44:23
>>400
そもそも防ぐ必要すらないと思うよ。
たぶん今暴れてる子は大きなプロジェクトに入って
開発したことないんじゃないかな。
0403デフォルトの名無しさん2010/05/11(火) 16:45:07
>>395
> 使用する場面が限定されていて、単純に
> "日曜日"、"月曜日"を出したいだけなら定数でよい。

>379がどういうケースかしらんが後から火曜日〜土曜日を追加すること考えると
enumのほうがましといえばましだな。

> そもそも、通常の業務系開発だとenumで文字列を切り出すにしても
> enumの文字列表現自体は別の定数クラスに切り出すこと多いけどね。

無駄に定数クラスを増やしてんな。そういうときこそenum内でtoString()オーバライドしたほうがまし。
どっちがどんだけ実装工数割いてるんだ。
0404デフォルトの名無しさん2010/05/11(火) 16:45:48
>>398
ただの逃げかよインタフーフェース定数パターンオヤヂw
0405デフォルトの名無しさん2010/05/11(火) 16:48:29
>>400
> >>396
> 下 2 行って enum じゃ解決できない (関係ない) し、メソッドで隠蔽しても同じ事じゃね?
> どういう魔法使ったら防げるの?

加減乗除したくない定数どうしをそれぞれ異なるenum型で宣言すれないい。
0406デフォルトの名無しさん2010/05/11(火) 16:49:09
>>402
定数インターフェースオヤジの最後の言い訳かよw
どっちが暴れてんの
0407デフォルトの名無しさん2010/05/11(火) 16:54:32
>>405
いやだからバッファサイズとかスレッドプール数とか具体値が必要な場合は
どうすんのって。コアライブラリ全部ラッパー化する気?
0408デフォルトの名無しさん2010/05/11(火) 16:55:37
>>400
>>402
自演くせぇ
0409デフォルトの名無しさん2010/05/11(火) 16:56:43
>>407
何のバッファサイズとスレッドプール数が欲しいのかいってごらん
具体的に
0410デフォルトの名無しさん2010/05/11(火) 16:56:55
>>407
enum BUFFER_SIZE{
BUFFER_SIZE{ @Override int getValue(){return 1024;} };
abstract int getValue();
}

こうしたいんじゃないんだろうかw
0411デフォルトの名無しさん2010/05/11(火) 17:02:19
>>409
じゃあ例としてファイル入出力のためのバッファサイズ (BufferedInputStreamを使用) を
Windows の標準スペックに合わせて 4*1024 バイト (8kだっけ?) で指定する場合は
どう 4kB を enum で定義すんの?
0412デフォルトの名無しさん2010/05/11(火) 17:11:09
>>411
enum { B4096 }
new BufferedInputStream(new FileInputStream(file, Integer.parseInt(B4096.name().substring(1))));

こうじゃね?w
0413デフォルトの名無しさん2010/05/11(火) 17:13:48
>>412
String B4096="B4096";
new BufferedInputStream(new FileInputStream(file, Integer.parseInt(B4096.substring(1))));

こうじゃね?
0414デフォルトの名無しさん2010/05/11(火) 17:20:38
いやいやどう考えてもこうだろ。

enum IS {
   IN1K(1024),
   IN2K(2048),
   IN4K(4096),
   IN8K(8192),
;
   private final int bufsize;
   private IS(int bufsize){ this.bufsize = bufsize; }
   public InputStream getInputStream(File file) throws IOException{
       return new BufferedInputStream(new FileInputStream(file), bufsize);
   }
}

InputStream in = IS.IN4K.getInputStream(file);
0415デフォルトの名無しさん2010/05/11(火) 17:34:32
ISの特定値を複数クラスで参照するような場合があったとして、
その定数を作りたいんだけど、その特定値含むenum定数作んなきゃダメ?
0416デフォルトの名無しさん2010/05/11(火) 18:42:48
>>411-415
そもそもそんなものをpublic static finalにする必要があんのかと
そんな定数作るなら使う場所が限られてるんだからpublicな定数インターフェースパターンなんかにする必要ないだろって
話だと思うんだが。

俺だったらそういうのはpublicにしないが。
だいたいそのクラスでしか使わないならパッケージプライベートかprivateな定数として宣言する。
0417デフォルトの名無しさん2010/05/11(火) 18:44:15
Eclipse のアフォ零細ウヨと同時に現れる enum 厨。
0418デフォルトの名無しさん2010/05/11(火) 18:47:30
>>416
えーと、勝手にケース想定作らずに答えて頂けませんか?
0419デフォルトの名無しさん2010/05/11(火) 18:50:04
Eclipse って Eclipse スレか。
偏見ウヨで教典主義ってエンジニアとして終わってんな。
0420デフォルトの名無しさん2010/05/11(火) 19:27:42
>>250-252
これがこの騒ぎのきっかけか?
0421デフォルトの名無しさん2010/05/11(火) 19:36:00
その話題はもういい
0422デフォルトの名無しさん2010/05/11(火) 19:59:03
>>417
平日の昼間からアフォウヨ連呼して暴れてるチョンニートか
0423デフォルトの名無しさん2010/05/11(火) 20:00:18
>>419
ウヨという言葉を不用意に使うと在日と間違えられるぞ
民団がサイトで「外国人参政権を取得するためにネット・右翼と戦う」とか
変なこと書いてるからな
リアルで在日だったらご愁傷さまだが
0424デフォルトの名無しさん2010/05/11(火) 20:17:40
Eclipse スレの アフォウヨ ってマジで enum 厨だったのかw
0425デフォルトの名無しさん2010/05/11(火) 20:27:04
>>423
実家は江戸初期に開拓された土地で周囲も同じ名字ばかりだし、直系で明和、
分家で戦国、史料で室町まで遡れるんでご心配なく。君はどこから日本人?
0426デフォルトの名無しさん2010/05/11(火) 20:34:21
ここは質問スレッドだ
スレッド荒らすな
0427デフォルトの名無しさん2010/05/11(火) 20:36:26
オマエガナー
0428デフォルトの名無しさん2010/05/11(火) 21:42:31
>>425
とりあえずソース出そうか
ネトウヨを連呼している奴はルーピーズって呼ばれるくらいろくなヤツがいないがな
0429デフォルトの名無しさん2010/05/11(火) 21:48:31
聞いてるのはこっちなんだが、どうも出生は言えないみたいだな。
半島起源の街宣ウヨだったか。
0430デフォルトの名無しさん2010/05/11(火) 21:49:21
ネトウヨを連呼している奴が実は在日朝鮮人で街宣右翼やってるヤクザって話は有名だな
0431デフォルトの名無しさん2010/05/11(火) 21:56:23
キムチ臭い奴がいるな
とりあえずお前の持ってるクレジットカード使って
本人認証でもしてみw
0432デフォルトの名無しさん2010/05/11(火) 21:56:42
こうやって保守の名を落とす活動って本国からの指令なんだろうな。
さっさと祖国へ帰れば良いのに。
0433デフォルトの名無しさん2010/05/11(火) 22:01:41
>>425
媚中のアホ犯罪者小沢一郎が信じてる騎馬民族征服王朝説をお前も信じてるのか
0434デフォルトの名無しさん2010/05/11(火) 22:04:24
こんやは酷い電波ですね
0435デフォルトの名無しさん2010/05/11(火) 22:06:20
ガイキチはせめて Eclipse スレから出てくるな
0436デフォルトの名無しさん2010/05/11(火) 22:25:06
そんな例は他の板で見かけるがな
だがお前は何か勘違いしているようだ
0437デフォルトの名無しさん2010/05/11(火) 22:26:24
いや「ウヨ」を連呼しているクズはEclipseスレからもJavaスレからも出て行って欲しい
いやこのプログラム技術板から出て行って欲しい
0438デフォルトの名無しさん2010/05/11(火) 23:42:03
そうやって相手にするから居座られて、
さらなる糞スレ化が進むわけだが
0439デフォルトの名無しさん2010/05/12(水) 02:05:49
ネットルピどもが暴れようが、お前らが黙々とJavaの話題を続けていれば糞スレ化は免れるんだよ
0440デフォルトの名無しさん2010/05/12(水) 03:46:13
新しいJDK使ってコンパイルしたものは古いJavaVM上では動作しない?
0441デフォルトの名無しさん2010/05/12(水) 04:19:33
ProGuard?
0442デフォルトの名無しさん2010/05/12(水) 04:20:49
>>440
デフォルトではそう。以下の点に注意すれば可能。

・対象とするJavaのバージョンでサポートされていない機能を使わない。
1.4なら、5.0で追加されたアノテーションとかenumとかを使わない。
1.3なら、加えてassertも使わない。
もちろん、新しいJavaで追加されたAPIは、すべて使用を控える。

・javac のオプション-target に、対象とするVMのバージョンを指定する。
ttp://java.sun.com/javase/ja/6/docs/ja/technotes/tools/windows/javac.html#crosscomp-options
0443デフォルトの名無しさん2010/05/12(水) 04:23:25
なるほど。ありがとう
0444デフォルトの名無しさん2010/05/12(水) 04:27:29
ジャヴァアプレットってやっぱ需要無いんかな
0445デフォルトの名無しさん2010/05/12(水) 05:13:54
物理・数学系の学生が勉強のためにアプレット作ったりするが
ゲームとかではFLASHのほうが一般的なのかな
0446デフォルトの名無しさん2010/05/12(水) 08:57:59
>>432
> こうやって保守の名を落とす活動って本国からの指令なんだろうな。
> さっさと祖国へ帰れば良いのに。

こういうことを言う奴が実は保守ではない例ってよくあるんだよな
「同じ日本人として恥ずかしい」とかいう発言も、実は日本人でなかったり
特亜人かぶれだったり反日左翼だったりな
0447デフォルトの名無しさん2010/05/12(水) 08:59:34
>>430
街宣右翼=実は左翼団体だからな
褒め殺し活動をして保守層を貶めるために右翼団体を名乗っていた左翼の朝鮮系ヤクザがわざとやっていたことが
最近になってわかってきたという
0448デフォルトの名無しさん2010/05/12(水) 09:00:24
>>429
まず自分から出生をあかしてごらん
在日君
0449デフォルトの名無しさん2010/05/12(水) 09:29:48
>>447
自演くせぇw
0450デフォルトの名無しさん2010/05/12(水) 09:31:05
極東板行け
0451デフォルトの名無しさん2010/05/12(水) 09:42:25
バイブル振りかざして反論できなくなったらファビョって在日認定 & ネット亡国論とか、
どこの恥ずかしいバカだよこいつ。
0452デフォルトの名無しさん2010/05/12(水) 09:46:41
ああ、バカだからバイブルやコピペ振りかざすしかないのか。
0453デフォルトの名無しさん2010/05/12(水) 10:05:50
斜陽 Java 産業にふさわしい展開
0454デフォルトの名無しさん2010/05/12(水) 10:28:48
public class Test
{
 private String msg;
 public Test(){ this("Good");}
 public Test(String msg){msg=msg;}
 public String toString(){return("msg:"+msg);}   //�@

 public static void main(String[] arg)
 {
  System.out.println(new Test());
 }
}


実行結果は、msg:nullになります。
質問は、�@の行のtoStringがどこから呼ばれているのか?です。
よろしくお願いします。
0455デフォルトの名無しさん2010/05/12(水) 10:33:07
>>454
>  public Test(String msg){msg=msg;}
 public Test(String msg){this.msg=msg;}
0456デフォルトの名無しさん2010/05/12(水) 10:34:12
>>454
msg=msg; はパラメータ変数 msg 自身に自分の値を設定しているので、
インスタンス変数の方の msg は null (初期値) のまま。つまり結果的に
何の状況も変わっていない。

正しくは this.msg = msg;
0457デフォルトの名無しさん2010/05/12(水) 11:20:41
>>454
"msg." + msg は以下に翻訳される
new StringBuilder("msg.").append(msg);

StringBuilderのappendメソッドの中で
String.valueOf(msg)が呼ばれる。
このときmsgがnullであれば"null"という文字列に変換される。
null以外であれば、msg.toString()の結果の文字列に変換される。
0458デフォルトの名無しさん2010/05/12(水) 12:56:35
コンストラクタのthisって初めて知った
0459デフォルトの名無しさん2010/05/12(水) 15:49:10
>>451
ネット亡国論とかどこで覚えたんだよ
お前のほうがよっぽど恥ずかしいよ
そんなこと言う奴はネットで左翼的な発言や小泉改革に対する陰謀論を繰り返し唱えている
ミラーマンやリチャード・コシミズのようなアホどもだけだよ
0460デフォルトの名無しさん2010/05/12(水) 15:49:51
>>451 >>452
自演くせぇw
0461デフォルトの名無しさん2010/05/12(水) 15:50:32
そもそも定数インタフェース信者からの反論がない時点で(ry
0462デフォルトの名無しさん2010/05/12(水) 15:51:22
どっちが反論できない馬鹿なのかわかりきったことだけどねぇ
定数インタフェース信者は具体的になにが悪いのか説明できない時点でファビョって
左翼発言連呼してっからな
0463デフォルトの名無しさん2010/05/12(水) 15:54:07
どうしてこうなった・・・
0464デフォルトの名無しさん2010/05/12(水) 15:55:19
性格が自分の間違いを認めない中国人や朝鮮人そっくりだな

なんか中国を崇拝しているようだが、とんだ馬鹿だな
この馬鹿は社会主義思想に陥ったか?
0465デフォルトの名無しさん2010/05/12(水) 15:56:11
>>458
それは良かったですね
0466デフォルトの名無しさん2010/05/12(水) 16:21:42
>>451-452が定数インタフェース信者ってとこか?
0467デフォルトの名無しさん2010/05/12(水) 16:29:48
他人の意見にはただ否定ばかりして文句をつけておいて自分の考えを表明しない奴は
たいがいはハッタリでしょ
0468デフォルトの名無しさん2010/05/12(水) 16:47:06
何このものすごい連投。
0469デフォルトの名無しさん2010/05/12(水) 17:07:39
完全に居座ったみたいだな。どうすんだよこの厨二病。
0470デフォルトの名無しさん2010/05/12(水) 17:12:16
変なのはスルーして
他の質問等にたんたんと答えていけばいいんじゃね
0471デフォルトの名無しさん2010/05/12(水) 17:16:50
香ばしいスレは即 NG。
2ch で時間を無駄にしないための鉄則。これ。
0472デフォルトの名無しさん2010/05/12(水) 17:18:45
しゃあねえな
ほとぼりが冷めるまで
このスレ放置。bye
0473デフォルトの名無しさん2010/05/12(水) 18:33:10
>>469
悪名高い中国人と朝鮮人を追い出せば解決するんでね?
0474デフォルトの名無しさん2010/05/12(水) 19:28:35
notepad.exeでjavaやってる俺って
もしかして最強じゃね?
0475デフォルトの名無しさん2010/05/12(水) 19:45:52
古いバージョンってどうやったらダウンロードできます?どうもアップロードしたら機能してなくてシステム一覧からも消え去って
0476デフォルトの名無しさん2010/05/12(水) 19:55:10
>>442のこれとは別件?
0477デフォルトの名無しさん2010/05/12(水) 19:55:58
OSが古くてJDKが動かないとかじゃないの
0478デフォルトの名無しさん2010/05/12(水) 19:57:01
>>475
ブックオフ等の古書店池
CD付きの古いJava雑誌とか入門書ゲとしてこい
0479デフォルトの名無しさん2010/05/12(水) 20:08:55
相変わらず役に立たない奴だな
http://java.sun.com/javase/downloads/previous.jsp
0480デフォルトの名無しさん2010/05/12(水) 21:04:40
toString ってどこから来るの、という問に誰も答えようとしない点についてw

>>454
調べ方(基本編)
APIヘルプで System.out を調べると PrintStream なわけだ。
そしてオブジェクトを受ける println(Object x) を辿ると、
「このメソッドは、最初に String.valueOf(x) を呼び出して、出力されたオブジェクトの文字列値を取得します。」
とある。
String.valueOf(x) それもやはりオブジェクトを受ける valueOf(Object obj) を見てみる。すると戻り値の項に
「引数が null の場合は、"null" に等しい文字列。そうでない場合は、obj.toString() の値」
とあって、toString() が呼ばれていることが分かる。

調べ方(応用編)
ヘルプが正しいとか完璧とは限らない。しかし JDK のフォルダを見ると src.jar というファイルがある。
これはソースをzip圧縮したものなので、src.zip と名前を変えて解凍するとソース見える。
ここで PrintStream で println(Object x) を探すと
String s = String.valueOf(x);
そこで今度は、String の valueOf(Object obj) を探すと
return (obj == null) ? "null" : obj.toString();
と書かれているので、toString が呼ばれていることが実際に確かめられる。
0481デフォルトの名無しさん2010/05/12(水) 21:11:20
調べ方(邪道編)
ソースがあるなら良いのだが、無かったらどうするか?
Eclipse はバイトコードをソースに逆コンパイルするjadというツールが組み込まれている。
デバッガで、関数の中にステップインするとバイトコードが逆コンパイルされる。
これを追えば、ソースが無くとも確認できる。
0482デフォルトの名無しさん2010/05/12(水) 21:51:37
調べ方(金持ち編)
ゴスリンに聞きに行く。
0483デフォルトの名無しさん2010/05/12(水) 23:20:22
>>442
GenericsはOKなんだ
0484デフォルトの名無しさん2010/05/12(水) 23:23:42
>>478
そんなありえない話あるかw
Sunがいままでそこまでひどいことをしたことがあるかw

>>481
組み込まれてないから。
自分でインストールしないと使えないから。
0485デフォルトの名無しさん2010/05/12(水) 23:31:04
EclipseはJadclipseとJadを自前でインストールしないと逆コンパイラ使えないぞ在日チョン
0486デフォルトの名無しさん2010/05/12(水) 23:31:25
7年くらい前にjavaをちょっとかじって、その後ずっとC#ばっかりやっていたのですが
最近javaをやることになりました。
無名クラスというC#の匿名メソッドみたいなのがありますが
あれって最近javaに対応されたのですか?
7年くらい前にはなかった気がするのですが。
C#もjavaも本当に似ていますね。
0487デフォルトの名無しさん2010/05/12(水) 23:33:58
C#は初期の頃javaの模倣品なんて言われてたが、その後独自の進化を遂げた
その結果C#からjavaに輸入された機能も数多くある
0488デフォルトの名無しさん2010/05/12(水) 23:41:34
普通の内部クラスも anonymous な内部クラスも JDK 1.1 時代
(1997年頃) から使えます。0.9 や 1.0 の頃は多分使えなかった
(そんな書き方聞いたことが無かった)。
0489デフォルトの名無しさん2010/05/12(水) 23:45:00
>>488
匿名メソッドとかあったんすね。
C#がどんどんjavaの良いところを取り入れたって感じですね。
C#は2.0から匿名メソッドが対応されたからなあ。
0490デフォルトの名無しさん2010/05/13(木) 00:16:53
blank finalのこともたまにでいいのでry
0491デフォルトの名無しさん2010/05/13(木) 00:33:29
1.
 Object obj1 = new Object();
 Object obj2 = new Object();
 Class<?> clazz1 = obj1.getClass();
 Class<?> clazz2 = obj1.getClass();
 boolean b = (clazz1 == clazz2);

2.
 boolean b = (Void.TYPE == void.class);

このような場合、両方ともbooleanはtrueになると思うのですが、
Class<T>クラスというのは1つの種類のクラスにつき常にVM上には1つしか存在しないのでしょうか?
0492デフォルトの名無しさん2010/05/13(木) 00:34:25
typoです、すみません。

誤 : Class<?> clazz2 = obj1.getClass();
正 : Class<?> clazz2 = obj2.getClass();
0493デフォルトの名無しさん2010/05/13(木) 00:37:01
違うクラスローダでクラスをロードした場合とか。
0494デフォルトの名無しさん2010/05/13(木) 00:38:43
staticじゃない変数にfinalを付ける事ってある?
0495デフォルトの名無しさん2010/05/13(木) 00:44:13
Button button = new Button("How are you?");
final TextField textfield = new TextField();
button.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent event) {
    textfield.setText("I'm fine!");
}
});

こんなんとか
0496デフォルトの名無しさん2010/05/13(木) 00:47:03
スーパークラスAのサブクラスBのサブクラスCからAのメソッドとか参照できるとか知らなかった。勉強になります
0497デフォルトの名無しさん2010/05/13(木) 00:48:45
>>495
これってfinal付ける場合と付けない場合でどういう違いがあるの?
0498デフォルトの名無しさん2010/05/13(木) 00:49:36
継承とな何ぞや、から再整理した方がいいんじゃないか
0499デフォルトの名無しさん2010/05/13(木) 00:49:40
finalがないとコンパイルできない。
0500デフォルトの名無しさん2010/05/13(木) 00:53:25
>>499
それじゃ不親切すぎるだろwwww

>>497
JDK1.1に変更入った部分だから相当前のことだけど、
メソッドのパラメータやローカル変数でfinalをつけると、
inner classつーか匿名クラスでもその変数を参照できるようになる。

まあfinalを外して動いちゃったとしても、参照先がズレそうだしな
0501デフォルトの名無しさん2010/05/13(木) 00:55:21
わかりました。ありがとうございます。勉強しなおしますです・・・
0502デフォルトの名無しさん2010/05/13(木) 00:58:55
可変長引数って使うことある?
0503デフォルトの名無しさん2010/05/13(木) 01:00:39
Arrays.asList('foo', 'bar', 'baz') とか便利でしょ?
0504デフォルトの名無しさん2010/05/13(木) 01:08:52
>>502
System.out.printfとか使わない?
0505デフォルトの名無しさん2010/05/13(木) 01:11:21
>>504
それが可変長引数だって知りませんですた。勉強になります。ありがとございやす
0506デフォルトの名無しさん2010/05/13(木) 01:36:48
>>505
おまえはなにを可変長引数だと思ったんだ?w
0507デフォルトの名無しさん2010/05/13(木) 01:51:38
>>494

>>495
JavaFAQ: 変数/引数
ttp://javafaq.jp/S012.html#S012-16
0508デフォルトの名無しさん2010/05/13(木) 02:44:55
これからアプレット始めるなら、AppletとJAppletとどっち使ったほうがいい?
0509デフォルトの名無しさん2010/05/13(木) 03:36:39
>>508
どっちでもいいんじゃね?
両方対応させるのも難しくはなさそうだし
0510デフォルトの名無しさん2010/05/13(木) 03:37:13
>>489
C#はC++の悪いところも取り入れているのが難だな
0511デフォルトの名無しさん2010/05/13(木) 03:38:44
>>494
ばりばりあるぞ。
純粋主義者はよく使う。
不変性でググれ。
0512デフォルトの名無しさん2010/05/13(木) 03:43:20
>>508
機能性を考慮すると後者。
複雑なことやりたいなら断然Java SwingAPI(JAppletがあるほう)を使うのが望ましい。
0513デフォルトの名無しさん2010/05/13(木) 04:06:12
>>509,512
ありがとう
0514デフォルトの名無しさん2010/05/13(木) 04:23:41
この2行目のprivate String holidayをSundayの位置にもってくるにはどう書けばいいの?

enum Day{Sunday,Monday,Tsusday;
       private String holiday;}


こうかと思ったんだけどコンパイル通らない
enum Day{private String holiday;
       Sunday,Monday,Tsusday;}
0515デフォルトの名無しさん2010/05/13(木) 07:08:35
>>514
enum 定数の修飾子は許可されていません
というかpublic static finalです
0516デフォルトの名無しさん2010/05/13(木) 08:38:27
>>514
列挙は先、クラス定義は後にしか書けません。
0517デフォルトの名無しさん2010/05/13(木) 08:57:08
JITとJNIって共存できるんでしょうか。
過去に作ったJNI経由で作ったコードがそのまま動くか不安で。。。
0518デフォルトの名無しさん2010/05/13(木) 09:02:04
全然別物だから共存は可能。
0519デフォルトの名無しさん2010/05/13(木) 10:03:54
共存は可能だが、JNI部分はJITの最適化対象にできないから相性はあまりよくないと言われてる。
0520デフォルトの名無しさん2010/05/13(木) 12:24:52
一つ前のバージョンはどこでダウンロードできる?
0521デフォルトの名無しさん2010/05/13(木) 14:24:56
>>514
どうしてもそれをprivateにしたかったら
enum型自身をprivateにして他のクラスのフィールドにツッコむ。

public class Test {
 private enum Day { Sunday,Monday,Tsusday};
 private enum Holiday {};
}
0522デフォルトの名無しさん2010/05/13(木) 15:56:56
Java FAQ: よくある質問とその回答集
ttp://javafaq.jp/

↑このサイトに書いてあることどの程度信頼できる?
初心者向きなサイトとかあったら教えてほしいです
0523デフォルトの名無しさん2010/05/13(木) 16:00:50
>>521
おまえ >>514 の前提コードの意味分かってないだろ。
enum 云々言ってたわりにその程度も理解してなかったのか。
0524デフォルトの名無しさん2010/05/13(木) 16:13:13
>>522
だいたい信頼できるが更新とまってるんじゃなかったっけ?
元は日本のメーリングリストっぽいので不安だけど、そのメーリングリストって研究者・開発者相当いそうだし・・・

java source>api doc>オラクル本>改訂を行ったことがある本=javafaq ぐらいじゃね?
0525デフォルトの名無しさん2010/05/13(木) 16:27:31
どーもです
0526デフォルトの名無しさん2010/05/13(木) 16:59:49
>>522
5年前の情報なので古すぎる
0527デフォルトの名無しさん2010/05/13(木) 17:25:53
こういうスレ見てるとコーディング手法に対する意識が高そうに見えるけど
出向でいくつも渡り歩いた大小企業ではトンデモコーディングばかりお目にかかった
このネットと現実のギャップの大きさがいつも不思議でたまらんよ
0528デフォルトの名無しさん2010/05/13(木) 17:27:11
ヒント:ガイキチは声がでかい
0529デフォルトの名無しさん2010/05/13(木) 17:36:20
万年実装要員に甘んじてたらそりゃ職人的こだわりだって出て来るさ。
多少狂ってて無駄に声がでかいぐらいの方が成功する業界なんだよw
0530デフォルトの名無しさん2010/05/13(木) 17:48:30
>>523
おれも>>514の意図がさっぱり分からん。
0531デフォルトの名無しさん2010/05/13(木) 17:57:51
クラス定義部分を列挙シンボルより先に書きたいという話。
0532デフォルトの名無しさん2010/05/13(木) 18:32:39
>>522
最終更新日が2005年じゃあな。
ちょうどJava 5が出た年でしかもそのJava5以降ならではのFAQが全然載ってない。
0533デフォルトの名無しさん2010/05/13(木) 18:33:20
>>527
お前の企業がITドカタなんだろ
0534デフォルトの名無しさん2010/05/13(木) 18:36:22
>>523
そもそも>>514が自分の書いたコードでコンパイルエラーが出ることを知らないのが問題。
彼が何をしたいのかはっきり言えば彼に望みどおりの答えがでやすくなると。
0535デフォルトの名無しさん2010/05/13(木) 18:37:08
>>527
一歩外に出ればそんなもんだよ。

>>533
現実知らず。
0536デフォルトの名無しさん2010/05/13(木) 19:21:14
世の大半は中小零細というからな
0537デフォルトの名無しさん2010/05/13(木) 20:45:43
>>514がしたいことを想像してみる
曜日と休日の型が欲しい そもそも休日が日曜日だけなら余計なこと考える必要ねえ

休日だけ特別扱いしたいならこんなコードでも書けばいい
enum Day {
 Sunday(Holiday.Holiday), Monday(Holiday.Weekday), Tuesday(Holiday.Weekday),
  Wednesday(Holiday.Weekday), Thursday(Holiday.Weekday), Fryday(Holiday.Weekday), Saturday(Holiday.Weekday);

 private final Holiday holiday;
 Day(Holiday holiday){ this.holiday = holiday; }
 double method(){ return this.holiday.anyMethod(); }

 private enum Holiday {
  Weekday {
   double someMethod(){ //平日の処理
    return 何か;
   }
  },
  Holiday {
   double someMethod(){ //休日の処理
    return 何か;
   }
  };
  abstract double method();
  double anyMethod(){ //someMethod()を使った何かの処理
   何かの値 = someMethod();
   return 何かの値;
  }
 }
}
0538デフォルトの名無しさん2010/05/13(木) 21:01:38
どこで聞けばいいのか判らなかったので、ここで聞かせてください。

Javaでプログラム作成して、そのプログラム向けのインストーラーを
作りたいんですけど、Win,Mac両方のインストーラーを作れる
ツールってありますでしょうか?
0539ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG. 2010/05/13(木) 21:22:22
>>538
例えばScalaのインストーラ版はIzpackというプロダクトを利用しているみたいですね。
http://izpack.org/
It is fully cross-platform and generates a single installer.
As such, it is an alternative to native solutions
such as platform-specific installers and package managers.
0540デフォルトの名無しさん2010/05/13(木) 21:23:59
何だこの糞みてぇなコテは
0541デフォルトの名無しさん2010/05/13(木) 21:27:28
>>538
そんなもんある・・・な、考えてみたら。
http://ja.wikipedia.org/wiki/Java_Web_Start
05425382010/05/13(木) 22:00:18
>>539,541
izpackって凄そうですね。何でもできそうな雰囲気ですね。
試してみます。
ありがとうございました。
0543デフォルトの名無しさん2010/05/13(木) 22:40:52
.NET Frameworkのクラスを使って作成したDLLはJNIやJNAで呼び出せますか?
0544デフォルトの名無しさん2010/05/13(木) 22:42:30
>>539
Java Web Startがあればいらない気がする
0545デフォルトの名無しさん2010/05/13(木) 22:47:50
>>539
そのトリップすでに割れたトリップだよな
ググると9年ほど前から使ってるそうじゃないか
0546デフォルトの名無しさん2010/05/14(金) 00:55:24
-Xmx256m というオプションをつけなくても
最大ヒープサイズが256MBになってるんだけど、前からそうだっけ?
以前は64MBだった記憶があるんだけど。
それともうちの環境だけ?
0547デフォルトの名無しさん2010/05/14(金) 01:04:06
>>546

Java6ではまた変わってるのかもしれませんが。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/vm/gc-ergonomics.html
マシンの物理メモリの 1/64 か、妥当な最小サイズかの大きい方。
J2SE 5.0 より前は、デフォルトの初期ヒープサイズは妥当な最小サイズで、
プラットフォームごとに異なっていた。
05485472010/05/14(金) 01:05:23
あ、コピペする行間違ってた。

物理メモリの 1/4 か、1GB かの小さい方。J2SE 5.0 より前のデフォルトの
最大ヒープサイズは 64MB。
0549デフォルトの名無しさん2010/05/14(金) 01:07:00
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/gc-ergonomics.html
05505462010/05/14(金) 01:20:41
情報ありがとう。
うちのマシンはメモリ1.5GBなので、
最新のJREでは1/6に変更されたとか?
JDK1.6のjava.exeでは64MBのままなのも気になる。
覚えていないだけで、自分で設定をいじってしまった可能性も否めない。
0551デフォルトの名無しさん2010/05/14(金) 01:31:21
上級者気取りで定数インターフェイスを愛用している?>>349は
これについてどう思っているんだい?

http://java-house.jp/ml/archive/j-h-b/038501.html

>>349が見てきた失敗例とやらがどういうものか見てみたいんだけど。
アンチパターンを避けてEffective Javaなどに載っているテクニックやべからず集を遵守したから
失敗したわけではないよね?
遵守したからではなくどこか設計が間違っていたから失敗したんだと思うけどね。

アンチパターンを使った方がよいケースはメモリが限られているときや
今後拡張する予定がないと確実にわかった時や納期が遅れているとき
くらいではないのかい?


べからず集を否定するっていう行為が危険な思想だと思うけどね。
>>349が新たに部下をかかえたときに、べからず集を否定して、その思想を引き継いて
新人が勘違いしてとんでもないことをしでかすんじゃないかとね。
ようするに歴史を繰り返すということ。
0552デフォルトの名無しさん2010/05/14(金) 01:47:02
日に一度レスしないと済まないほどこたえたのか
0553デフォルトの名無しさん2010/05/14(金) 01:50:24
連投始まるから相手すんなよ。
0554デフォルトの名無しさん2010/05/14(金) 02:29:14
>>552-553
>>349本人か? みっともないぞ
0555デフォルトの名無しさん2010/05/14(金) 02:31:06
しょーじきどっちが連投してんだか
0556デフォルトの名無しさん2010/05/14(金) 02:37:31
>>551
だからYAGNI原則に反するといってるだろ

>>349がenumを否定してかわりに使用している定数インタフェイスの問題点
interface A {
 public static final int CONST = 1;
}

public class B implements A {
 public static void main(String[] args){
  System.out.println(A.CONST);

 }
}


>>551
349はC言語時代の人かと思われ
0557デフォルトの名無しさん2010/05/14(金) 02:40:38
途中で送信してしまった。レス番がなんかぐちゃぐちゃになってるけど気にしないで

定数インタフェイスの問題点はこれ

interface A {
 public static final int CONST = 1;
}

public class B implements A {
 public static void main(String[] args){
  System.out.println(A.CONST); 正しい使い方
  System.out.println(B.CONST); //こんな使い方ができてしまう
 }
}

Effective Javaに載ってる問題点は載せなくてもいいよね
みんな読んでるだろうから
0558デフォルトの名無しさん2010/05/14(金) 02:55:16
>>552
その上から目線の妄想も凄いわ。1日待ってレスしないと気が済まないのかっていってるが
お前は毎日暇なのか?
常に自分が正しいってみとめないわけな?

俺は初心者向けのスレッドで良書Effective Javaを否定していることが問題視しているんだよ。
初心者がEffective Javaが使えない本だと勘違いすることね。
あれだけJavaのイディオムまとまった洗練された本はそうそうないものだ。
そこいらの鉄則本や落とし穴本と比べるとよくできている本だと思うんだが。
あの本には一見よさそうに見えてよくないコードの例も載せているしなあ。
単なるべからず集だと思ったら大間違い。

詭弁でEffective Javaに対する変なこと広めないでくれないかな。
C言語から来た奴がああいう本を否定する気持ちがわからないでもないけどさ。
ああいう本を読むと、コードも綺麗になってバグも減るものだろう。
昔の『Java謎+落とし穴徹底解明』、『Javaの落とし穴』、『Javaの格言』といった本と比べたら
全然内容が洗練されていると思うんだが。あそこいらの本はJavaのバージョンがちょっとでも上がると内容が古くなって
どうしようもないのが多くてな。Effective JavaもJava 5が登場してから版上げを迫られたが、それと比べると
他の落とし穴本は内容がもっと古すぎてな。あてにならないことはよくわかる。

で、お前さんは、コードが綺麗になると自分の仕事がなくなる奴にとっては否定したくなるもんなのかね?
0559デフォルトの名無しさん2010/05/14(金) 03:05:31
ほら見ろ。
0560デフォルトの名無しさん2010/05/14(金) 03:08:14
>>558
ちょっと長いけどだいたい同意
『Javaの落とし穴』、『Javaの格言』はたしかよんだことあるけど、これも悪くはないよ
まあアンチ?がつくのも良書かねぇ

Java関連で買ったやつはやさしいJava、EffectiveJavaとGOFデザインパターンかな
どれもいい感じだったよ やさしいJavaはさすがにもう読まないがw
0561デフォルトの名無しさん2010/05/14(金) 03:10:25
なんか、詭弁の特徴のガイドラインを貼りつけたくなるなぁw


例:「定数インターフェイスははたして危険なものか」という議論をしている場合、あなたが
「犬は哺乳類としての条件を満たしている」と言ったのに対して否定論者が…

 1:事実に対して仮定を持ち出す
     「定数インターフェイスはアンチパターンだが、もしアンチパターンを作らない定数インターフェイスが存在したらどうだろうか?」
 2:ごくまれな反例をとりあげる
     「だが、時として定数インターフェイスのようなアンチパターンを使った方が良いこともある」
 3:自分に有利な将来像を予想する
     「何年か後、犬に羽が生えないという保証は誰にもできない」
 4:主観で決め付ける
     「初学者 (初心者はとりあえず越えたあたり) 〜中級手前あたりはべからず集をありがたがる。ちゃんと経験を積めば
       『何故このケースではアンチパターンを使った方が良いか』個別に判断出来るようになるはずだ。」
 5:資料を示さず自論が支持されていると思わせる
     「初学者 (初心者はとりあえず越えたあたり) 〜中級手前あたりはべからず集をありがたがる傾向が一般的だ。」
       「初学者〜中級手前あたりは、それを遵守して失敗しても自分のせいじゃないと心のどこかで言い訳できるからという見方が一般的だ」
 6:一見関係ありそうで関係ない話を始める
     「ところで、定数インタフェイスがよいアンチパターンだということは知っているか?」
 7:陰謀であると力説する
     「それは、べからず集と認めないと都合の悪いJoshua Blochが画策した陰謀だ」
 8:知能障害を起こす
     「何、定数インタフェイスとEffective Javaごときにマジになってやんの、バーカバーカ」
0562デフォルトの名無しさん2010/05/14(金) 03:11:06
 9:自分の見解を述べずに人格批判をする
     「Effective Javaを薦める奴は、初学者〜中級手前あたりで失敗しても自分のせいじゃないと
        心のどこかで言い訳している証拠。現実をみてみろよ」
 10:ありえない解決策を図る
     「結局、定数インタフェイスがアンチパターンにならなければ良いって事だよね」
 11:レッテル貼りをする
     「定数インタフェイスがアンチパターンだなんて過去の概念にしがみつく右翼はイタイね」   
 12:決着した話を経緯を無視して蒸し返す
  「ところで、定数インタフェイスがどうやったらアンチパターンの条件をみたすんだ?」
 13:勝利宣言をする
     「定数インタフェイスがアンチパターンだという論はすでに何年も前に論破されてる事なのだが」
 14:細かい部分のミスを指摘し相手を無知と認識させる
     「定数インタフェイスって言っても使った方が良いケースとよくないケースがある。もっと勉強しろよ」
 15:新しい概念が全て正しいのだとミスリードする
      「定数インタフェイスがアンチパターンではないと認めない限りJavaに進歩はない」
      「Effective Javaが初学者〜中級者向けの、設計をつっこまれたときに他人の言葉を借りないと言い訳できない奴専用の書籍だと
       認めない限りお前らに進歩はない」
0563デフォルトの名無しさん2010/05/14(金) 03:12:33
まだ続くのかよ。
0564デフォルトの名無しさん2010/05/14(金) 03:14:41
醜いスレになったもんだな
0565デフォルトの名無しさん2010/05/14(金) 03:18:40
>>560
『Javaの落とし穴』はJava5よりもずっと前の、Swingすら標準APIに組み込まれる前の
かなり古い本。とくにGUI関係は今ではほとんど参考にならないと思った方がいいぞ。
当時はかなり参考にはなったが。

『Java謎+落とし穴徹底解明』は著者が他の言語と比較してJavaを批判しひたすら愚痴をこぼしているだけの酷い本だった。
今となってはほとんど改善され対応策がいくらでもあるのでほとんど無価値な本に成り下がってしまった。

『Javaの格言』もちょっといまいちなところあったかな。当時はけっこう役に立った。
『Javaの鉄則』も、finalize()や序盤と例外処理の箇所は参考になった。今では類似した内容でIBMのdeveloper worksの記事のほうが
内容が新しくて役に立つが。『Javaの格言』と内容が似ていたな。
結城浩の『Java言語で学ぶデザインパターン』は始めはいいが、徐々に物足りなくなってくるブツだ。

あと『リファクタリング』『テスト駆動開発入門』。
YAGNIを崇拝するしているであろう>?349?はテスト駆動開発入門には否定的そうだが。
『リファクタリング』はかなり良書だ。結城浩が書いたリファクタリング本より内容が濃厚で参考になる。
0566デフォルトの名無しさん2010/05/14(金) 03:18:46
定数インターフェースとかの話続けるならコテハンつけてほしい。NGするから
他の質問とか回答が探しにくくなる
0567デフォルトの名無しさん2010/05/14(金) 03:19:55
>>349 >>552-553 >>559 >>563-564
お前は何しに来てんだ?
何のためにこのスレにレスしてんだ?
ただの野次馬か? ただのアンチか?
0568デフォルトの名無しさん2010/05/14(金) 03:20:38
>>566
そんな我侭言うな。検索しろよ。
自分でオリジナル正規表現作ってNG指定しろ。
0569デフォルトの名無しさん2010/05/14(金) 03:21:28
>>349が本当に上級者だと思って騙された奴は哀れだな
0570デフォルトの名無しさん2010/05/14(金) 03:21:38
>>567
おまえ同様わかりきってる知識だから
いちいち書くなと
どっかブログにでも書き溜めて
URLだけ貼り付けろ
0571デフォルトの名無しさん2010/05/14(金) 03:23:22
C言語から入ってオブジェクト指向をろくに知らない奴にはEffective Java
なんて本は嫉妬の対象なんだろ。
バリバリオブジェクト指向を使っているから
C言語時代に培われたテクニックが一切通用しない。
すると自分の立場が弱まる。だからそういう本やそういう本に載っているテクニックを
使っている者を否定したくなるんだろう。

まぁその典型が >>349 みたいな。
0572デフォルトの名無しさん2010/05/14(金) 03:23:26
いつまでこの話題続ける気だよ・・・・>>349がこのスレ見てるとは限らんだろ・・・定数インタフェのスレでも立ててそっちでやれよ
0573デフォルトの名無しさん2010/05/14(金) 03:24:14
恨み言ならブログでやれ。
0574デフォルトの名無しさん2010/05/14(金) 03:25:22
>>570
おいお前、「狭量」という言葉知ってるか?
いますぐ辞書で調べてみろ。

このスレにいる全員がお前と同じように知っているとは限らないぞ。

このスレは初心者がよく質問し、よく閲覧するスレだ。
お前だけのスレじゃねえんだ。静かにしろ。
0575デフォルトの名無しさん2010/05/14(金) 03:26:03
>>574
>お前だけのスレじゃねえんだ。静かにしろ。

ブーメラン乙
0576デフォルトの名無しさん2010/05/14(金) 03:26:17
>>572
>>349が見なくても初心者は見てるからな。
初心者に勘違いさせてはならないからな。
Effective Javaの価値を貶めて初心者を騙す奴は許さん
0577デフォルトの名無しさん2010/05/14(金) 03:28:29
キチガイが大車輪中wwwwwっwwwwwwwwwww
0578デフォルトの名無しさん2010/05/14(金) 03:28:59
>>575
で?
0579デフォルトの名無しさん2010/05/14(金) 03:32:04
昔のこのスレはほとんどが学生や新人研修でJavaを教わるJava初心者しか来なかったと思う。
ところがここ5年ほどでアンチも流入してきたっぽい。
5年以上前まではアンチはほかのスレにいたのに、アンチが好んでいた言語の案件が減り、
Javaの案件が増えてから、Javaの仕事をやらされる羽目になって、習得したくないJavaを習得するために
このスレを覗くようになったアンチもいるのではないかと思う。

ここ5年ほどの影響はそれかもしれない。
0580デフォルトの名無しさん2010/05/14(金) 03:32:47
>>573
今恨み言なんかあるか?
頭大丈夫か?
0581デフォルトの名無しさん2010/05/14(金) 03:41:14
>>579
アンチなんてもっと前から居るだろ。
C# が出た頃の死滅スレ乱立時代がどんだけ凄まじかったか知らんのか。
0582デフォルトの名無しさん2010/05/14(金) 04:24:40
なにこの惨状。
0583デフォルトの名無しさん2010/05/14(金) 04:28:24
>>579
高級言語ひとつ知ってたら後は似たようなもんじゃん
新しい言語嫌なんて言ってる輩がこの奴隷業界で生き残れるとは思えん
仕事で心身ともに病んでしまった人がたまにスレで発狂してるんだよ多分
同情するぜ
0584デフォルトの名無しさん2010/05/14(金) 04:44:57
病んでるな。このキチガイ振りと出現時間帯じゃ社会生活も上手く行ってないんだろうが。
0585デフォルトの名無しさん2010/05/14(金) 08:53:57
悪口が上手なほうが優勢に見える。
0586デフォルトの名無しさん2010/05/14(金) 10:46:07
>2010/05/14(金) 04:44:57
>出現時間帯

そこまで自己分析できてるなら上出来
夜ちゃんと寝付けたらカッカするのも治る
あとは週末ゆっくりと心を休ませなさい
0587デフォルトの名無しさん2010/05/14(金) 10:57:42
連日ミンスの連中相手にネット情報戦で常勝している俺は週末も寝る暇がないがな。
0588デフォルトの名無しさん2010/05/14(金) 11:10:09
よっぽど信用できないコーダー相手にしてるんだろうなぁ。
0589デフォルトの名無しさん2010/05/14(金) 11:54:13
>>576
>初心者
これを理由にするのおかしい
定数インターフェースだけこと丁寧に説明する理由にはならない
初心者を理由にするなら
他の質問等にも懇切丁寧に回答すべき
そもそも定数インターフェースを使ってるのが老害だけだというのなら
初心者には尚のこと関係ない
0590デフォルトの名無しさん2010/05/14(金) 13:49:57
>>588
電波が過ぎて信用されなくなったが正しいと思われ。
0591デフォルトの名無しさん2010/05/14(金) 13:52:48
ここどこ?
0592デフォルトの名無しさん2010/05/14(金) 14:06:00
Javaの質問スレッドではないことだけは確かだね
0593デフォルトの名無しさん2010/05/14(金) 15:20:45
こんなどうでも良いネタでよく鬼の首取ったように喜べるもんだ
0594デフォルトの名無しさん2010/05/14(金) 15:23:58
鬼の首を取ったようとか、
小学生がいかにも最近覚えましたというような
言葉は使わないほうがいい
0595デフォルトの名無しさん2010/05/14(金) 15:26:44
さあ、始まるザマスよ!
0596デフォルトの名無しさん2010/05/14(金) 15:33:01
はぁ? こいつリアルバカか >>594
0597デフォルトの名無しさん2010/05/14(金) 16:17:00
>>596
お前が究極変態バカ。トーラス状に脱肛してるぐらいバカ。
0598デフォルトの名無しさん2010/05/14(金) 16:32:17
初心者どもがあ

質問しろよぉおおお
0599デフォルトの名無しさん2010/05/14(金) 16:40:32
気狂いが荒らしてるスレに初心者が来るかよ
0600デフォルトの名無しさん2010/05/14(金) 16:45:25
うるせえ30年ROMってろ
0601デフォルトの名無しさん2010/05/14(金) 16:50:39
30年後もjavaはあるのだろうか
0602デフォルトの名無しさん2010/05/14(金) 17:09:42
余裕で存在してるにきまってんだろ
30年後滅びるのはGroovy
0603デフォルトの名無しさん2010/05/14(金) 17:15:07
30年後ってたしか
1900/1/1から8バイト符号付き整数でカウントしてるプログラムがおかしくなるんだっけ?
0604デフォルトの名無しさん2010/05/14(金) 17:29:55
息をする暇もなさそうだなw
0605デフォルトの名無しさん2010/05/14(金) 17:30:27
1ヶ月くらい前にJavaの入門書をブックオフで買ってきたんだけど
どうやら10年前ほどの入門書らしい(だから100円とお安かったのかも)
どうすればいい?
0606デフォルトの名無しさん2010/05/14(金) 17:31:35
そりゃ中身見ないで100円安いじゃん買い!ってノリで買った自分が悪いんだけどさ
0607デフォルトの名無しさん2010/05/14(金) 17:36:36
>>605
基礎的な部分はそこまで変わってないから読み進めるのもアリ。
だがそれで十分かというと、内容が古すぎるので十分ではない。
0608デフォルトの名無しさん2010/05/14(金) 17:40:21
>>605
ブックオフで売るのもアリ
他の古書店で売ってもいい
0609デフォルトの名無しさん2010/05/14(金) 17:47:04
最先端技術に関する書籍を古本で買うのが間違い
0610デフォルトの名無しさん2010/05/14(金) 17:48:09
新規出版でも既に古いなんてことだってザラだっていう
目まぐるしく情報技術は進んでいるっていうのに
0611デフォルトの名無しさん2010/05/14(金) 18:45:01
Java の何処が最先端だよ。6 が出たの何時だと思ってんだ。
0612デフォルトの名無しさん2010/05/14(金) 18:47:06
まぁJavaはそうかも知れんが
一般的にIT関連の書籍買うなら最新のを買うべき
0613デフォルトの名無しさん2010/05/14(金) 18:50:06
エフェ厨
0614デフォルトの名無しさん2010/05/14(金) 23:14:05
EffectiveJavaを引き合いに出されるのが嫌い?な人がいるみたいだけど
この本の内容以上にJavaを知り尽くしてる人ってこのスレにいるのかな?
EffectiveJavaの○○の項は○○の理由によって適切でないと思う、とか
そういう意見があるなら勉強になるから是非書き込んで欲しいんだけどなぁ
0615デフォルトの名無しさん2010/05/14(金) 23:52:29
EffectiveJavaを所有してないので
EffectiveJavaの話をされてもサッパリ意味不明です
0616デフォルトの名無しさん2010/05/15(土) 00:08:52
今買って損は無いよ。
次のJavaのバージョンもたぶん来年〜再来年ぐらいに出るだろうから。
0617デフォルトの名無しさん2010/05/15(土) 00:10:34
少なくとも今は持ってないので
0618デフォルトの名無しさん2010/05/15(土) 01:08:52
プログラミング言語JavaとEffectiveJava買うならどっち?
Java暦3ヶ月、プログラミング暦3年。Java極めたい。
0619デフォルトの名無しさん2010/05/15(土) 01:30:18
両方
0620デフォルトの名無しさん2010/05/15(土) 01:32:42
極めたいなら良書とされてるものは全部読む気で挑まんと
0621デフォルトの名無しさん2010/05/15(土) 01:35:38
>>618
プログラミングをやる理由は?
1.職業プログラマー(仕事)
2.学生(授業・研究等)
3.趣味(サークル活動、同人活動等で二人以上で活動)
4.趣味(個人的活動)
0622デフォルトの名無しさん2010/05/15(土) 01:48:00
そんな事きいてどうすんの?
0623デフォルトの名無しさん2010/05/15(土) 01:58:08
特に意味はない
0624デフォルトの名無しさん2010/05/15(土) 02:01:27
今のペースで5時間切り行けるん?
0625デフォルトの名無しさん2010/05/15(土) 02:11:40
>>>612
普通に考えて1じゃねーの?知らんけど
0626デフォルトの名無しさん2010/05/15(土) 02:14:52
>>612じゃなくて>>621な
0627デフォルトの名無しさん2010/05/15(土) 04:15:59
質問です。
よく、入門用のサンプルソースで
try{
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
~何か処理をする~
}finally{
if(pw!=null) pw.close();
}
とありますが、BufferedWriter,FileWriterが全てちゃんとclose()される保証はありますか?
失敗するとしたら、どんなケースでしょうか。
個人的には、何か怖いので、

try{
FileWriter fw = new FileWriter(file)
BufferedWriter bw = new BufferedWriter(fw)
PrintWriter pw = new PrintWriter(bw);
~何か処理をする~
}finally{
~fw,bw,pwをそれぞれclose()
}

とした方が良いような気がするのですが、どうなのでしょうか。
0628デフォルトの名無しさん2010/05/15(土) 05:49:16
javaやったことないからわからない
0629デフォルトの名無しさん2010/05/15(土) 06:05:05
public class Test
{
 public static void main(String[] arg)
 {
   Test t = new Test(); //←�@
 }
}

入門書のサンプルソースとか見ると�@のような記述を見かけます。
すごーく違和感があります。自分自身のインスタンスを作るのはなんで?
0630デフォルトの名無しさん2010/05/15(土) 07:16:51
>>629
クラスメソッドがそのクラスのインスタンスを作るのは普通では?
シングルトンの実装とか。

サンプルのは Java が起動時に指定したクラスの main を呼ぶっていうお約束があるからだけどね。
0631デフォルトの名無しさん2010/05/15(土) 08:01:10
>>629
理解したのであれば返事をしなさい
0632デフォルトの名無しさん2010/05/15(土) 08:04:20
おまえの下手くそな説明じゃ理解できないってよ
0633デフォルトの名無しさん2010/05/15(土) 09:57:57
>>627
"何か処理をする"で System.exit() を呼んでしまうと、finallyは処理されない。

あとclose()に関してはPrintWriterとかBufferdWriterのソースのコンストラクタと
close()を見て「自分で確認」してみるといいよ。
0634デフォルトの名無しさん2010/05/15(土) 10:28:39
>>627
if(pw != null) を評価しているあたりで OutOfMemory や ThreadDeath などが発生した場合。
最終的に OutputStream のファイナライザでクローズ処理はするから、そういう
実行環境的なレアケースはそれほど神経質になる必要はない。
0635デフォルトの名無しさん2010/05/15(土) 10:32:21
>>629
staticメソッドでインスタンス生成する理由として
・より分かりやすい名前が付けられる
・インスタンスの数を制御したり、共用したりできる。
・mainメソッド

mainメソッドがエントリーポイントってのは、JavaがCからの
移行をターゲットにしたという事情で仕方ないかも。

public interface Executable {
 void execute(String[] args);
}
とかの方がJavaの思想に近いかな
0636デフォルトの名無しさん2010/05/15(土) 10:34:57
>>629
別にmainはTestクラスに記述しなくてもいい。
staticと非staticの世界は別だと思えばいい。

>>627
もしやるならpw -> bw -> fwの順番にクローズしてね。
0637デフォルトの名無しさん2010/05/15(土) 10:36:40
>>629
少し語弊のある説明だが
static と付いているメソッドは Test クラスに属してはいるが Test インスタンスの一部ではない。
単に Test というクラスの中で定義場所を借りているだけの、C で言うなら関数。だから
この中で Test のインスタンスを作るのは普通に行われる。もう一つ、Test インスタンスの
中で別の Test インスタンスを作るのも取り立てておかしな事ではない。

多分クラスとインスタンスの違いをもう少し理解すれば分かると思う。
0638デフォルトの名無しさん2010/05/15(土) 11:11:32
>>636
うん
0639デフォルトの名無しさん2010/05/15(土) 16:13:39
>>600
30年前にJavaは存在していなかった
30年前に2chは存在していなかった

そして2chはJavaよりも若い
0640デフォルトの名無しさん2010/05/15(土) 16:14:24
>>605
そなたがもしC#を極めたものなら
即座にゴミ箱に放り込むべき
0641デフォルトの名無しさん2010/05/15(土) 16:15:03
>>610
しかし、デザインパターン本は10年たってもそこそこ使える
古いのはサンプルコードだけ
0642デフォルトの名無しさん2010/05/15(土) 16:16:25
>>615
Effective JavaはJava本ランキングで1位を長期間キープした人気書籍
超おすすめ。
スパゲティコード書いて他人に迷惑かけることしか考えていない末端コーダが
末端コーダから脱出するにはぜひとも必読すべき本。
0643デフォルトの名無しさん2010/05/15(土) 16:19:24
>>618
前者は言語仕様についての本。内容をすべて把握すれば基本を完璧にマスターできるだろう。
読めば読むほどC#とJavaとの違いもわかってくるだろう。
後者はJavaの応用本。内包をすべて把握すればかなり多くの分野で応用が効くだろう。
C#,C++、Rubyなど他の言語でプログラミングするさいにも役立つ。
買うならなるべく最新の版のを買うこと。
Java5以前(2005年より前のは古いから買わないこと)
0644デフォルトの名無しさん2010/05/15(土) 17:21:44
Java5以前の形式でプログラム作らなきゃいけない場合ってあるの?仕事とかで
0645デフォルトの名無しさん2010/05/15(土) 17:30:05
>>644
普通にあるよ
0646デフォルトの名無しさん2010/05/15(土) 17:41:51
官公庁の司法試験のサイトが
未だにJava1.1のJVMが必要っていうのがあったな
0647デフォルトの名無しさん2010/05/15(土) 18:30:19
ってことは仕事人は古いJavaも知ってなきゃならないのか・・・大変だな
0648デフォルトの名無しさん2010/05/15(土) 18:56:16
Javaの正規表現について質問です。
"nickname":"何らかのテキスト"
という文字列から「何らかのテキスト」だけを抜き出す場合\"nickname\":\"([^\"]+)\"でいけるとおもうのですが、
何らかのテキストの中に"が含まれてしまう場合を想定すると、どのように正規表現を書けばよいでしょうか?
0649デフォルトの名無しさん2010/05/15(土) 19:00:11
後方互換だから、新しいバージョン仕様知ってるんだったらそんなに大変でもないんじゃないかな…
SwingじゃなくてAWT使わないと駄目、みたいなのはあると思うけど。
0650デフォルトの名無しさん2010/05/15(土) 19:03:20
"nickname":"(.*)"
0651デフォルトの名無しさん2010/05/15(土) 19:05:19
>>648
^"nickname":"(.*)"$
じゃダメなの?
# $無くても基本最長一致だから問題ない
0652デフォルトの名無しさん2010/05/15(土) 19:05:34
>>648
()の中の[^\"]を外して最長一致とか、
"$で行末の"まで一致とか?
0653デフォルトの名無しさん2010/05/15(土) 20:04:58
>>647
そんなに知る必要ないよ。
非推奨なAPIなんてセキュリティ上問題があるからパス。
0654デフォルトの名無しさん2010/05/15(土) 20:47:46
>>647
信託銀行の仕事やってたが、下手に新しいのを知ってると混乱して大変。
そこはおととしまで1.3のシステムを騙し騙し使ってた。
ホイホイ変更なんかやってられっかっー話。

・・・んでどうして1.5にリプレースとかアホな決定したんだろ。もう関係ないが。
0655デフォルトの名無しさん2010/05/15(土) 20:59:33
>>654
それは新しいAPIのことをよく知らないからだろう。
中途半端な知識では悪影響必至。
かといって古いままでいいとおもってると何時まで経ってもシガラミを引き継ぐ。
0656デフォルトの名無しさん2010/05/15(土) 21:27:56
1.3って2000年ごろだろ。
これを古いシステムとかって平気で言っちゃうってことは、flashとかadobeとかで浮かれた髪の毛染めてるファッションに見たいな奴らがついにジャバの世界にも入ってきたってことだろうな。
そいう奴はジャバには来て欲しくないしMSやC#の方が断然いいよ。
0657デフォルトの名無しさん2010/05/15(土) 21:33:46
1.5で結構変わったからなー
0658デフォルトの名無しさん2010/05/15(土) 21:40:22
普通に変わったよ
0659デフォルトの名無しさん2010/05/15(土) 21:40:30
正直1.4以前の現場が嬉しい人間なんてほとんどいないと思う。
Java=恐怖って考え方なら古いのがありがたいのはわかるけど。
0660デフォルトの名無しさん2010/05/15(土) 21:43:32
>>644
iアプリ
仕事じゃないひとで1.4以下というとモバイル環境ぐらいしか思い浮かばない
0661デフォルトの名無しさん2010/05/15(土) 21:51:56
1.5
1.6
それらの機能を使わないなら無理にアップ必要もない。
さすがに1.2のコレクションは使いたいとは思うけど、必要ならコレも自分で作れたり出来るしな・・・
0662デフォルトの名無しさん2010/05/15(土) 22:02:16
>>656
おいおい、いまどき髪の毛染めてるのがファッションって
2000年頃じゃその後すぐに1.4が出始めたころだろ
2000年頃といえばSwingとServletが注目されていたころだな。
あの頃はWeb開発といえばCGI + PerlかASPが主流でServletの仕事は
登場したばかりでJavaエンジニアの募集も膨れていた頃。
あの頃がJavaの案件が増え始めた時期だな。1.4が出ても
すぐに導入するところはそうそう多くなかった。
1.4からassertがキーワードになってJUnitのassert()が使えなくなって一時的に困惑したのは2002年頃だった。

すでにHot Spotで高速化しているにもかかわらず2000年頃は「Java遅い」って文句言うアンチがまだまだ多かった時期。
0663デフォルトの名無しさん2010/05/15(土) 22:02:19
>>661
Genelics、foreach、enum、static import、autoboxing、printf
annotation,java.awt.Desktop,java.util.Arrays,他 SWING/AWT
まあ使わなくてもできなくはないけど、慣れた今となってはつらいな
0664デフォルトの名無しさん2010/05/15(土) 22:03:29
どっちみちflashやadobeで浮かれた奴にはJavaなんてほとんど理解できないもんだが。
PHPすらろくにできない。知ってるのはHTMLくらい。そもそもflashすらろくに使いこなせない。
0665デフォルトの名無しさん2010/05/15(土) 22:04:39
いまどき髪の毛染めた奴に対する偏見を持ってるおっさんがいるとは。
そんなのを引き合いに出してMSやC#のほうがいいと言ってる奴は
どこのおっさんだ?
0666デフォルトの名無しさん2010/05/15(土) 22:05:27
アノテーションはないと困るわな。
Genericsとenumもないと困る。
すくなくとももう1.5より前に戻ることはできない。
0667デフォルトの名無しさん2010/05/15(土) 22:06:14
私服で仕事ができる環境で茶髪や金髪に文句言ってC#の宣伝してるやつは
どこの世界にいる人間だ?
0668デフォルトの名無しさん2010/05/15(土) 22:07:17
ジャバに限ったことではないけど、1.4が出て枯れるまで2年ぐらいは普通はどこも導入しないんだけど、そういうのを知らないでいろいろ妄想してるんだろうな・・・
0669デフォルトの名無しさん2010/05/15(土) 22:11:13
>>668
なぜ2年?
0670デフォルトの名無しさん2010/05/15(土) 22:25:04
1.6の魅力はjavafx(とスクリプト言語)かなって思うけど、去年はサン本体が混乱してたから1.6よりも1.5の方が普及してしまった。
>>663もよほどシステムに近いコアな機能(nioとか)じゃないから、なくてもいかなって感じはする。実際2−4行程度のコードだし。
例えばスクリプトサポートとか、invokedynamicとか、1.6じゃないとそのコア機能が使えないって言うなら1.6だろう。
そうじゃないなら別に1.4で言いと思うよ。さすがにnioは欲しい。
>>666も確かに大事だからそれならjreも1.5で十分ともいえる。

netbeansによってファッションな奴らが大量に入ってきたけど、現在のジャバの得意分野はgui以外のところだからな・・・
javafxが少しまともになってきたからこれが上手くいくごとに全体がjre 1.6に移行するんじゃないかと思う。
いま業界ではadobe色の排除は凄いでしょ。
そいつらと話していても、IT系の記事書いてる奴の主張とか見ても分かるけど、少なくともファッションの奴らはスパゲッチー・コードだからシステム系を理解することは絶対無理。
0671デフォルトの名無しさん2010/05/15(土) 22:25:17
>>656
Java 1.0 正式リリース前から使ってるけど普通に古いだろ。
地銀信金街金あたりだと都銀のお下がりシステム 20 年くらい使い廻される事も
あるけど、だからといって古くない訳じゃない。
0672デフォルトの名無しさん2010/05/15(土) 22:31:29
>>670
invokedynamic って 1.7 からじゃね?
0673デフォルトの名無しさん2010/05/15(土) 22:32:41
>>668
うちでは即座に導入していたけどな。
5.0のときはEclipseが完全に対応していなかったのでそうはいかなkったが。
0674デフォルトの名無しさん2010/05/15(土) 22:39:53
>>670
> netbeansによってファッションな奴らが大量に入ってきたけど、現在のジャバの得意分野はgui以外のところだからな・・・

ソースくれ。ファッションな奴ってのが単なるウェブデザイナーとか言わないよな?
Java Studio Creatorが出た頃、JavaのことをろくにわかってないHTMLしかしらない、Dreamweaverしか使えない30代後半のオバサンが
嬉しそうにJava Studio Creatorに期待していたが結局使わずじまいだったな。HTMLしか知らないのが
いきなりJavaに手をだしても挫折するだけってことを証明してしまった。あのIDEは当時重たかったしな。

奴らの世界では、"コーディング"といえば「HTMLを書く」ことだからな。
そして未だにCGIがどうこうといってる。他LAMPとはどういうものかという概要くらいしか知らない知ったかぶり程度。
Webデザインの知識があってもソフトウェアデザインの知識はゼロ。

> javafxが少しまともになってきたからこれが上手くいくごとに全体がjre 1.6に移行するんじゃないかと思う。
> いま業界ではadobe色の排除は凄いでしょ。
> そいつらと話していても、IT系の記事書いてる奴の主張とか見ても分かるけど、少なくともファッションの奴らはスパゲッチー・コードだからシステム系を理解することは絶対無理。

ああいうのは、スパゲティすら書けないぞ。Webデザイナーの中にはFlashすら使いこなせる奴もごく小数で、ActionScriptとくればさらに小数。
0675デフォルトの名無しさん2010/05/15(土) 22:42:55
1.7が出るころになって1.6の目玉の1つだったスクリプト・サポート(とくにjavafx)が業界の要求する水準に達して、やっと1.6が普及し出すってことだろう。
並列とかももっと普及しても言いかなって思うけど並列を使うような人は少ないんだろうかと思うけど。
それよか、ログとテキストとコンソールはもう見飽きたからgui(javafx)の方に資源を投資してジャバ・グーイを整備してくれたほうがうれしい。それだとやっぱり1.6か。
0676デフォルトの名無しさん2010/05/15(土) 22:44:20
専業分業でやればいいよ。フロントからバックエンドまで、深さより広さのスキルが
必要なのって零細だけだろ。
0677デフォルトの名無しさん2010/05/15(土) 22:48:10
というか主要なアプリケーションサーバで 1.6 に追いついていないのなんてあるか?
新規開発なら大抵 1.6 だろ。ミドルウェア環境最新にしとかないとサポートがゴネるからな。
0678デフォルトの名無しさん2010/05/15(土) 22:53:36
>>674
え?
flashの業界ってそんなに酷いの?

それならもう、髪の毛染めてるんじゃなくて、髪の毛が北斗になってる奴らか・・・
1.4のころの北斗は、携帯アプリで無償労働されてる派遣(年収210万)か日雇いニート(日払い5000円交通費無し)だったけど・・・あのときの北斗たちは今頃どうしてるんだろう・・・
0679デフォルトの名無しさん2010/05/15(土) 22:59:05
標準偏差ってJavaでどうやって求める?
0680デフォルトの名無しさん2010/05/15(土) 23:03:07
>>677
システム設計ってのは、jreのリリースのたびにそのシステムも一緒にアップデートするものだと思うか?
0681デフォルトの名無しさん2010/05/15(土) 23:04:45
>>680
ミドルウェアと一緒にアップデートするだろ。
サポート終わった環境いつまでも使ってんならご愁傷様。
0682デフォルトの名無しさん2010/05/15(土) 23:04:48
>>680
うん
0683デフォルトの名無しさん2010/05/15(土) 23:07:56
>>679
お前大学生か?
0684デフォルトの名無しさん2010/05/15(土) 23:09:02
北斗www
0685デフォルトの名無しさん2010/05/15(土) 23:09:03
>>680
普通に FIX プランに乗ってくるが?
自己責任オープンソースでも使ってんの?
06866792010/05/15(土) 23:25:26
>>683
質問に質問を被せるなバカ
0687デフォルトの名無しさん2010/05/15(土) 23:29:26
>>686
ひょっとしたら、お前の質問に答えるために必要な情報だったんじゃね?w
そのくらい答えてやればいいのに。
0688デフォルトの名無しさん2010/05/15(土) 23:40:31
>>674
javascriptは実際は言語仕様と少数のライブラリーだけで普通の人には扱えないから何ともいえない。
ただjavascriptを大して知らなくてもjava以上のguiができるとなるとjavafxはまだまだかなって思う。
flashやjavafxのデザイナー・エディタを見てると、少なくともideとswingでポトペタはもう時代遅れになるのかもしれない・・・(HTMLはポトペタのエディタって普通無いでしょ)
0689デフォルトの名無しさん2010/05/15(土) 23:48:45
>>686
解決してないみたいだけど、これが参考にはなるかも
http://forums.sun.com/thread.jspa?threadID=5169609
0690デフォルトの名無しさん2010/05/16(日) 00:07:47
>>679
Math#powとかMath#sqrtとかつかって普通に求めればいいんじゃね?答えになっているか?
それとも「コード書けないから誰か書いてくれ。」とか、「ぐぐってまさにコレって内容を教えてくれ。」ってこと?
0691デフォルトの名無しさん2010/05/16(日) 00:10:38
なんかムダに熱いなお前ら
0692デフォルトの名無しさん2010/05/16(日) 00:12:22
>>679
宿題なら宿題スレにいったほうがいい

数学とか統計学で使うような標準偏差を求める式とか知ってるの?

あなたはどの程度Javaが分かるの?
0693デフォルトの名無しさん2010/05/16(日) 00:14:00
この程度だったらjavaというよりただのアルゴリズムだから算数の問題だよね
0694デフォルトの名無しさん2010/05/16(日) 00:26:42
Σが登場するから算数じゃないな
0695デフォルトの名無しさん2010/05/16(日) 00:35:32
高校数学なんて算数みたいなもんだろ
0696デフォルトの名無しさん2010/05/16(日) 00:35:55
エリートだな
文系の俺には分からん
0697デフォルトの名無しさん2010/05/16(日) 00:38:55
中学生〜高2ぐらいじゃねーの
大学生にもなって以下略
0698デフォルトの名無しさん2010/05/16(日) 01:36:14
標準偏差って
学校の成績や大学入試とかのと
一般的な統計学のとじゃ
意味違ったような気がしたけど
0699デフォルトの名無しさん2010/05/16(日) 01:39:57
偏差値のこと言ってるのか?
標準偏差とは名前からして違うものだ
0700デフォルトの名無しさん2010/05/16(日) 01:41:28
>>698
学力偏差値 - Wikipedia
http://ja.wikipedia.org/wiki/%E5%AD%A6%E5%8A%9B%E5%81%8F%E5%B7%AE%E5%80%A4
0701デフォルトの名無しさん2010/05/16(日) 01:47:37
標準偏差
ttp://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E5%81%8F%E5%B7%AE

リンク貼るならこっちだろw
0702デフォルトの名無しさん2010/05/16(日) 01:51:19
>>701
学力偏差値が標準偏差と
無関係であるかのような言い回しだったから
学力偏差値にリンクしたんだが
間違いだと思う?
0703デフォルトの名無しさん2010/05/16(日) 01:57:28
>>683
ばか
0704デフォルトの名無しさん2010/05/16(日) 02:00:36
>>702
>学力偏差値が標準偏差と
>無関係であるかのような言い回しだったから
う〜ん・・・そう読めるのか?
俺は単純に>>698は言葉の定義を理解してないものだと感じたんだが
0705デフォルトの名無しさん2010/05/16(日) 04:08:27
>>704
どっちでもいいと思う
0706デフォルトの名無しさん2010/05/16(日) 04:15:41
質問主がいないからな
意味無い議論
0707デフォルトの名無しさん2010/05/16(日) 04:42:05
javaには統計の関数みたいなの無かったんだっけ?
0708デフォルトの名無しさん2010/05/16(日) 05:02:23
次のコードがあります

package com.se.myapp;
public class Test
{
 省略
}

Testクラスが/usr/com/se/myappの直下に配置されています。
環境変数classpathはカレント( . )が設定されています。
実行方法として正しいのはどれ?

という問題があります。
選択肢の中に
 /usr/com/se/myappディレクトリの場所で、java Testを実行
というのがあるのですが、ハズレ選択肢でした。
packageが階層設定されている場合、親ディレクトリの場所でないと実行出来ないの?
0709デフォルトの名無しさん2010/05/16(日) 05:05:24
>>707
Mathmaticaの領域じゃね?
非標準ライブラリはいくらでもある
0710デフォルトの名無しさん2010/05/16(日) 07:40:00
>>708
クラスパスが「.」であるなら
/usr/ で java com.se.myapp.Test と実行しないとダメ。
クラスパスに /usr/ を追加するか、あるいは
java -cp /usr/ com.se.myapp.Test でもよい。

Test クラスがパッケージに含まれているなら、
クラスパスやカレントディレクトリの位置に関わらず
java Test では実行できない。
0711デフォルトの名無しさん2010/05/16(日) 13:55:45
>>678
単なるウェブデザイナーの世界な。
HTMLとDTPだけ知っててFlashを使いこなせない奴なんてそこら中にうじゃうじゃいる
0712デフォルトの名無しさん2010/05/16(日) 13:57:23
>>679
どうみてもJavaとは直接関係ない話だな
統計学の本でも読めば答えが書いてあるだろうに
0713デフォルトの名無しさん2010/05/16(日) 13:59:55
>>688
Webデザイナ厨が使うJavaScriptなんてコピペ。
Ajaxも適当に使いこなすことしかできない。
そこいらのAjax本買って真似るレベル。
JScriptとJavaScriptとActionScriptとの区別もつかないような馬鹿ばかり。
0714デフォルトの名無しさん2010/05/16(日) 14:02:52
>>696
文系でも経済学部の奴は統計学習うだろ
0715デフォルトの名無しさん2010/05/16(日) 14:06:34
>>689
平均値との差を2乗するんじゃなかったっけ?
0716デフォルトの名無しさん2010/05/16(日) 14:11:04
>>715
V[X] = Σ(x-E[X])^2 / n = E[X^2] - (E[X])^2
0717デフォルトの名無しさん2010/05/16(日) 14:13:11
>>707
Apache Commons MathにはJavaの統計学ライブラリがある程度そろってる。
http://ja.wikipedia.org/wiki/Apache_Commons_Math

http://commons.apache.org/math/api-2.1/org/apache/commons/math/stat/StatUtils.html

これを組み合わせればいいんじゃないかね。
平均も分散も求められる。

分散を求めるメソッドvariance()をMath.sqrt()で平方すれば一発で解決だな。
0718デフォルトの名無しさん2010/05/16(日) 14:17:28
一発で解決だね、はあ・・・
0719デフォルトの名無しさん2010/05/16(日) 14:18:10
JavaScript と Flash で愚痴こぼしてるバカはスレタイ100回見直して首吊れよ。
0720デフォルトの名無しさん2010/05/16(日) 14:18:24
>>717
不偏推定量が要求されているのかどうかを使用者が理解していないと解決しない。
単に「分散」という単語だけだと解釈しかねる。
0721デフォルトの名無しさん2010/05/16(日) 15:26:05
>>621
なんか遅くなったけどごめん。
4の趣味だよ。
普段は職業プログラマ(まだ1年くらい)でPHP, JavaScriptを扱ってるけど
Javaはどうしても作りたいものがあるので始めた。
少しばかり大規模なもの。

>>643
この場合だと前者のほうが良さそうだね。
Java始めたばかりだし、もうすこし理解が必要かもしれない。
Effectiveは応用ということだけど、大抵はPHPのような
他の言語で得てきたようなことが書かれてるのかな?
それともJava言語としての応用がメイン?
Java独自のことが書かれているなら絶対に持っておいたほうが良さそうだけど。
0722デフォルトの名無しさん2010/05/16(日) 16:22:41
>>717
こんなのもあるようだが。
中では平方してるだけなのかな?
http://commons.apache.org/math/api-2.1/org/apache/commons/math/stat/descriptive/moment/StandardDeviation.html
0723デフォルトの名無しさん2010/05/16(日) 16:55:07
javascriptで画像固定でその画像をクリックするとランダムに飛ぶようになるやり方教えてください。
途中までできたんだけど画像にポインタ合わせてもポインタが変わらないのとblankで別ウインドウで開く設定ができなくて・・・。
ソース↓
<img src="http://hp.jpdo.com/cc009/1/img/8186.jpg" alt="画像" border="0" height="150" onClick="jump()" target="_blank" >

<script>
tag = new Array();

/* リンク先のURLを好きなだけ記述 */
tag[0] = "http://www.google.co.jp/";
tag[1] = "http://www.yahoo.co.jp/";
tag[2] = "http://www.goo.ne.jp/";

function jump() {
p = Math.round(Math.random() * (tag.length - 1));
parent.top.document.location = tag[p];
}
</script>
0724デフォルトの名無しさん2010/05/16(日) 17:06:49
>>723
スレッドタイトルを音読しよう。
0725デフォルトの名無しさん2010/05/16(日) 17:26:28
>>724
うっせー!( ゚д゚)、ペッ
0726デフォルトの名無しさん2010/05/16(日) 17:41:30
>>694
1 + 2 + 3 +.....は十分に算数だと思うぞ。
0727デフォルトの名無しさん2010/05/16(日) 18:11:14
http://www.google.co.jp/search?hl=ja&q=_blank+target
0728デフォルトの名無しさん2010/05/16(日) 18:30:51
>>726
かも知れんな
それで?
0729デフォルトの名無しさん2010/05/16(日) 18:32:12
優越感に浸りたかっただけだろ
言わせんな恥ずかしい
0730デフォルトの名無しさん2010/05/16(日) 18:52:36
>>722
http://commons.apache.org/math/api-2.1/src-html/org/apache/commons/math/stat/descriptive/moment/StandardDeviation.html#line.40

そのJavadocでクラス名をクリックするとソースコードが見える。
これによると中で分散を平方していることが分かる。

136 /**
137 * Returns the Standard Deviation of the entries in the input array, or
138 * <code>Double.NaN</code> if the array is empty.
139 * <p>
140 * Returns 0 for a single-value (i.e. length = 1) sample.</p>
141 * <p>
142 * Throws <code>IllegalArgumentException</code> if the array is null.</p>
143 * <p>
144 * Does not change the internal state of the statistic.</p>
145 *
146 * @param values the input array
147 * @return the standard deviation of the values or Double.NaN if length = 0
148 * @throws IllegalArgumentException if the array is null
149 */
150 @Override
151 public double evaluate(final double[] values) {
152 return Math.sqrt(variance.evaluate(values));
153 }
0731デフォルトの名無しさん2010/05/16(日) 18:55:25
>>694
高校生までに教わる数学は実質算数とかわらない。
応用数学と呼ばれることもあるが、数学者が言う数学とは異なるものである。
数学者が言う数学は、数論や暗号理論等で扱う純粋数学。
工学、経済学、ビジネスでよく使われる数学はほとんどが、統計学、数値解析などを含む応用数学。
0732デフォルトの名無しさん2010/05/16(日) 19:03:31
>>721
大規模めざすならEffective JavaはTipsを読む程度に役に立つ。
初心者がJava言語仕様を読むケースなんて大学でJavaを教わるときくらい。
読めば正しい知識が身につき、Java認定試験でも役立つかもしれないが、実践で即座に役立つとは限らない。
しかも分厚くて内容が濃すぎてJavaを習得するまでに少々の時間を要することになる。
何にか作りたいものがあるなら無理せず初心者向けJava本でも読んだほうがおすすめ。

>>723
JavaとJavaScriptは違う。
JavaScriptはWebProg板で扱っている。

WebProg
http://pc11.2ch.net/php/
0733デフォルトの名無しさん2010/05/16(日) 19:12:43
つうか、標準偏差って二種類あるから
0734デフォルトの名無しさん2010/05/16(日) 19:23:15
C++屋で大学で教わってるわけでも無いJava初心者は何を読んだらいいの?
とりあえず「Effective Java」から入ったけど、失敗だったか orz
その後「パーフェクトJava」読んだけど、確かに逆のほうが良かった気がする。
0735デフォルトの名無しさん2010/05/16(日) 19:25:15
C++屋だったら、JavaのAPIのドキュメントの lang, util, io 付近を全部読めばプログラムくらい書けるんじゃないかな?
0736デフォルトの名無しさん2010/05/16(日) 19:26:40
>>734
本当に初心者なら結城さんのプログラミングレッスンをオススメしたいが、
C++ちゃんと知ってるんだったらプログラミング言語Java読むのが一番いいよ。
他の本とは比較にならないくらい詳細に書かれてるから一気に深く分かるよ。
もちろん Effective Java を読むためのバックグラウンドも十分身につく。
0737デフォルトの名無しさん2010/05/16(日) 19:27:31
>>731
とはいうけどコンピュータは数学じゃなくて算数だと思うよ。
0738デフォルトの名無しさん2010/05/16(日) 19:28:53
>>737
実数型とかあるけど、有理数だしな。
0739デフォルトの名無しさん2010/05/16(日) 19:42:47
C++やってるならGUI以外は楽勝のはず。ちょびっと悩むとしたらio周り?
Javaが出た当時、io周りのアイデアは画期的と思った。
元ネタは何かあるのかな。
07407342010/05/16(日) 19:44:38
>>735 そんな風に考えていた時期が俺にもありました。
Android の入門書3冊くらい読んで、さあプログラム作るぞ〜、と思ったら、書けないの。
言語仕様や文化や定石は、あるていど身につけてないとね。

>>736
原典に当たるべきだよね、とは思うんだけど、あの本分厚いしw
アマゾンの書評、第3版と第4版でえらくわかれてるのはなんでだろう。
「Effective Java」読む限り、柴田 芳樹さんの訳は読みやすいと思うんだけど。
0741デフォルトの名無しさん2010/05/16(日) 19:46:09
>>734
C++屋ならEccective C++読んでるだろ
0742デフォルトの名無しさん2010/05/16(日) 19:48:45
>>739
とはいうけどC++でprintfを使ってるやつは多い。
0743デフォルトの名無しさん2010/05/16(日) 19:52:59
>>740
お前本当にC++屋?
ただのC言語屋じゃねえの?
0744デフォルトの名無しさん2010/05/16(日) 19:56:27
代替手段に MessageFormat あったからそれほど悩まなかったなぁ。
1.5で更にString#formatとかPrintWriter#printfとか追加されたし。
0745デフォルトの名無しさん2010/05/16(日) 19:59:39
○○屋って言い方は痛いよ。
0746デフォルトの名無しさん2010/05/16(日) 20:21:38
「おれC++できるぜ! すごいだろ!」

実際にやらせてみると実はCしかできなかったというマニフェスト詐欺師が
実はC言語厨には多い。

C++できると称して実は、メソッドがすべてstaticだったり
クラスをろくに作れなかったりデザインパターンをろくに知らなかったり

ということはよくある話。
0747デフォルトの名無しさん2010/05/16(日) 20:31:53
>>740
Android は Activity の仕様を把握するしかないけど、あれも、サンプルプログラムだけで
なんとかならないだろうか?
Java は例外処理とかイベント処理とかの手法が既に提供されているところが
C++ と違うとは思うけど。
07486792010/05/16(日) 20:34:31
>>717
>>722
>>730
ありがとうございます。
自分も英語のドキュメント読めるようになりたいです。
0749デフォルトの名無しさん2010/05/16(日) 21:49:45
>>737
実数型とかあるけど、有理数だしな!。
0750デフォルトの名無しさん2010/05/16(日) 21:57:25
128bitの浮動小数(quad)はいつcpuに組み込まれるんだろう・・・
0751デフォルトの名無しさん2010/05/16(日) 22:25:03
Stringの配列を for(String str : hoge) みたいな、ジェネリクス使ってループさせるやり方教えてください。
0752デフォルトの名無しさん2010/05/16(日) 22:30:38
>>751
for(String str : new String[]{"a", "b", "c"})

質問はもっと具体的に書くこと。
0753デフォルトの名無しさん2010/05/16(日) 22:30:46
for(String str : hoge)とジェネリックスはベツモノだから言ってる意味がわからないがArrayList使えばいいんじゃね?
07547512010/05/16(日) 22:44:16
>>752 >>753
申し訳ありません。

List<String> ar = new ArrayList<String>();
 ar.add("1");
 ar.add("2");

for (String str : ar) {
 System.out.println(str);
}

こんな感じで、

String[] strList = new String[5];
strList[0] = "str0";
strList[1] = "str1";

for (int count = 0; count < strList.length; count++) {
 System.out.println(strList[count]);
}
↑ こうではなく

for ( String str : strList ) {
 System.out.println(str);
}

こんな感じで出来ないかなぁと思ったわけです。
0755デフォルトの名無しさん2010/05/16(日) 22:49:04
>>754
出来ますよ。
そのまんまでいいからコンパイルしてみたら?
0756デフォルトの名無しさん2010/05/16(日) 23:48:56
>>753
拡張for文とジェネリクスは無関係ではないと思うけど。
Iterable<T> に対して使うものでしょ。
0757デフォルトの名無しさん2010/05/16(日) 23:54:58
>>749
それもApache Commons Mathにあるんだよな。

Fraction型とかRational型とか
0758デフォルトの名無しさん2010/05/17(月) 00:26:46
ある文字列で、後ろから2つ目の文字を検索するにはどのようにすればよいでしょうか。
lastIndexOfメソッドで、後ろから1つ目は簡単に探せるようなのですが。。
0759デフォルトの名無しさん2010/05/17(月) 00:31:14
>>757
同じようですけどジャバ的にどう違うんですか?
0760デフォルトの名無しさん2010/05/17(月) 00:33:16
伸びたな
0761デフォルトの名無しさん2010/05/17(月) 01:03:53
windowsでJavaプログラミングをしてるんですが、
ソースコードの文字コードをUTF-8にして保存したらエラーが出るようになったんですが、なんでですか?
>> 警告:この文字は、エンコーディング MS932 にマップできません。
というエラーが出ます。
Javaの内部コードはユニコードじゃないんですか?
0762デフォルトの名無しさん2010/05/17(月) 01:10:24
素人の初心者の俺がその質問に答えます
「それはどこで発生したエラーですか?」
0763デフォルトの名無しさん2010/05/17(月) 01:10:45
>>761
Javaの内部の文字符号化コードはUTF-16。
でもソースコードは別にどの文字コード使ってもいい。
エラーによるとShift_JISが使われる想定なのにUTF-8が来てしまったということだね。
javacで-encodingスイッチ指定できるからそれでUTF-8指定すればいいと思われ。
0764デフォルトの名無しさん2010/05/17(月) 01:49:09
>>763
おお、できました。
ありがとうございます。
07657622010/05/17(月) 01:52:41
フッ
俺への礼なら要らないぜ
0766デフォルトの名無しさん2010/05/17(月) 02:12:02
>>765
ありがとう!
07677622010/05/17(月) 02:12:44
>>766
フッ
当然のことだぜベイビー
0768デフォルトの名無しさん2010/05/17(月) 02:35:55
お前らもう寝ろよw
0769デフォルトの名無しさん2010/05/17(月) 02:37:16
とっくに寝てるがな
0770デフォルトの名無しさん2010/05/17(月) 03:36:06
夢遊病?こわっ
0771デフォルトの名無しさん2010/05/17(月) 03:45:26
早起きだね
0772デフォルトの名無しさん2010/05/17(月) 15:46:08
>>759
わるいが
よくみりゃRational型なんぞなかった
RealMatrixのReal
BigRealのRealと間違えていたようだ
0773デフォルトの名無しさん2010/05/17(月) 17:38:16
たしかにBigDecimalはいまいち使いにくいよな。
extendsもできるけど何のためにあるんだろう・・・
0774デフォルトの名無しさん2010/05/17(月) 18:05:35
Number インターフェースに四則演算メソッド付けて構文レベルでのシンタックスシュガーが
あっても良かったかもしれない。アンチ operator 厨が文句いうかも知れないが。
あと BigDecimal や Date のようなプリミティブに近いデータ型は全て final で immutable な
設計にして欲しかった。
0775デフォルトの名無しさん2010/05/17(月) 18:27:05
BigDecimalは十分にimmutableのようだけど・・・
0776デフォルトの名無しさん2010/05/17(月) 18:27:39
finalにしないってことは
それつかって派生クラスを作る可能性があるってこと?
0777デフォルトの名無しさん2010/05/17(月) 19:40:57
サブクラスがMutableになりうるのでMutableだと仮定できない。
まあ、仮定しちゃっていいと思うけど。
0778デフォルトの名無しさん2010/05/17(月) 19:41:38
×Mutableだと仮定できない。
○Immutableだと仮定できない。
0779デフォルトの名無しさん2010/05/17(月) 20:00:16
スーパークラスにサブクラスは代入出来ますが、どのような場面で使用されるのでしょうか?
サブにはスーパーのメソッドなどは引き継がれているから無意味だと思うのですが。

(極端なサンプルソース)
 Object o1;
 Test t1 = new Test();

 o1 = t1;  //←ここ
0780デフォルトの名無しさん2010/05/17(月) 20:11:39
>>773
メソッドの追加やスケール、MathContext(制度、丸めモード)の設定を修正できるようにするためでない?
現状、スケールがint型で、内部はString[]で処理しているからなああれ。

>>774
それやるならNumber型限定で。
行列やベクトルなどに対しても同じことできればいいけど標準APIには
いまのところMatrix型がないからな。
2つのdouble[]型で同じインデックスどうしの要素どうし加減乗除できる演算子もあれば便利かもしれないが
0781デフォルトの名無しさん2010/05/17(月) 20:20:56
>>779
(極端なサンプルソース)
String hogehoge(Object o){
return o.toString();
}
とか、ポリモーフィズムが生きている。
0782デフォルトの名無しさん2010/05/17(月) 20:56:06
>>780
内部でString[]というのはどういうこと?
BigIntegerだからていは2でしょ?
0783デフォルトの名無しさん2010/05/17(月) 21:59:18
public class Parent {
 private String parentId;

 @Override
 public String toString() {
  // 文字列化
 }
}

public class Child extends Parent {
 private String childId;
}

class Child extends Parentの関係があるとして、
ParentでtoString()をオーバーライドして、フィールド情報を出力したいと思っています。
実際に扱われるのはChildの方なのですが、ChildをtoString()してもParentの情報が出せなくて困っています。

ソース上は、オーバーライドしているParent#toString()にて
getClass().getDeclaredFields()でフィールド一覧を取得して、
ApacheのBeanUtilのPropertyUtilを使用して文字列を出力しています。

ですが、APIを読むとClass#getDeclaredFieldsもgetFieldsも継承元のフィールド情報は取ってくれないみたいです。
上記の例ですとchildIdは出力できるのですが、parentIdが取れないということです。

こうした場合、どのような手法を使って実現するのがいいのでしょうか?
0784デフォルトの名無しさん2010/05/17(月) 22:00:48
>>783
super
0785デフォルトの名無しさん2010/05/17(月) 22:14:32
>>783
Class を引数にとってフィールド文字列を生成する static メソッドを別に作り、
Parent#toString() から Parent.class を明示的に指定して呼ぶ。

クラス構造の上から下まで遡りたい場合は Parent#toString() 内で
this.getClass() から順繰りにスーパークラス拾って実行。
0786デフォルトの名無しさん2010/05/17(月) 22:18:29
>>784
?
0787デフォルトの名無しさん2010/05/17(月) 22:24:28
>>786
Childを継承したサブクラスができたら死ぬしかないってことだろ
言わせんな恥ずかしい
0788デフォルトの名無しさん2010/05/17(月) 22:27:49
意味不明だし、どう見てもよく読まずに 「super.toString() 呼べ」 って言ってるようにしか見えない。
本当の意味で恥ずかしい。
0789デフォルトの名無しさん2010/05/17(月) 22:34:34
javaをインストールしようとすると(選択した機能は現在使用できないネットワークリソースにあります。)
とかでてokおしても先に進まないんですけどどうしたらインストールでかこますか?
下に代替パスがなんちゃらとかもでてますがさっぱりです
0790デフォルトの名無しさん2010/05/17(月) 22:42:34
ジャバなんかよりも Microsoft .Net 戦略とその具体化 C# に素直に従った方が断然いいですよ。
0791デフォルトの名無しさん2010/05/17(月) 22:54:52
>>789
ファイル壊れてんじゃね? もっかいダウンロードしてみたら?
07927832010/05/17(月) 23:05:16
ごめんなさい
0793デフォルトの名無しさん2010/05/17(月) 23:05:42
何回もダウンロードして古いバージョンもダウンロードしてインストールしましたけど同じくでした
0794デフォルトの名無しさん2010/05/17(月) 23:10:07
あなたを救ってくれるのはもう Microsoft しかないですね。
0795デフォルトの名無しさん2010/05/17(月) 23:16:29
>>789
たぶん自分と症状だな
おそらくWindowsフォルダのどこかにあるmsiファイル消したんだと思う
Javaじゃなくてインストーラー全般の問題だと思う
07967512010/05/17(月) 23:22:02
>>755
妙な質問をして申し訳ありませんでした。
↓これで希望どうりの動作をしました。

String[] strList = new String[5];
strList[0] = "str0";
strList[1] = "str1";
strList[2] = "str2";
strList[3] = "str3";
strList[4] = "str4";

for (String str : strList) {
 System.out.println(str);
}


>>753
>for(String str : hoge)とジェネリックスはベツモノだから言ってる意味がわからないがArrayList使えばいいんじゃね?

ジェネリクスはArrayListみたいな可変配列の要素に特定のクラスを格納することを強制することが出来る。
だから、ループで回すときにキャストが不要になる。

「for(String str : hoge)とジェネリックスはベツモノ」
つまり、配列の個数はジェネリクスとは関係なく取得できるから、ループの回数とジェネリクスは直接的な関係はない、
ということであっているでしょうか?
0797デフォルトの名無しさん2010/05/17(月) 23:27:28
>>795
ほかのソフトはインストールできたんですけど、どうやったら直せますか?
0798デフォルトの名無しさん2010/05/17(月) 23:30:20
>>797
msiの話ならさすがにスレチ
ggれば死ぬほど情報出てくる
0799デフォルトの名無しさん2010/05/17(月) 23:31:44
まあ、 Microsoft とったら Excel ですからね。しようがないですよ。
0800デフォルトの名無しさん2010/05/17(月) 23:42:20
>>798
他のソフトはインストールできるんですけどこれはmsiってやつが問題じゃなさそうなんですが
0801デフォルトの名無しさん2010/05/17(月) 23:43:23
スレタイを読み直すか、JExcelApiの話に移ってもらおうか
0802デフォルトの名無しさん2010/05/17(月) 23:46:32
           __
        , ‐' ´   ``‐、             / ̄:三}
.     /,. -─‐- 、.   ヽ        /   ,.=j
 _,.:_'______ヽ、 .!       ./   _,ノ
  `‐、{ へ  '゙⌒ `!~ヽ. !     /{.  /
    `! し゚  ( ゚j `v‐冫   , '::::::::ヽ、/     そんなモノよりPOIにしようぜ!
.    {.l   '⌒      ゙ 6',!   / :::::::::::::::/ __
.     〈  < ´ ̄,フ  .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
.      ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠.   ヽ_}  ゙ヽ
        ,.r` "´  /:::::::::::::::::::ィ´  `ゝ  !、  /
     /       / :::::::::::::::: ; '´   /´\ /   r'\
.     i      ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
     {      {:::::::::::;:イ /   ‖i:::::::/:::::::::::::/  \
.      ヽ       ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /
0803デフォルトの名無しさん2010/05/17(月) 23:57:27
POIとかジャカルタとか定番ライブラリの簡単な使い方のHPないですか?
仕事でよく使ってるとか自分が得意なライブラリとかで、チップ・メモ程度のところじゃなくてもう少し体系だってまとめてるところです。
wikiは解説をするようなサイトとじゃないし、ジャバのようなライブラリ指向だと正直多すぎて多くてよく分からんとです・・・
0804デフォルトの名無しさん2010/05/18(火) 00:05:36
>>803
POIは知らんけど、commonsはhttp://jakarta.jp/commons/とjavadocで不満?
javadocにサンプルソースも乗ってるしね
0805デフォルトの名無しさん2010/05/18(火) 00:12:37
java media framework とか使い方を紹介したサイトがなかったからまったく流行らなかったよな。
javafxなんかもその二の舞なんだろうか。
0806デフォルトの名無しさん2010/05/18(火) 00:21:31
JavaFX なんて既に勝てる見込みなし。やる気もなし。
0807デフォルトの名無しさん2010/05/18(火) 00:26:21
勝負の土俵にすら上がれてない
0808デフォルトの名無しさん2010/05/18(火) 00:46:03
どうしてだろう・・・
0809デフォルトの名無しさん2010/05/18(火) 01:43:00
>>806,807
そうなんですか。
やっぱりマイクロソフトとアドビに従順に従っていたほうが幸せになれるんですね。
ならジャバなんか入門本なんかを何冊も読んで無理してやらなくてもいいんじゃないかな・・・?
0810デフォルトの名無しさん2010/05/18(火) 03:10:33
>>795
結局どうやって直したんですか?
0811デフォルトの名無しさん2010/05/18(火) 03:32:40
>>810
ググレカスと言わざるを得ない。
0812デフォルトの名無しさん2010/05/18(火) 03:33:47
ggrks
0813デフォルトの名無しさん2010/05/18(火) 04:05:09
確かにククレカレーは美味しい
0814デフォルトの名無しさん2010/05/18(火) 04:34:58
なんだ
>>780は知ったかだったのかw
0815デフォルトの名無しさん2010/05/18(火) 12:31:52
>>800
msi に問題が無くて良かったね。インストールおめでとう。
0816デフォルトの名無しさん2010/05/18(火) 12:36:52
>>782
すまんが間違えた。
内部ではint[]で保持していた。
0817デフォルトの名無しさん2010/05/18(火) 14:13:00
>>789
>>795
>>797-798
>>800
昔似たような経験をしたことがある。
msiファイルを消したのではなく、msiファイルを使った他のインストーラーによる
インストールを中途半端に終わらせたときに発生する。
他のインストーラーのインストールが途中なら、もう一度それを実行して完全に終わらせるか
完全にキャンセルさせるかインストーラーメニューから出る修復、サインインストールを実行する。
するとうまくいった。

>>802
POIといっても通じない可能性があるぞ。ポイ捨てと勘違いされるんじゃないのか?
http://poi.apache.org/
Apache POI
http://ja.wikipedia.org/wiki/Apache_POI
POIという名称は、Microsoft Officeのファイル形式をリバースエンジニアリングした際、その形式が意図的に、
しかも中途半端に分かりにくくされていたため、

皮肉を込めて "Poor Obfuscation Implementation" (中途半端に曖昧な実装) と呼んだものの頭字語に端を発している。

このようにユーモラスな正式名称を当てはめる方法はかつていろいろなサブプロジェクトに見られたが、
ユーモアを不適切と捉えるビジネス界への進出を意識し、公式ウェブページからは削除されている。

もうひとつの由来は、ハワイの珍味Poiから来た。
ハワイ人がこれを食べ続けると巨人になるとも言われている。
0818デフォルトの名無しさん2010/05/18(火) 14:27:12
>>803
おい、まずHPという言葉を使うのやめろ。HPといえばヒューレット・パッカードのことだ。
それにウェブサイトのことをホームページとかHPと呼ぶな。

それにWikipediaとWikiを一緒にするな。Wikipediaは解説をするようなサイトではないが
Wikipediaの姉妹プロジェクトWikibooksは解説をするようなサイトだ。
他にも、同じWikipediaの創設者ジミー・ウェールズが作ったWikiaという、
そこいらにある@Wikiやwikiwikiやwikihouseに類似したサービスがある。そこにApacheのWikiがあればそれを閲覧、
それがなければWikiaの英語版を探す、それでもなければWikiaに新しいApache Wikiを作る。
というくらいのことをしろ。


そもそもApacheにはすでにWikiが用意されているわけだが。
http://wiki.apache.org/
0819デフォルトの名無しさん2010/05/18(火) 15:09:57
Javapediaも
http://wiki.java.net/bin/view/Javapedia/
0820デフォルトの名無しさん2010/05/18(火) 15:11:44
>>809
はたしてそれはどうかな。
それらの主張はアンチによる意見。
このスレにはいまだにM$を崇拝しC#を押し付けるアンチが常駐していることをお忘れなく。
0821デフォルトの名無しさん2010/05/18(火) 17:49:31
>>818
おまえさ、周りから嫌われてるだろ?w
0822デフォルトの名無しさん2010/05/18(火) 17:55:13
雑学だけは人一倍ガンバッテマスから
0823デフォルトの名無しさん2010/05/18(火) 18:44:07
>>809
あれ嫌いこれ無理なんて言ってるのは素質が無い(プログラマ向いてない)人
比較的良く使われている言語については最低入門レベル程度まで勉強した方がいい
一つの言語に偏ったら転職したりプロジェクト変わったりすると慌てる事になるよ
0824デフォルトの名無しさん2010/05/18(火) 18:49:01
>>818みたいな人にはまだまだ頑張ってWikipediaをWikiと略す厨房を叩いてほしい
0825デフォルトの名無しさん2010/05/18(火) 18:59:45
雑学だけじゃなくてIT知識だって人一倍ガンバッテマスよ
0826デフォルトの名無しさん2010/05/18(火) 19:15:43
>>820
そんなに意地張ったりしないでそろそろマイクロソフトに降伏したらどうですか?
javafxなんかよりもアドビの方が断然いいんですよね・・・
0827デフォルトの名無しさん2010/05/18(火) 19:28:59
>>817
他のソフトがインストール途中ってそれどうやったら確認できます?
0828デフォルトの名無しさん2010/05/18(火) 19:33:28
簡単に確認できるよ。
0829デフォルトの名無しさん2010/05/18(火) 20:19:39
>>821
嫌われたら嫌い返せばよい
それだけのことだ
バカの発言を恐れたらそれで終わり
0830デフォルトの名無しさん2010/05/18(火) 20:21:02
>>824
叩くのではない
間違いを正すのだ

>>813は明らかにwikiとwikipediaに対するミスリードを行っていた。
0831デフォルトの名無しさん2010/05/18(火) 20:22:16
>>826
お前は数年前に死滅スレで暴れていたMS厨房の餓鬼みたいだな

Adobeなんかほとんど使わないだろ
個人で買う奴もそうそういない
芸術家やデザイナーでもなきゃ誰も買わない
大規模開発には不向き
0832デフォルトの名無しさん2010/05/18(火) 20:23:00
>>827
なんでもいいからmsiをダブルクリック
するとメッセージがでる
そのメッセージをよめばわかる
0833デフォルトの名無しさん2010/05/18(火) 20:55:58
>>832
すいません
どこにあるの?
0834デフォルトの名無しさん2010/05/18(火) 21:06:20
http://imepita.jp/20100518/756440
ちなみにこんな画面がでて進みません
0835デフォルトの名無しさん2010/05/18(火) 21:14:42
>>818
顔真っ赤にして何やってんの?w
おまえ真性馬鹿だろ(笑)
0836デフォルトの名無しさん2010/05/18(火) 21:35:45
>>834
選択した機能は現在使用できないネットワークリソースにあります - Google 検索
http://bit.ly/dtuJ5v
0837デフォルトの名無しさん2010/05/18(火) 22:28:58
>>818
バカ乙
0838デフォルトの名無しさん2010/05/18(火) 22:30:15
サンクスです
やっぱり解決方がみつかりません
同じ症状になって解決した人がいたらアドバイスください
08397832010/05/18(火) 22:30:29
以下の方法で可能でした、ありがとうございました。

// 継承元の情報も出力する
Class<?> clazz = this.getClass().getSuperclass();
while (true) {
  if (Object.class == clazz) break;
  Field[] fields_ = clazz.getDeclaredFields();
  for (int i = 0; i < fields.length; i++) {
    if (fields.length > 0) buf.append(", ");
    String fieldName = fields_[i].getName();
    buf.append(fieldName).append("=");
    try {
      buf.append(PropertyUtils.getSimpleProperty(this, fieldName).toString());
    } catch (IllegalAccessException e) {
      buf.append("IllegalAccessException !!");
    } catch (InvocationTargetException e) {
      buf.append("InvocationTargetException !!");
    } catch (NoSuchMethodException e) {
      buf.append("NoSuchMethodException !!");
    } catch (NullPointerException e) {
      buf.append("null");
    }
  }
  clazz = clazz.getSuperclass();
}
0840デフォルトの名無しさん2010/05/18(火) 22:50:48
>>818
おい、まずHPという言葉を使うのやめろ。HPといえばホームページのことだ。
それにヒューレットパッカードのことをHPと呼ぶな。
0841デフォルトの名無しさん2010/05/18(火) 22:53:33
全くだ
HPじゃなくてhpだしな
0842デフォルトの名無しさん2010/05/18(火) 23:01:54
>>841
あ〜
雑学君だったから黙ってたのに・・・
それ言っちゃ駄目だよ
08437832010/05/18(火) 23:03:07
誤 if (fields.length > 0) buf.append(", ");
正 if (i > 0) buf.append(", ");

完成した部分から切り取ってきたので、もしかしたら他にもおかしな箇所があるかもしれませんが・・・
アイディアを下さった>>785、他、ありがとうございました。
0844デフォルトの名無しさん2010/05/18(火) 23:07:11
          ____   
       / \    /\  キリッ
     / (ー)  (ー)\      
     /   ⌒(__人__)⌒ \  
    |      |r┬-|    |  ウェッブサイトのことをホームページとかHPと呼ぶな
     \     `ー'´   /
    ノ            \
  /´               ヽ              
 |    l             \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))



          ____
        /_ノ  ヽ、_ \
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //    だっておwwwwwwwww
| :::::::::::(⌒)    | |  |   /  ゝ:::::::::::/
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /     バ
 |    |   l||l 从人 l||l      l||l 从人 l||l  バ   ン
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、    ン
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0845デフォルトの名無しさん2010/05/18(火) 23:11:49
jmfはsunのページで十分。
あれだけ詳しく書いてあるのにほかに何が必要なのか
0846デフォルトの名無しさん2010/05/18(火) 23:16:54
>>835
0847デフォルトの名無しさん2010/05/18(火) 23:49:15
> WikipediaとWikiを一緒にするな
携帯電話を「携帯」と略さない人だけが許される主張だね
0848デフォルトの名無しさん2010/05/18(火) 23:55:50
JavascriptをJavaと略す人は許されますか!?!?!?!?!?
0849デフォルトの名無しさん2010/05/19(水) 00:00:17
>>831
私は芸術家じゃありませんけどコカコーラをよく買います
0850デフォルトの名無しさん2010/05/19(水) 00:22:11
このプログラムがなぜ
System.out.println(j.getValue());
で 5 ではなく 4 が出力されるのか理解できません、どなたかお願いします

class ArgTest2 {
void run() {
int i = 1;
myInt j = new myInt(2);
iMod(i);
jMod(j);
System.out.println(i);
System.out.println(j.getValue());
}
void iMod(int val) { val = 3;}
void jMod(myInt val) {
val.setValue(4);
val = new myInt(5);
}
public static void main(String[] args) {
ArgTest2 app = new ArgTest2();
app.run();
}
}

class myInt {
private int i;
myInt(int val) {i = val;}
void setValue(int val) {i = val;}
int getValue() {return i;}
}
0851デフォルトの名無しさん2010/05/19(水) 00:29:12
>>850
4をsetValしたから
0852デフォルトの名無しさん2010/05/19(水) 00:36:49
>>851
ちゃんとおしえてやれよww

>>850
簡単にいうと参照を値渡ししてるから4になるんだ。
0853デフォルトの名無しさん2010/05/19(水) 00:37:50
パラメータで渡されたオブジェクト型は、
渡し先でnewなどをして参照先を切り替えると、
呼び出し元では切り替えたはずの参照先は取得できず、
古い情報への参照を保持し続ける。

>>851
それじゃ足りてねえだろww
08548522010/05/19(水) 00:53:26
そう?参照を値渡ししてるって情報だけで十分だと思うけど。
たしかに、>>853の説明は丁寧だとは思うよ。

引数としてもらった参照に、別の参照を(←newしたもの)代入している。
そしたら元々引数としてもらった参照の先の変数は変化しない。
って理屈だから、足りてないという認識はないなぁ。
0855デフォルトの名無しさん2010/05/19(水) 01:04:01
5が出るはずなのに4が出る
├ >>851 そりゃ4をセットしたからだ ← 4が出る原因のみを提示
├ >>852 値が参照渡しだからだよ ← 原因の概要を提示
├ >>853 5が出ると思っている原因を推測 ← 原因の具体箇所を提示
└ >>854 騙り
0856デフォルトの名無しさん2010/05/19(水) 01:05:57
>>851-854
なるほど、恥ずかしながら初めて知りました
みなさんご丁寧にありがとう!
0857デフォルトの名無しさん2010/05/19(水) 01:07:10
>>855さんもサンキュー!!
0858デフォルトの名無しさん2010/05/19(水) 01:07:10
>>844
0859デフォルトの名無しさん2010/05/19(水) 10:02:48
HP=ヒューレット・パッカードであって読む方はまず最初はホームページとは読まない
Wiki=ウィキであってウィキペディアでは無い
あながち間違ってないと思うおw ちゃんと社会に出て働いていればの話だけどw
0860デフォルトの名無しさん2010/05/19(水) 10:06:42
社会に出てれば両方の可能性を考えて文脈からどちらか判断する。
それができないならよほどコミュニケーション能力に欠けてる。
0861デフォルトの名無しさん2010/05/19(水) 10:49:51
ただドキュメントにHPなんて書いたら修正させるけどね
0862デフォルトの名無しさん2010/05/19(水) 11:11:33
【コラム】定時の2時間以上も前に出社する『早起き社員』が増加…追い込まれるギリギリ社員 [05/17]
http://anchorage.2ch.net/test/read.cgi/bizplus/1274074988/
0863デフォルトの名無しさん2010/05/19(水) 11:25:39
グラマースレでどうぞ。
0864デフォルトの名無しさん2010/05/19(水) 11:43:45
芸術家乙
0865デフォルトの名無しさん2010/05/19(水) 18:10:37
>>835 >>837 >>840 >>844
お前>>803本人か?
図星か
一連の流れをみるとお前のほうが顔真っ赤にしてるように見えるんだが


>>841
hpはヒューレット・パッカードのロゴ。「HP」と書いて解説している書籍やサイトも
いくらか存在するわけだが


>>847
それは誤解をうけなければ問題ないんだが。
>>803の言い方は明らかに誤解を招くもの。
バカが読めばウェブサイトのことをホームページとかHPと書いても
かまわないと思い込み、Wikipediaのことを他のWikiとの区別も意識せず
Wikiと読んでもかまわないと思い込む。
バカが第二のバカ、第三のバカを量産する。

こういうときは、これ以上誤解やこじれを減らすためにできるかぎり早めに指摘しておくべきことだ。
間違った言葉が当たり前のように使われる前にな。

>>860
この場合、質問者としてコミュニケーション能力に欠けているのは>>803のほうだな。
クラッカーやコンピューター犯罪者のことをハッカー同一視する無礼な輩や
ハンドルのことをハンドルネームとかHNとほざく輩のように相手に不快感を与えている。
0866デフォルトの名無しさん2010/05/19(水) 18:12:52
アフォウヨが出たぞー
0867840のみ2010/05/19(水) 18:24:22
>>865
ハズレ
hp・HPの違いは気付たので840に入れなかった

>>803の言いたいことはwiki・wikipedia・blog・ホームページだろうがどうでもいい
Apache POIとcommonsが体系だってまとめてあればいいこと blogじゃあ難しいだろうけどね
0868デフォルトの名無しさん2010/05/19(水) 18:27:53
>>866
いいからお前は巣に帰れ
で、その「アフォウヨ」って何だ?
朝鮮語か?
0869デフォルトの名無しさん2010/05/19(水) 18:29:04
>>867
日本語しゃべれ
0870デフォルトの名無しさん2010/05/19(水) 18:33:26
こういうやつじゃね?
ある人物がネットで民主党を批判したら>>866みたいなバカが
ネトウヨのレッテルを張った。

ところが、まさかの朝日新聞がそのある人物とまったく同じ主張で民主党を批判した。
「朝日新聞はネトウヨ」

そして、ネトウヨ連呼厨の論理的矛盾から次々と「〜はネトウヨ」というパターンがいくつも生まれていった。
「Javaプログラマーはネトウヨ」
「オバマはネトウヨ」
「TBSはネトウヨ」
「共産党はネトウヨ」
「中国はネトウヨ」

それをこう置き換えたというやつじゃね?

「朝日新聞はアフォウヨ」
「Javaプログラマーはアフォウヨ」
「オバマはアフォウヨ」
「TBSはアフォウヨ」
「共産党はアフォウヨ」
「中国はアフォウヨ」
0871デフォルトの名無しさん2010/05/19(水) 18:34:06
何だこの臭ぇ奴。
0872デフォルトの名無しさん2010/05/19(水) 18:40:46
ここはどこ?
0873デフォルトの名無しさん2010/05/19(水) 18:55:07
Javaの質問スレッドじゃないことだけは確か。
0874デフォルトの名無しさん2010/05/19(水) 19:33:01
反論できなくなるとこうなるのか
支那キムチは
0875デフォルトの名無しさん2010/05/19(水) 21:11:15
おまいが来てると必ずこういう展開だな。
0876デフォルトの名無しさん2010/05/19(水) 21:13:48
海外のプログラマの質って日本と比べてどうなんだろうな
0877デフォルトの名無しさん2010/05/19(水) 21:42:41
プログラマ板で語れ

だが中韓の評判で良い話は聞いたことが無い
0878デフォルトの名無しさん2010/05/19(水) 21:44:02
お前が特亜に行けよ池沼
0879デフォルトの名無しさん2010/05/19(水) 21:52:04
サーブレットの入門書で良いものありますか
0880デフォルトの名無しさん2010/05/19(水) 21:53:54
>>879
10日でおぼえる JSP/サーブレット入門教室
0881デフォルトの名無しさん2010/05/19(水) 22:50:48
>>880
勉強になりました。ありがとうございます
0882デフォルトの名無しさん2010/05/19(水) 23:30:02
君はジャバに向いてないだろうな
0883デフォルトの名無しさん2010/05/19(水) 23:31:32
それはおまえが決める事じゃないな
0884デフォルトの名無しさん2010/05/19(水) 23:33:48
>>818
          ____   
       / \    /\  キリッ
     / (ー)  (ー)\      
     /   ⌒(__人__)⌒ \  
    |      |r┬-|    |  ウェッブサイトのことをホームページとかHPと呼ぶな
     \     `ー'´   /
    ノ            \
  /´               ヽ              
 |    l             \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0885デフォルトの名無しさん2010/05/19(水) 23:37:49
>>865
キーボードクラッシャーの動画をジャバで見たいのですがどこにありますんでしょうか?
0886デフォルトの名無しさん2010/05/19(水) 23:54:46
Javaで見てどうすんだ
0887デフォルトの名無しさん2010/05/19(水) 23:55:28
>>878
むしろお前が逝けよ池沼
0888デフォルトの名無しさん2010/05/20(木) 08:29:41
Hashmap は初期化時にまとめてkeyとvalueを設定できないのでしょうか?

リファレンスを見る限りみつかりませんでしたが、
もし一気に追加するうまい方法があれば教えて頂けないでしょうか?
http://www.ea.u-tokai.ac.jp/~sakata/jdk6/docs/ja/api/java/util/HashMap.html
0889デフォルトの名無しさん2010/05/20(木) 08:36:01
>>888
初期の確保領域なら指定できる。
あとはaddAllするしかない。
0890デフォルトの名無しさん2010/05/20(木) 08:53:09
>>889
ありがとうございます。 addAll の使い方を調べてみます。
0891デフォルトの名無しさん2010/05/20(木) 10:11:42
SwingGUIでメインのフレームとは別に設定画面的なダイアログ出すとして
ダイアログに設定対象のオブジェクトを丸投げして叩いてもらうのか、
設定終了ボタンかなんか押されたときに設定されたデータを回収して
設定対象のほうで処理するのか、とか悩んでいるんですけど何か定石ありますか
0892デフォルトの名無しさん2010/05/20(木) 10:20:58
EJB3の勉強中なんですが、webアプリでいうところのアプリケーションコンテクストに当たるものはあるのでしょうか。
また、あった場合はどうやってパラメータ設定等を行うのでしょうか。

EJB用ののweb.xmlみたいな存在があるのか気になってます。
0893デフォルトの名無しさん2010/05/20(木) 13:17:17
>>891
定石はない。俺はダイアログにオブジェクトの設定を任せる作りが多いが。
0894デフォルトの名無しさん2010/05/20(木) 17:04:26
>>893
設定を保存する可能性を考えると、設定データをまとめたクラス
のほうがいいのかなとかは考えたりしましたけど、必要がなさそうなら
多少気を使うことになっても丸投げのほうが簡単そうですね……。

ありがとうございました。
0895デフォルトの名無しさん2010/05/20(木) 21:45:37
x64で安定して使えるgdi++亜種gdipp
気が向いたらどうぞ
http://pc12.2ch.net/test/read.cgi/win/1259598381/734
0896デフォルトの名無しさん2010/05/20(木) 21:49:26
>>892
JNDI
0897デフォルトの名無しさん2010/05/20(木) 22:55:48
>>892
JNDIがありますよ
0898デフォルトの名無しさん2010/05/20(木) 23:54:27
>>892
JNDI はどうよ
0899デフォルトの名無しさん2010/05/21(金) 03:32:59
>>818
          ____   
       / \    /\  キリッ
     / (ー)  (ー)\      
     /   ⌒(__人__)⌒ \  
    |      |r┬-|    |  ウェッブサイトのことをホームページとかHPと呼ぶな
     \     `ー'´   /
    ノ            \
  /´               ヽ              
 |    l             \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0900デフォルトの名無しさん2010/05/21(金) 05:34:44
>>803はまだ粘着しているのか

>>891
Coleagueパターン、Mediatorパターン
0901デフォルトの名無しさん2010/05/21(金) 07:18:39
892です。

JNDIはコンテクストとは別物な感じがするのですが…
やりたいことはふたつあって、
ひとつはEJBへのアクセスに対してfilterを適用したいのです。
もう一つはEJBからさらに別のEJBをjava:comp/env名で呼ぶ時に、
web.xmlの<ejb-ref>にあたる情報をどこに書くのか知りたいのです。

引き続きよろしくお願いいたします。
0902>>8912010/05/21(金) 08:51:15
>>900
Mediatorパターン理解してきました。
種々の対象に対して一手に設定を加えられるようですね。
気を使う箇所がひとつで済むのもとても救いになりそうです。

とても参考になりました。ありがとうございました
0903デフォルトの名無しさん2010/05/21(金) 18:33:24
Integer[] i = new Integer[2]
i[0] = new Integer(1);

object[] array = i;
array[1] = "Hello"

上記のようにInteger型の配列をObject型の配列にキャストして
Object配列にStringオブジェクトを追加しようとすると実行時エラーが発生して追加できません。
オブジェクト型にキャストしてるのになぜ追加できないのでしょうか?
0904デフォルトの名無しさん2010/05/21(金) 18:37:49
arrayの本当の型がInteger[]だから
0905デフォルトの名無しさん2010/05/21(金) 18:37:54
arrayが指している配列の実体はInteger[2]のままだから
0906デフォルトの名無しさん2010/05/21(金) 21:47:57
>>901
ejb-jar.xmlにejb-refを追加
0907デフォルトの名無しさん2010/05/22(土) 00:14:06
j2eeのソースをみたいのですが、sunのサイトからダウンロードすると
SDK一式インストールさせられるみたいなので止めました。
ttp://kickjava.com/src/javax.index.htm
ここは見づらいのですが、簡単にj2eeのソースを見られるところはないでしょうか
0908デフォルトの名無しさん2010/05/22(土) 02:23:06
j2eeって何だ? J2EEなら知ってるが
0909デフォルトの名無しさん2010/05/22(土) 02:37:39
アホだこいつwww
0910デフォルトの名無しさん2010/05/22(土) 03:15:26
>>818
          ____   
       / \    /\  キリッ
     / (ー)  (ー)\      
       /   ⌒(__人__)⌒ \  
    |      |r┬-|    |  ウェッブサイトのことをホームページとかHPと呼ぶな
     \     `ー'´   /
    ノ            \
  /´               ヽ              
 |    l             \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0911デフォルトの名無しさん2010/05/22(土) 08:29:11
構成についてアドバイスをお願いします。

■現状
現在個人で、Webから情報を収集し、それを解析してWebで公開する
プログラムを組んでいます。言語は、VB.netでIDEはVisualStodio、DBはSQL SERVERです。

■相談内容
当初の予定では、静的ページのみにする予定でしたが、色々と欲張った結果
動的ぺージも利用することにしました。IDEはVisualStodioですのでIISを利用しようかと
思ったのですが、いかんせんOSの制限で厳しそうなので

Eclipse+ApacheTOMCATでの開発を考えております。
機器構成はPC2台でAP+DBサーバとWEBサーバを考えています。

VB.net+SQL SERVER+JSP+Apacheという組み合わせに気持ち悪さ全開なのですが
もうちょっとベストな方法はありませんでしょうか?

■要望
�@VB.net+SQL SERVERはかなりの工数を割いて愛着もあるので変更したくありません。
�A動的ページの利用方法は、自サイト内のアクセス解析からランキングリンクを表示したり
 新着を表示する予定です。


0912デフォルトの名無しさん2010/05/22(土) 08:56:21
PHPがいいよ。そのうちIISにも乗るし
0913デフォルトの名無しさん2010/05/22(土) 09:08:01
ASP 使えよ。
09149032010/05/22(土) 09:45:12
>>904-905
レスありがとうございます。

とうことは
配列では、本来の型の配列を別の型でキャストした場合、別の型の値は代入できないってことなのでしょうか?
0915デフォルトの名無しさん2010/05/22(土) 09:47:48
Object[] にキャストしてみたところで実体は Integer[] のまま。
代入できません。
0916デフォルトの名無しさん2010/05/22(土) 09:58:51
VB.net + PostgreSQL + linux(apache+php)がいいよ。
0917デフォルトの名無しさん2010/05/22(土) 10:29:14
>>916
DBをPostgresSQLにリプレースすることにします。
WebサーバはCentOSにしときます。
動的ページはphp書いたことないので、やっぱりJSPでいくことにします。

■構成
�@APサーバ
WindowsXP Pro+VB.net+PostgresSQL

�AWebサーバ
CentOS+ApacheTomcat+JSP

■参照URL
http://itpro.nikkeibp.co.jp/article/NEWS/20070624/275673/?SS=imgview&FD=-309525945&ST=oss
http://itpro.nikkeibp.co.jp/article/NEWS/20070624/275673/?SS=imgview&FD=1730598997&ST=oss
http://q.hatena.ne.jp/1138334611

アドバイスありがとうございました。
0918デフォルトの名無しさん2010/05/22(土) 10:36:21
>>907
なんでいまどきJ2EEなんだ
Java EEならわかるが
0919デフォルトの名無しさん2010/05/22(土) 10:37:30
どっちでも良いんじゃねぇの。
0920デフォルトの名無しさん2010/05/22(土) 10:44:39
>>908
0921デフォルトの名無しさん2010/05/22(土) 12:48:19
ファイルのクローズ処理のことで質問です。
ファイルから文字を読みこむ処理をしたく、次のプログラムを書きました。

//入力ストリームと入力リーダ
FileInputStream fis;
InputStreamReader isr;
BufferedReader br;

try{
   fis = new FileInputStream(file_name);
   isr = new InputStreamReader(fis);
   br = new BufferedReader(isr);
   ・
   ・
}//try
catch (Exception e) {
   System.out.println(e);
}
finally{
   //ストリームとリーダのクローズ
   fis.close();
   isr.close();
   br.close();

   //異常終了
   System.exit(1);
}

この場合fisの生成時に例外が発生した場合、isrとbrは生成してないから
closeする時にまた例外が発生してしまうのでしょうか?
何かいい書き方があれば教えてください。
0922デフォルトの名無しさん2010/05/22(土) 13:01:14
>>916
普通はLAMPかLAPPをすすめるものだと思うんだけどな
0923デフォルトの名無しさん2010/05/22(土) 13:09:54
>>921
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
・・・
if (fis != null) fis.close();
if (istr != null) isr.close();
if (br != null) br.close()

とでもすれば

それにしても Java の close() って IOException 投げるのが糞仕様だな;
0924デフォルトの名無しさん2010/05/22(土) 13:13:34
>>922
すすめてるように見えるけど
0925デフォルトの名無しさん2010/05/22(土) 13:30:42
>>923
レスありがとう。
あぁそっか。それでいいですね。
開いてないファイル閉じようとしてたら例外投げないとダメってことじゃないですかね。私は自然だと思いましたけど
0926デフォルトの名無しさん2010/05/22(土) 15:27:23
口を閉じてろって言われて、喋ってなんかいませんなんて回答したりしたら
それは相手を小馬鹿にしていると、一般的な解釈では思われるぞ。
0927デフォルトの名無しさん2010/05/22(土) 15:34:16
>>919
0928デフォルトの名無しさん2010/05/22(土) 15:53:51
>>916
LAPPをすすめるならVB.NETを進めないでPHPをすすめるだろ

これじゃLAPVだ
0929デフォルトの名無しさん2010/05/22(土) 16:43:38
>>928
PHPすすめてるやん
VBはデータを収集するツールだろ。それは変えたくないって
いってるやん
なんなのいったい。
0930デフォルトの名無しさん2010/05/22(土) 17:36:41
変なところにphpの文字が

+両端に空白がないから見落とした
0931デフォルトの名無しさん2010/05/22(土) 17:57:48
眼科行け
0932デフォルトの名無しさん2010/05/22(土) 21:05:46
もう次スレだね
まともな書込みと病気っぽい書込みが5:5ぐらいになってきたね
0933デフォルトの名無しさん2010/05/22(土) 22:06:52
>>932
病的書き込み厨乙
0934デフォルトの名無しさん2010/05/22(土) 22:16:01
アフォキティが常駐してからだろ。
0935デフォルトの名無しさん2010/05/23(日) 00:33:00
>>934
こんなスレにまで工作活動のために出張しにきたアフォチョン乙
0936デフォルトの名無しさん2010/05/23(日) 00:34:35
>>935
ふざけんな。俺の方がアホだぞ。
0937デフォルトの名無しさん2010/05/23(日) 00:35:50
簡単にあぶり出されてほんと分かりやすいねぇこのバカウヨ。
0938デフォルトの名無しさん2010/05/23(日) 00:37:58
マ板でやれ。
何度も言わせんな。
0939デフォルトの名無しさん2010/05/23(日) 00:43:01
気をつけろ友愛されるぞ。
0940デフォルトの名無しさん2010/05/23(日) 00:44:13
ウヨかサヨかは知らんが質問の趣旨から外れた力説始めて
gdgdにするバカは常駐してるな。
0941デフォルトの名無しさん2010/05/23(日) 02:07:42
おまえらMetaTrader4やってみろよ
http://www.odls.co.jp/mt4/index.html
プログラミングできるトレーディングツールで
JAVA経験者なら言語的に苦はないと思うぞ
相場用語が多々あって覚えなきゃならんことも多いが
新しいフレームワークやライブラリを勉強し続けてるおまえらなら大丈夫だよ
ドキュメントとしては
http://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html
ITドカタで身に着けたプログラミング力をカネにできるぞ
0942デフォルトの名無しさん2010/05/23(日) 08:17:23
JDBC関連の質問です。
以下のように複数のSELECT文を実行してそれぞれの結果セットを取得することはできますか?

Stamement s = ...;
s.execute(Select文1);
s.execute(Select文2);
s.execute(Select文3);
ResultSet rs1 = s.getResultSet();
ResultSet rs2 = s.getResultSet();
ResultSet rs3 = s.getResultSet();
0943デフォルトの名無しさん2010/05/23(日) 08:36:29
>>942
できない
使えるSQLは1個だけ
0944デフォルトの名無しさん2010/05/23(日) 09:01:51
byte型の値はint型の変数に代入可能なのに
なぜbyte型の配列はint型の配列に代入できないのでしょうか?
0945デフォルトの名無しさん2010/05/23(日) 09:05:21
インタフェースの存在意義がわかりません。
メソッドも宣言だけで空っぽ・・・。
多態性とかいうのを実現していますよ!っとアピールするためにSUNが実装した機能ではないでしょうか?
0946デフォルトの名無しさん2010/05/23(日) 09:08:57
>>944
byte は 1 バイト。new byte[10] なら 10 バイトの配列。
int は 4 バイト。new int[10] なら 40 バイトの配列。
そもそも物理的に違うものだから代入はできません。

>>945
違います。存在意義が分からないうちは多態性は理解できてませんよ。
0947デフォルトの名無しさん2010/05/23(日) 09:53:54
多重継承を回避できるのが一番の導入理由じゃね
インタフェースはそれだけのものではないが
0948デフォルトの名無しさん2010/05/23(日) 10:31:20
>>946
はあ?
0949デフォルトの名無しさん2010/05/23(日) 10:44:26
>>945
「インタフェース 抽象クラス 違い」とかでぐぐったらいいかも。
俺それで理解したから。
0950デフォルトの名無しさん2010/05/23(日) 10:50:04
>>945
定数を大量に定義して、そこら中にImplementsする
嫌がらせに使える
0951デフォルトの名無しさん2010/05/23(日) 10:53:42
よっぽどそのネタ気に入ったのか。
0952デフォルトの名無しさん2010/05/23(日) 11:06:06
よっぽどそのネタ気に入ったのか。
0953デフォルトの名無しさん2010/05/23(日) 11:20:54
大量に定数を定義したインタフェース同士をextendsして
スーパークラスとサブクラスにそれぞれimplementsすると良いよ
0954デフォルトの名無しさん2010/05/23(日) 11:26:04
質問です。
今ArrayList使おうとして「import java.util.ArrayList;」と書いたら、
Eclipseに「インポートしたjava.util.ArrayListは見つかりません」と怒られちゃいました。
考えられる原因って何がありますかね・・?

JDKのバージョンは6です。一応再インストールしても変わりませんでした。
よろしくお願いします。
0955デフォルトの名無しさん2010/05/23(日) 12:09:33
>>944
配列の要素は、構成要素型と呼ぶ同じ型を持つ必要がある。
つまり、これは配列にとっての型に相当する。

プリミティブ型の配列に関して拡大縮小変換は言語として存在しない。
参照型の配列に関しての拡大縮小変換は構成要素型同士の拡大縮小変換の有無に従う。

Byte[] ba = new Byte[] { 1, 2, 3 };
byte[] pba = new byte[] { 1, 2, 3 };
Number[] na;

na = ba;
// 不可 Integer[] ia = na;
// 不可 na = pba;
0956デフォルトの名無しさん2010/05/23(日) 12:12:49
最近、いろいろすっとばし過ぎて意味不明になってる回答が多いが同一人物か?
0957デフォルトの名無しさん2010/05/23(日) 12:28:50
          ____   
       / \    /\  キリッ
        / (ー)  (ー)\      
     /   ⌒(__人__)⌒ \  
    |      |r┬-|    |  ウェッブサイトのことをホームページとかHPと呼ぶな
     \     `ー'´   /
    ノ            \
  /´               ヽ              
 |    l             \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))



          ____
        /_ノ  ヽ、_ \
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //    だっておwwwwwwwww
| :::::::::::(⌒)    | |  |   /  ゝ:::::::::::/
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /     バ
 |    |   l||l 从人 l||l      l||l 从人 l||l  バ   ン
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、    ン
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0958デフォルトの名無しさん2010/05/23(日) 12:58:53
>>956
うん。済まない、俺のことだな。
簡潔かつエレガントに回答出来ないから、言語規定からつぎはぎ超解釈回答。
いっそ突き放して
http://www.y-adagio.com/public/standards/tr_javalang2/arrays.doc.html
http://www.y-adagio.com/public/standards/tr_javalang2/conversions.doc.html
嫁。とでも言うほうがいいか。
09592862010/05/23(日) 13:31:12
Junitで戻り値がないようなメソッドってどうやってテストするんだ?
0960デフォルトの名無しさん2010/05/23(日) 13:34:55
>>958
なんでジャヴァなんかに関心を持ったんですか?
今も昔もマイクロソフトやアドビの方が業界をリードしてるわけだからジャヴァなんかよりそっちをマスターしたほうがいいじゃないですか。
09619542010/05/23(日) 13:36:42
ダメだ・・どうしても分かんない。
インポートするクラスが入ってるのってJDKで合ってますよね?違うものをインストールしなきゃだめなのかな。
0962デフォルトの名無しさん2010/05/23(日) 13:39:09
>>959
仕様で想定されるパラメータを渡して例外が出ないことを確認する。
あるいは想定した例外が発生することを確認する。
アウトプットが無いという事は大抵何かの状態 (インスタンス変数なりディスクなり
DB なり) が変わる機能だろうから、その状態が正しく遷移しているかを確認する。
0963デフォルトの名無しさん2010/05/23(日) 13:42:39
>>961
プロジェクトのプロパティからビルドパス-ライブラリで JRE システムライブラリが参照されているか確認。
なければライブラリの追加。JDK 1.6 がちゃんと設定のインストール済み JRE に登録されてるか?
09649542010/05/23(日) 13:56:49
>>963
あー・・・すごく申し訳なかった。
1.6はちゃんと登録されてたんですが・・・J2MEでの開発時はArrayListは非サポートでした;
J2ME初めてだったので普通のアプリと同じで開発進めてました・・・。
0965デフォルトの名無しさん2010/05/23(日) 13:58:24
お兄さんそんなことは分かってたよ。
0966デフォルトの名無しさん2010/05/23(日) 14:59:52
Javaでお勧めの正規表現のライブラリってある?
09679442010/05/23(日) 15:07:58
>>946さん
あまりわかって無いような気がします・・。

byte型の値をint型の変数に代入するとき、int型に変換された後、代入されますよね?
同じくbyte型の配列の値ではなぜそのような型変換が行われないのでしょうか?
0968デフォルトの名無しさん2010/05/23(日) 15:11:39
>>964
MIDPならMIDPスレに行けCDCならスレがないからあきらめろ。
それ以前にJavaMEの仕様を読め。
JSR 139,118,218,219,217,216とあとは185あたりも覚えておくといい。
0969デフォルトの名無しさん2010/05/23(日) 15:13:24
配列の代入というのは参照の代入なわけだが
変換が入ると単なる参照の代入じゃなくなっちゃうよね
0970デフォルトの名無しさん2010/05/23(日) 15:29:32
プログラミングの超初心者ですが、昔のN88-BASICの命令の大部分は
Visual Basic でも使えるのですか? 誰か、教えて下さい。
    
0971デフォルトの名無しさん2010/05/23(日) 15:32:22
2chの初心者の間違いではw
0972デフォルトの名無しさん2010/05/23(日) 15:39:47
>>971
そんなこと言って教えてやらないのは、オマイも分からないのだろう!
  
0973デフォルトの名無しさん2010/05/23(日) 15:40:27
>>967
配列はオブジェクトだから、継承関係のない物には
キャストできないって事では。

Byte b = new Byte("127");
Integer i = (Integer)b;
が、出来ないのと同じ理由だと思うよ。
0974デフォルトの名無しさん2010/05/23(日) 15:43:06
>>972
いや、しらねーよw
0975デフォルトの名無しさん2010/05/23(日) 16:00:41
>>972
そもそもVBとかスレ違いだろ
0976デフォルトの名無しさん2010/05/23(日) 16:02:16
>>975
そうなの?すごいな!
0977デフォルトの名無しさん2010/05/23(日) 16:29:19
>>970
basicに限らず、もう別物だと思って一からやり直したほうがいいですよ。
0978デフォルトの名無しさん2010/05/23(日) 16:38:05
How many files(0-15)?
0979デフォルトの名無しさん2010/05/23(日) 17:16:57
How many failures did you have, when you were making the soft (0-15)?
0980デフォルトの名無しさん2010/05/23(日) 17:18:40
>>960
0981デフォルトの名無しさん2010/05/23(日) 17:27:11
>>967,944
>955で拙い説明で詳しく書いてる。
説明が分からなければ>958が情報元へのリンク。
0982デフォルトの名無しさん2010/05/23(日) 17:38:34
馬鹿にはjavaは無理。

膿め。
0983デフォルトの名無しさん2010/05/23(日) 17:52:55
世界でjava人口やc++,c#人口はどれぐらいかご存知ですか?
0984デフォルトの名無しさん2010/05/23(日) 18:23:05
俺は全部使うから最低でもそれぞれ一人。
0985デフォルトの名無しさん2010/05/23(日) 18:24:17
俺はjavaしか使わない
0986デフォルトの名無しさん2010/05/23(日) 18:43:32
C#使ったことないなー
0987デフォルトの名無しさん2010/05/23(日) 19:05:05
どちらにしろ低能には使えないから安心して
0988デフォルトの名無しさん2010/05/23(日) 19:14:42
響きは悪いが低脳にも使えるから普及したんだろJavaとかC#は
Java使えてる俺頭いいってかw
0989デフォルトの名無しさん2010/05/23(日) 19:25:19
むしろどれか一つでも使えないっていうのは終わってるな。
0990デフォルトの名無しさん2010/05/23(日) 19:35:52
>>941
ほうほう、おもしろそうっだな

だがJAVAはない
Javaな
0991デフォルトの名無しさん2010/05/23(日) 19:37:03
>>942
ひとまず、O/Rマッピングフレームワークを使うことをおすすめする
0992デフォルトの名無しさん2010/05/23(日) 20:15:04
>>945
存在意義を知りたければデザインパターンについて勉強してこい!
0993デフォルトの名無しさん2010/05/23(日) 20:16:50
>>950
まるで悪しきグローバル変数だな
0994デフォルトの名無しさん2010/05/23(日) 20:18:28
>>959
MockObjectを使う
0995デフォルトの名無しさん2010/05/23(日) 20:21:49
>>993
定数だから問題は無いだろう
0996デフォルトの名無しさん2010/05/23(日) 20:42:49
>>968
諦めろじゃなくて携帯電話開発スレあたりかそのスレで質問するか
新たにスレ立てるかすることを勧めろよ
0997デフォルトの名無しさん2010/05/23(日) 21:35:22
次スレ立てた

★★Java質問・相談スレッド139★★
http://pc12.2ch.net/test/read.cgi/tech/1274617383/
0998デフォルトの名無しさん2010/05/23(日) 21:35:45
乙うめ
0999デフォルトの名無しさん2010/05/23(日) 21:50:42
うめ
1000デフォルトの名無しさん2010/05/23(日) 21:55:00
1000!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。