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

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

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

1 :デフォルトの名無しさん:2012/11/23(金) 14:14:21.65
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド157★★
http://toro.2ch.net/test/read.cgi/tech/1347376612/

2 :デフォルトの名無しさん:2012/11/24(土) 14:04:45.21
java8っていつでるの

3 :デフォルトの名無しさん:2012/11/24(土) 14:06:36.14
>>1
おつ

4 :デフォルトの名無しさん:2012/11/24(土) 19:43:43.14
>>2
来年

5 :デフォルトの名無しさん:2012/11/24(土) 22:16:21.63
>>2
http://openjdk.java.net/projects/jdk8/

スケジュール通りにいって来年の9月か。

6 :デフォルトの名無しさん:2012/11/25(日) 10:14:05.67
appleのApp StoreみたいなのはJavaではないのですか?

7 :デフォルトの名無しさん:2012/11/25(日) 16:35:12.82
DIっていうのがググってもイマイチ理解できんのだが、誰か詳しく教えてくだされ

8 :デフォルトの名無しさん:2012/11/25(日) 16:55:30.56
景気の先行きを総合的に示す景気動向指数のひとつ

9 :俺的理解:2012/11/25(日) 20:18:52.44
>>7
オブジェクト指向が手続き型指向と異なる点の一つが依存関係の逆転が出来ること
ただし、どうやって具体的にインスタンスを与えるかが問題になる
いちいち専用のファクトリメソッドを作っていてはコストばかりかかるので
その機能を汎用化したフレームワークがDI

10 :デフォルトの名無しさん:2012/11/26(月) 18:54:52.12
ArrayList<ArrayList<Boolean>> list = new ArrayList<ArrayList<Boolean>>();
上のようなリストの中に、trueが1つでも入っているかいないかを調べる方法はありますか?
試しましたが、containsではダメですよね?

11 :デフォルトの名無しさん:2012/11/26(月) 19:32:04.43
boolean hasTrue = false;
for (List<Boolean> l : list) hasTrue |= l.contains(true);

12 :デフォルトの名無しさん:2012/11/26(月) 21:35:06.68
>>9
依存関係の逆転ってのがよくわからないです。

13 :デフォルトの名無しさん:2012/11/26(月) 22:19:38.89
制御の反転の例としては外部イテレータと内部イテレータとかか。

わからん人には説明してもあんましわからんと思う。

14 :デフォルトの名無しさん:2012/11/26(月) 22:51:56.82
>>12
イメージ的に言えば、リファクタリングとかでロジックを抽象化すると、
 メインロジック -> 具象クラス
だった依存関係が、
 (メインロジック -> 抽象クラス) <- 具象クラス
てな感じになる。
逆に、使われ方を想定せずに抽象クラスやインタフェースを作るのは
百害あって一利なしであります。

15 :デフォルトの名無しさん:2012/11/26(月) 23:28:24.49
>>11
|=って使い方初めて見た、オシャレだ
勉強になったよ

16 :デフォルトの名無しさん:2012/11/27(火) 02:10:29.06
boolean hasTrue = false;
for (List<Boolean> l : list) if (hasTrue = l.contains(true)) break;

ちょっとダサいけど2倍速?

>>15
// 1つだけチェックされているときは処理する。
if (check1 ^ check2) { 処理 }

booleanに対する^演算子とか、今まで3回くらいしか使ったことないんだけど、
ときどき使い所が見つかるとグッと来るね

17 :デフォルトの名無しさん:2012/11/27(火) 03:07:34.13
>>16
ロマンだなぁ

今見返してみると、最初の例無駄すぎたねww2倍速どころじゃないよ、
m*n配列として最大m*n倍速だよww

18 :デフォルトの名無しさん:2012/11/27(火) 03:57:57.86
あれ?
ジャバすれはここですか?

19 :デフォルトの名無しさん:2012/11/27(火) 06:03:48.93
boolean hasTrue = false;
for (List<Boolean> l : list) {
if (l.contains(true)) {
hasTrue = true;
break;
}
}

毎回代入するより速くならないかな?

20 :デフォルトの名無しさん:2012/11/27(火) 08:50:31.93
a.jnlpからz.jarを実行しています。
b.jnlpからも同じz.jarを実行しています。
a.jnlpを実行してからb.jnlpを実行すると、a.jnlpでキャッシュされたz.jarが使われず、z.jarが再ダウンロードされます。
b.jnlpでキャッシュされたz.jarを利用するには、どうすれば良いでしょうか?

(a.jnlpを実行してから再度a.jnlpを開くと、キャッシュされたz.jarが利用されます。)

21 :デフォルトの名無しさん:2012/11/27(火) 21:07:06.05
>>19
containsもなくしてこうすれば

boolean hasTrue = false;
out: for (List<Boolean> l : list) {
for (boolean b : l) {
if (b) {
hasTrue = true;
break out;
}
}
}

22 :デフォルトの名無しさん:2012/11/27(火) 22:20:00.42
synchronized が付いていない基底クラスのメソッドを、
synchronized を付けて子クラスでオーバーライドした場合、
そのメソッド呼び出しは synchronized になるのでしょうか?

class Base {
public void f() {}
}

class Derived extends Base {
@Override
public synchronized void f() {}
}

Base b = new Derived();

b.f(); // synchronized になる?

23 :デフォルトの名無しさん:2012/11/27(火) 22:34:07.85
>>21
ArrayList→Listへの暗黙のアップキャスト、
基本型へのアンボクシングはコストが掛かるぞ。

こっちの方がより速いんじゃないか?

boolean hasTrue = false;
out: for (ArrayList<Boolean> l : list) {
for (Boolean b : l) {
if (b == Boolean.TRUE || b.booleanValue()) {
hasTrue = true;
break out;
}
}
}

24 :デフォルトの名無しさん:2012/11/27(火) 23:31:32.70
>>22
なる。

25 :デフォルトの名無しさん:2012/11/28(水) 01:44:35.13
フィールド
Map<Integer, ArrayList<Integer>> map;
ArrayList<Integer> list;

for文の中で、フィールドにあるlistをmapに使うため、
再利用しようと思って.clear()メソッドで初期化したつもりが、なぜか残っている?かのような挙動をします
フィールドにあるlistを消して、ローカルのfor文内でArrayList<Integer> list = new ArayList<Integer>();
とすればそのような挙動はなくなるので、問題は一応解決したのですが、一体なんででしょうか?

26 :デフォルトの名無しさん:2012/11/28(水) 11:51:02.32
byte[] t = new String(bytearray).getBytes();

これでtとbytearrayの中身が違ってしまうんだけど何で?

27 :デフォルトの名無しさん:2012/11/28(水) 12:20:26.67
byte[] t2 = bytearray.toString().getBytes();

これもbytearrayとt2の中身が違う。
中でどんな処理をしてるか分かる人居ますか?

28 :デフォルトの名無しさん:2012/11/28(水) 12:25:30.52
馬理

29 :デフォルトの名無しさん:2012/11/28(水) 12:38:51.87
コピペで動くコードを書いた。
誰かこれがなぜfalseになるのか説明できる?

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class TestJunk {
public static void main(String[] args){
byte[] b1 = new byte[]{-104, -106, 127};
byte[] b2 = null;
try {
b2 = new String(b1, "UTF-8").getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
if(Arrays.equals(b1,b2)){
System.out.println("success");
}else{
System.out.println("false");
}
}
}

30 :デフォルトの名無しさん:2012/11/28(水) 12:46:51.65
>>20
jnlpが別なら共有は無理。あきらめろ

31 :デフォルトの名無しさん:2012/11/28(水) 12:54:20.22
NetBeansやEclipseでプロジェクトを作って開発すると思うのですが、
プロジェクト内のディレクトリ構成(ソースフォルダの名前や場所、ライブラリ格納用の名前や場所など)のテンプレ的なものを紹介しているサイトや書籍はありませんか。
例えばソースはsrc/main/java, テストソースはsrc/test/java, JSPはwebContent/WEB-INF/viewに置くとかです。

32 :デフォルトの名無しさん:2012/11/28(水) 12:57:47.92
>>26
往復変換したら必ずしも同じバイト列になるとは限らない。
例えばSJISのFA40(IBM拡張文字の@)とEEEF(NEC選定IBM拡張文字の@)みたいに
複数のバイト列が同じユニコードの文字に変換される場合がある。
混在してるテキストを往復変換したら、どちらかに統一されて元にはもどらない。
他にも変換表に載ってないコードは一緒くたにU+FFFEに変換される場合とかも。

>>26
byte[]#toString()はObject#toString()を上書きしてないので、
クラス名+オブジェクトIDを文字列化したものを返すだけ。
バイト列の中身が偶然クラス名+オブジェクトIDと一致しない場合、
中身は違って当然。

33 :デフォルトの名無しさん:2012/11/28(水) 13:07:30.15
>>29
UTF-8として不正なバイト(-104と-106)がnew String(byte[], String) でU+FFFDに変換されてる。
元にもどるわけなし。

34 :デフォルトの名無しさん:2012/11/28(水) 13:16:32.55
URLEncoder.encode()がStringしか受け取らないんですが、
URL引数を通してbyte[]を転送したい場合、何か良い方法はありますか?

byte[]→String→URLEncoder.encode()→URLEncoder.decode()→String→byte[]
とやっていたのですが、
byte[]とStringの間で可逆な変換が出来ない事が分かりました。

35 :デフォルトの名無しさん:2012/11/28(水) 13:20:51.13
バカにはムリムリw

36 :デフォルトの名無しさん:2012/11/28(水) 13:26:04.06
>>34
byte[]とStringが可逆じゃないのは基本的に文字化けしてる場合だから、
きちんと変換できてりゃ特に問題にはならん。

IBM拡張文字とNEC選定IBM拡張文字が混在とか
わざと作ったのでもないかぎり滅多にないし。

37 :デフォルトの名無しさん:2012/11/28(水) 13:33:37.60
>>36
>>33については?
一貫した文字コードでも1つの文字が複数のビットパターンを持っていたり、
特定のビットパターンに対応する文字が無かったりすると
byte[]と可逆な変換は出来ないのでは?

38 :デフォルトの名無しさん:2012/11/28(水) 13:38:33.78
byte[]の要素を1つ1つ16進数の文字列にするくらいしかない?

39 :デフォルトの名無しさん:2012/11/28(水) 13:49:12.64
>>37
>>33はUTF-8として不正だからURLエンコードの際は考えなくてOK。

不正な文字コードに対する脆弱性があるソフトを攻撃したい、
みたいなケースでもない限り必要ない。

40 :デフォルトの名無しさん:2012/11/28(水) 14:08:12.45
>>39
意味がわからない

41 :デフォルトの名無しさん:2012/11/28(水) 14:41:28.68
>>34
スレ違いな話になるけど、HTTPでUTF8でやりとりする、という構造なら
UTF8が自由なバイト列を扱えないのだから無理だろう。
BASE64のようなバイト列を送れるエンコード形式を検討すべきだと思う。

42 :デフォルトの名無しさん:2012/11/28(水) 17:20:21.74
javaを始めたいのですが、何か良いサイトありますか?
javaに関しては、全く無知といった状況です
androidのアプリとかを作れるレベルになれればと思っています

43 :デフォルトの名無しさん:2012/11/28(水) 19:34:11.29
jnlpをダウンロードするとxmlに書かれたjnlpのURLにアクセスに行きますが、アップデートチェックを行わずに
jnlpを実行することって出来ないのでしょうか?

1.HTMLに書かれたjnlpファイルをダウンロードして実行。
2.落としてきたjnlpとは別に、サイトにアップされたjnlpをダウンロード(更新チェックのため)
3. 1で落としたjnlpに基づきjarファイル実行

といった感じで2回jnlpファイルにアクセスするのですが、1で落としたばかりのファイルを更新チェックするのって何か間抜けなので、更新チェックスルーしたいのですが。起動遅くなるし。

44 :デフォルトの名無しさん:2012/11/28(水) 19:59:14.76
>>42
(1)ジュンク堂で@eclipseの解説本、Ajavaの解説本、Bandroid開発の解説本、を買って一通り理解する
(2)コーディング
(3)わからない所はネット検索
で出来る オレは出来た...
ちなみに@は不要だったな

45 :デフォルトの名無しさん:2012/11/28(水) 20:45:29.97
>>44
ありがとうございます!
やっぱ本ですかねぇ
また見てみます

46 :デフォルトの名無しさん:2012/11/28(水) 21:12:07.99
>>23
ワイドニング変換にコストがかかるというのは初耳だが,
ソースはあるかい?

47 :デフォルトの名無しさん:2012/11/28(水) 22:07:17.83
>>46
>>19>>21も両方とも実際にはナローイング変換。イテレータから取り出したら常にObject型なので
ダウンキャストに伴って型チェックのコストが発生する。
Javaのジェネリクソはただの飾りだからな。

48 :47:2012/11/28(水) 22:15:37.96
すまんアンカー訂正
>>21>>23も両方とも実際にはナローイング変換。
型チェックのコストがかかるのはどちらも同じということ。

49 :デフォルトの名無しさん:2012/11/29(木) 00:20:03.89
ここで質問するのが合ってるのかどうかわからないんですが…JAXBについて教えて下さい。

Struts-configの作成に際して、XMLとJavaオブジェクトをバインドする必要が出てきました。
xjcを利用してJavaソースを生成しようとしたのですが、うまくいきません。

以下手順です。

1:ttp://struts.apache.org/1.x/struts-core/dtddoc/struts-config_1_2.dtd.org.htmlからDTDをコピペしてファイルを作成
2:コマンドプロンプトを起動してC:\Program Files\Java\jdk1.6.0_35\binに移動
3:以下のコマンドを実行
>xjc -dtd DTDファイル名 -d 出力先フォルダ

結果:以下のエラーが出力される
[ERROR] Property "Forward" is already defined. Use &lt;jaxb:property> to resolve this conflict.
line 463 of DTDファイルパス

[ERROR] The following location is relevant to the above error
line 459 of DTDファイルパス

Failed to parse a schema.

<jaxb:property>なども調べて見たのですが、よく判らず…なにか他に手を加える必要がありますか?

以上、よろしくお願いします。

50 :デフォルトの名無しさん:2012/11/29(木) 03:24:28.01
Javaを触っていてわからないことがあったので、質問させてください。

RouteData routeData = new RouteData();
List<RouteData> dataParents = new ArrayList<RouteData>();

int current = 1;
dataParents.add( makeRandomRoute( current, routeData)) ;
routeData.getRoute().clear();
dataParents.add( makeRandomRoute( current, routeData)) ;

makeRandomRouteは1-76の数字をランダムで並び替えてルートを表現(スタートとゴールは必ず1)、そしてそのデータ単位を
dataParentsというListに放り込んでいきたいのですが、

[Route] = [1, 9, 15, 25, 59, 29, 75, 5,…
[Route] = [1, 9, 15, 25, 59, 29, 75, 5,…

と同じ数列になってしまいます。プログラム起動し直すと違う数列になるのですが、同スレッド内では必ず同じになってしまいます。
関数を起動する度に違う数字の羅列を表示させたいのですが、何かいい方法はないでしょうか?
ちなみにrandomNumberの作成は (int)(Math.random() * ( NUM_NODES) + 1) で取得しています。※NUM_NODES = 76

51 :デフォルトの名無しさん:2012/11/29(木) 03:52:46.61
>>50
http://npnl.hatenablog.jp/entry/20090116/1232120896

こういう話?

52 :デフォルトの名無しさん:2012/11/29(木) 03:53:51.96
>>50
RouteDataは参照型。
routeDataとArrayListに入れたrouteDataが参照する先は同じ。
だから、routeData.getRoute().clear();としたらArrayListに入れた
routeDataもclearされちゃうよ。ArrayListにRouteDataオブジェクトを
追加するたびにRouteDataオブジェクトを作成したらいい。

List<RouteData> dataParents = new ArrayList<RouteData>();
int current = 1;
RouteData routeData = new RouteData();
dataParents.add( makeRandomRoute( current, routeData)) ;
RouteData routeData = new RouteData();
dataParents.add( makeRandomRoute( current, routeData)) ;

53 :50:2012/11/29(木) 04:37:08.18
>>51

そうです。ちなみに
long seed = System.currentTimeMillis() + Runtime.getRuntime().freeMemory();
Random r = new Random(seed);
int random = r.nextInt( NUM_NODES) + 1;
も試してみたのですが、同じ結果になってしまいました。

>> 52

そういう場合だと, 例えば100本のデータを作成、比較したい場合はどうすべきでしょうか?
for文でインスタンス?とか頭によぎりました。^^;
RouteDataにはRoute情報(1, 21, 35, 4,… のような物)をListで記録する為の箱で、違うRouteData100本(一つ一つはランダムで作成される)を
データ比較したりしたいので、mainで比較用のList(ここではDataParentsですね)を作って放り込んでいけばいいかな〜と思っていたんですが。
先述したように、現状では同じデータが放り込まれてしまうので…。

54 :デフォルトの名無しさん:2012/11/29(木) 04:48:22.78
馬鹿には無理

55 :デフォルトの名無しさん:2012/11/29(木) 06:40:53.17
>>46
すまん、勘違いしてたわ。
コストが大きいのは、instanceofの右辺にインタフェース型を指定したときだった。
これは「Java instanceof 速度 インタフェース」とかでググれば出てくる。

>>47
あーー、ソースの見た目と違って、実際はダウンキャストなのか。

キャストのコストは俺も知らないんで、
宣言した型でコストが変化するかどうか、簡単に調べてみた。
Java5、各1億回ループ×5回ベタ書き×20回ループ = 100億回 の合計秒数。

ArrayList<ArrayList<Boolean>> list = new ArrayList<ArrayList<Boolean>>();
list.add(new ArrayList<Boolean>(Arrays.asList(Boolean.TRUE)));

A) ArrayList<Boolean> l = list.get(0);
B) List<Boolean> l = list.get(0);
C) ArrayList<Boolean> l = list.get(0); l.contains(Boolean.TRUE);
D) List<Boolean> l = list.get(0); l.contains(Boolean.TRUE);

56 :デフォルトの名無しさん:2012/11/29(木) 06:43:46.40
結果。
A : 2333.1[s]
B : 2541.8[s]
C : 5332.9[s]
D : 6020.2[s]

具体的な型にキャストした方が20〜30%程度速い。
でも既に十分速いから、妙な事せずに抽象的に書いた方が良いわ

57 :デフォルトの名無しさん:2012/11/29(木) 06:46:46.58
ぐーぐる先生はほんとなんでも知ってるなー
ダウンキャストのコストとかほんとためになるなー
instanceofのコストとか知らなくてもいいことまで教えてくれちゃうもんなー
ぐーぐる先生は世界中の個人の情報もいつも握ってるからものしりなんだよなー

58 :デフォルトの名無しさん:2012/11/29(木) 13:20:40.82
インスタンス?オーバーライド?コンストラクタ?もうわけわからん(*_*)

59 :デフォルトの名無しさん:2012/11/29(木) 13:50:29.56
ggrks

60 :デフォルトの名無しさん:2012/11/29(木) 14:41:24.01
クラス=たこ焼きの鉄板
インスタンス=たこ焼き
オーバーライド=たこ焼きのトッピング

61 :デフォルトの名無しさん:2012/11/29(木) 16:06:42.92
>>53
makeRandomRouteでRouteDataのインスタンスを作成するようにしちゃいなよ。

public static void main(String args[]) {
___List<RouteData> dataParents = new ArrayList<RouteData>();
___int current = 1;
___Random random = new Random();
___for (int i = 0; i < 100; i++) {
______dataParents.add(makeRandomRoute(current, random));
___}
}

static RouteData makeRandomRoute(int current, Random random) {
___RouteData route = new RouteData();
___return route;
}

62 :デフォルトの名無しさん:2012/11/29(木) 20:12:46.29
>>61

どうもです。これでとりあえずはうまくいったのですが、

for( int i = 0; i < 2; i++) {
dataParents.add( makeRandomRoute( current)) ;
System.out.println( "[Distance] = " + makeRandomRoute( current).getTotalDistance() + " [Route] = " + makeRandomRoute( current).getRoute());
}

[Route] = [1, 34, 48, 11, 72, 16…
[Route] = [1, 20, 26, 62, 45, 8…

dataParentsに放り込むと重複したデータが放り込まれています。

for( int i = 0; i < dataParents.size(); i++) {
System.out.println( "[Distance] = " + dataParents.get(i).getTotalDistance() + " [Route] = " + dataParents.get(i).getRoute());
}

[Route] = [1, 20, 26, 62, 45, 8…
[Route] = [1, 20, 26, 62, 45, 8…

何か問題のありそうな箇所はあるでしょうか?

63 :デフォルトの名無しさん:2012/11/29(木) 20:33:09.51
ttp://homepage3.nifty.com/lylyshery/service/f-java/text/25_literal-refer/main.html
ここの例題2を百回読んでRouteDataに何が起きているか考えてみれ。

64 :デフォルトの名無しさん:2012/11/29(木) 21:26:08.97
>>62
makeRandomRouteの中で
>>53にある
long seed = System.currentTimeMillis() + Runtime.getRuntime().freeMemory();
Random r = new Random(seed);
のようにしたらseedが同じになるときがある。seedが同じだと
Randomオブジェクトは同じ数列を作っちゃう。なのでseedを指定しない
ようにするか、もしくは>>61のようにmakeRandomRouteの外でRandomオブジェクトを
ひとつ作ってそれを使いまわすようにすればいい。

65 :デフォルトの名無しさん:2012/12/01(土) 18:27:10.01
あるcsvファイルに対して、BufferedReaderのreadLineを使って読み込みを行う場合、

数行読み込んで、そこから数行戻ったところから再び読み込みを開始する手段はあるのかしら?

66 :デフォルトの名無しさん:2012/12/01(土) 19:33:50.79
mark()、reset()でなんとか。
それで無理だと全部とっておくとか、
ファイル再オープンして先頭から読み直すとかしないと。

67 :デフォルトの名無しさん:2012/12/01(土) 19:43:33.65
ファイルみたいなパーマネントリソースなら可能だけど
ネットワークみたいなストリームリソースは不可能だね。

68 :デフォルトの名無しさん:2012/12/01(土) 22:05:28.83
>>66-67
サンクス
それにしてもなぜmark()に引数を設定したんだろう
引数"readAheadLimit"が存在する意味がワカラネ

69 :デフォルトの名無しさん:2012/12/02(日) 13:14:42.06
>>68
バッファを確保するからだろ

70 :デフォルトの名無しさん:2012/12/02(日) 13:17:55.92
>>68
いったんmark()した後に破棄する方法を他に作ってないから、
readAheadLimitがないと無限にバッファリングし続ける事になる。

71 :デフォルトの名無しさん:2012/12/02(日) 13:54:04.25
http://lolrtmpsclient.googlecode.com/svn/trunk/
javaについて詳しくないのですが
ここのソースって実行することできるのでしょうか?
チェックアウトして読み込んでみましたが
ビルドのしかたがわかりません

これはGUIで実行されるのですか?CUIですか?
実行のやりかた教えてください

72 :デフォルトの名無しさん:2012/12/02(日) 14:48:20.90
abstract class A
abstract class B extends A
の2つのクラスがすでにあって、そこから
class A1 extends A
class B1 extends B
という2つのクラスを作って、そのクラスに同じ動作をするメソッドを実装する場合、
それぞれにメソッドを作る必要があって、変更を加える場合は両方のメソッドを
書き換える管理が必須になってしまいますが、それは回避できないですよね?

73 :デフォルトの名無しさん:2012/12/02(日) 14:51:43.97
Aに手を入れられるならAに実装すればいい
Aに触れないなら共通部分を別のクラスとして作ってそれに丸投げするとかして回避

74 :デフォルトの名無しさん:2012/12/02(日) 15:24:10.65
ありがとうございます。

BがAを継承したクラスを複数つかんで階層を作るものだから
丸投げするクラスもBっぽくなりそうだから全部Bを継承してしまおうか…

75 :デフォルトの名無しさん:2012/12/02(日) 15:35:14.79
http://lolrtmpsclient.googlecode.com/svn/trunk/
javaについて詳しくないのですが
ここのソースって実行することできるのでしょうか?
チェックアウトして読み込んでみましたが
ビルドのしかたがわかりません

これはGUIで実行されるのですか?CUIですか?
実行のやりかた教えてください

76 :デフォルトの名無しさん:2012/12/02(日) 16:20:04.48
馬鹿には無理

77 :デフォルトの名無しさん:2012/12/02(日) 16:21:20.16
http://lolrtmpsclient.googlecode.com/svn/trunk/
javaについて詳しくないのですが
ここのソースって実行することできるのでしょうか?
チェックアウトして読み込んでみましたが
ビルドのしかたがわかりません

これはGUIで実行されるのですか?CUIですか?
実行のやりかた教えてください

78 :デフォルトの名無しさん:2012/12/02(日) 17:25:33.45
馬鹿には

79 :デフォルトの名無しさん:2012/12/02(日) 19:47:06.41
無理

80 :デフォルトの名無しさん:2012/12/02(日) 20:54:34.43
http://lolrtmpsclient.googlecode.com/svn/trunk/
javaについて詳しくないのですが
ここのソースって実行することできるのでしょうか?
チェックアウトして読み込んでみましたが
ビルドのしかたがわかりません

これはGUIで実行されるのですか?CUIですか?
実行のやりかた教えてください

81 :デフォルトの名無しさん:2012/12/02(日) 21:00:54.77
荒らすなカス

82 :デフォルトの名無しさん:2012/12/03(月) 21:02:26.36
>>74
もう見てないと思うけど実装上の手段のために継承関係を作るのは悪手だから考え直した方がいいよ
AとBの関係を形にすることを考えてみるといいと思う

83 :デフォルトの名無しさん:2012/12/04(火) 09:28:23.82
>>82
ありがとうございます。
ファイルシステム的に言ったらBはディレクトリ、Aはファイルのような関係で、
AもBも触れない抽象クラスです。
そこにある情報をB1のインスタンス1つに伝えたらそれの知っている
A1とB1すべてに流すようなメソッドの共通部分をスーパークラスの
メソッドの呼び出しでなんとか出来ればよかったですが、
やっぱりコピペにしてしまいましたw

84 :デフォルトの名無しさん:2012/12/04(火) 12:49:11.63
>>83
それふつーにCompositeパターンに当てはまらないか?
暇があったら調べてみろ

85 :デフォルトの名無しさん:2012/12/04(火) 16:47:57.74
>>84
ありがとうございます。
A1とB1にある同名のメソッドを呼ぶためのインタフェースを作っていて、
勝手にCompositeパターンというものになってしまっていましたが、例えば
http:))ja.wikipedia.org/wiki/Composite_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3 の
FileクラスFolderクラスのdefaultMethodのインデントを付けてる部分は共通なので、
どこかにまとめておければインデントの幅の変更が必要になった時に1ヶ所の変更で済むけど、
それは無理そうですねと。

86 :デフォルトの名無しさん:2012/12/04(火) 17:40:02.98
平面上の点が200個くらいArrayListに入ってて、ほとんど全部が碁盤の目上にあって、座標x,yの他にIDとフラグを持っててます。
フラグが立っている点のうち、指定された点からの距離が1番近いのを探してそのフラグを下ろし、をユーザが中止ボタンを押すまで繰り返すには、kd木とか大掛かりなアルゴリズムが良いですか?
フラグが立っている点のうち、指定された点からの距離が近い順でソートして知るには全部距離計算するのが良いですか?

87 :デフォルトの名無しさん:2012/12/04(火) 18:11:12.94
200個程度なら力技でいいと思います

88 :デフォルトの名無しさん:2012/12/04(火) 18:39:12.03
全部を距離計算する力技でやっても、
ほとんどの環境では、中止ボタンを押すまでもなく1フレームで
すべてのフラグが下ろされる気がする。

89 :デフォルトの名無しさん:2012/12/04(火) 19:23:08.22
>>85
無理じゃねーよ
そういうのはFileSystemConfigInterfaceとその実装を用意、
FileとFolderにInterfaceをprivateで持たせてDIするかコンストラクタで実装をnewしとけ
後はdefaultMethodからConfigに処理を移譲しろ
FileとFolderでConfigが別物になることが無いと言い切れるならInterfaceもいらん

90 :デフォルトの名無しさん:2012/12/06(木) 18:40:59.77
>>86
そもそも順位と位置を知ればいいんだからソートは必要ないんじゃないの?

91 :デフォルトの名無しさん:2012/12/06(木) 22:01:20.09
eclipseでの質問です
JFrameでウィンドウを表示させるプログラムを書いたとします
実行で新しいウィンドウが開き、続けて実行を押すとまた新しいウィンドウで開きますよね?

いちいち実行して閉じて実行して閉じて・・・とやってると大変です
続けて実行押された場合、同じウィンドウ内で更新する方法を教えてください

92 :デフォルトの名無しさん:2012/12/06(木) 22:07:36.01
>>91
それは自己矛盾。
実行する=最初から動くわけだから、既存のウィンドウを更新するのは
実行するという動作ではなくなる。

既存のウィンドウを閉じるのは開発環境が勝手にやっていいことじゃない。
つまり開発者が自分で閉じるしかない。

93 :デフォルトの名無しさん:2012/12/06(木) 22:36:17.60
クラス分けても無理ですか?

94 :デフォルトの名無しさん:2012/12/06(木) 23:14:07.59
デザインの確認ならそれ用のプラグインなりNetBeans使うなりすればいい

95 :デフォルトの名無しさん:2012/12/06(木) 23:37:47.87
>>91
JDesktopPane使うってこと?
でなければ、イニシアライズしなおせば良いだけでしょ。

96 :デフォルトの名無しさん:2012/12/07(金) 01:14:47.83
コンポーネントのレイアウトを変更する

実行する

意図したものと違うので閉じる

ソースを修正する

最初に戻る

というシーケンスの中で「閉じる」の動作を省略したいだけだと
思うんだけど、ソースを修正しているのに実行中のプログラム
に反映したいなんて無理、不可能。

97 :デフォルトの名無しさん:2012/12/08(土) 12:10:20.38
JavaPOSの使い方はここで良いのでしょうか…間違っていたら誘導お願いします。

現在、JavaPOS対応のレシートプリンタでの印刷をやってみたいのですが、
どうにもプリンタを認識してもらえません…

ちょうど以下のURLと同じことをやっていて(対象プリンタの機種も同じ)、同じ現象なのですが動作環境はWindowsです。
ttp://www.java-forums.org/advanced-java/55762-javapos-star-tsp100-linux.html

エラーコードを見ても、JPOS_E_NOHARDWARE(物理デバイスがシステムに接続されていません。または、電源が入っていません。)というコードになっているので、
上手く認識できていないような感じです。
ただし、Windows側ではプリンタは認識されており、[デバイスとプリンター]にも表示されています。

Java側に何か設定が必要なのでしょうか?

98 :デフォルトの名無しさん:2012/12/08(土) 15:08:17.86
Windows使ってるならマイクロソフトのサポートセンターに電話しろ

99 :デフォルトの名無しさん:2012/12/09(日) 01:43:36.12
例えば5の倍数の内 変数xに最も近い数を高速に求める方法ありますか?

100 :デフォルトの名無しさん:2012/12/09(日) 01:49:20.69
(x + 2.5) / 5 * 5

101 :100:2012/12/09(日) 01:51:51.26
訂正
(int)((x + 2.5) / 5) * 5

102 :デフォルトの名無しさん:2012/12/09(日) 01:56:33.67
Javaあんま関係ないのに笑った
そういうアルゴリズム全般扱うようなスレってないの?

103 :デフォルトの名無しさん:2012/12/09(日) 08:34:54.05
>>101
int x; として、
(int)(((double)x + 2.5) / 5.0) * 5.0;
娑婆はこうじゃ無くてもいいのか?

double x;なら...補正してやらないとまずい場合が出るなw

104 :デフォルトの名無しさん:2012/12/09(日) 10:35:45.30
>>103
2.5を加算するときにxはdoubleへ暗黙のうちにキャストされるから明示的なキャストは不要。
*5.0も*5でいい。単なる整数同士の乗算なんだからintで構わない。その方が速いし
結果をintにもdoubleにもキャストなしでそのまま代入できる。

105 :デフォルトの名無しさん:2012/12/09(日) 12:34:01.44
>>102
キャストに関連するから、まあJavaでいいんじゃね?
もっと重い質問なら、アルゴリズムスレがあったような。

>>104
x * 2.5 だと計算結果はfloatじゃね?
試してないが、 (int)((x + 2.5d) / 5) * 5; みたいにdを付けないと、
Integer.MAX_VALUE前後で不本意な結果が返る気がする。

106 :デフォルトの名無しさん:2012/12/09(日) 12:40:18.73
>>105
x * 2.5はdoubleだよ
言語仕様上、厳密に (double)x * 2.5 と同じ

107 :デフォルトの名無しさん:2012/12/09(日) 12:55:55.37
floatは結構普通に実用的に問題になるくらいの糞精度だから
多くの言語では浮動小数点はdoubleが基本
float(64bit)とhalf(32bit)にすればいいのにな

108 :デフォルトの名無しさん:2012/12/09(日) 13:35:06.86
混在している場合、普通は誰がみても一発でわかるようにキャストをしておくのはあたりまえだけどなぁ

109 :デフォルトの名無しさん:2012/12/09(日) 13:37:12.68
速くだ

110 :デフォルトの名無しさん:2012/12/09(日) 13:41:38.40
intとdouble足してdoubleになるくらい常識だろ
そんなもんいちいち明示する必要なし

111 :デフォルトの名無しさん:2012/12/09(日) 15:38:51.40
笑いw
はいしろーとさん

112 :デフォルトの名無しさん:2012/12/09(日) 15:57:10.87
馬鹿には無理

113 :>>99:2012/12/09(日) 15:58:17.74
これ5の倍数部分が更に変数yとなる場合にはどんな計算になるのでしょう

114 :デフォルトの名無しさん:2012/12/09(日) 16:00:25.82
>>113
(int)((x + 0.5 * y) / y) * y

115 :>>99:2012/12/09(日) 16:01:06.66
>>114
ありがとう

116 :デフォルトの名無しさん:2012/12/09(日) 16:21:24.29
誰が見ても一発で分かるように全ての漢字にふりがなを付けるのが当たり前的な

117 :デフォルトの名無しさん:2012/12/09(日) 16:29:38.59
2.5がdoubleになるかfloatになるか知らないような子に分かるように書かなきゃいけないのか
とんでもなく冗長なコードになりそうだ

118 :デフォルトの名無しさん:2012/12/09(日) 20:28:44.64
>>117
コンパイラは明示的に書いたコードの方が簡潔なコードになる事も知らないんだ(笑)

5と書く人はわかって書いているのかわかっていなくて書いているのかが当事者以外にはわからない
ま、ほとんどが後者だろうが...
また、j他の処理系で使う時の事を考えればおのずと...
だからトーシローは困るんだよね

回答ではxが実数の場合の誤差も考慮していないし...
ゲーム程度の数値計算ではカンケーネーか(笑)

119 :デフォルトの名無しさん:2012/12/09(日) 20:32:04.97
>>118
>>117 のリンクは消し忘れだから無視してね〜

120 :デフォルトの名無しさん:2012/12/09(日) 20:36:58.21
で、xが実数の場合>>114でどういう問題があるのでしょうか?
オーバーフローは無しでお願いします。longに変えてなお収まらないような値なら5の倍数とか意味ないですから。
そしてどう変更すれば正しいコードになりますか?
教えてください玄人さん

121 :デフォルトの名無しさん:2012/12/09(日) 20:46:13.03
>>120
整数Yの整数倍って話しならXが実数である必要がなくね?

122 :デフォルトの名無しさん:2012/12/09(日) 20:55:45.36
馬鹿には無理

123 :デフォルトの名無しさん:2012/12/09(日) 20:58:23.74
あー確かに使う側であらかじめ一番近い整数に丸めてからxに入れればいい話だわな
可哀想だからもうやめてやれよw

124 :デフォルトの名無しさん:2012/12/09(日) 22:58:44.81
一番かわいそうなのは>>123

125 :デフォルトの名無しさん:2012/12/10(月) 02:43:50.16
JAVA6とJAVA7はどれくらい違うのでしょうか?
パーフェクトJAVAという本が6対応なのですが、7時代の今見ても有用でしょうか?

126 :デフォルトの名無しさん:2012/12/10(月) 03:14:09.72
貴方の仕事でJava6を使うのかJava7を使うのかで決まる

127 :デフォルトの名無しさん:2012/12/10(月) 08:16:09.67
6 + α - 日本語ドキュメント
が 7 だ。
6やっといて7で後悔することはあまりないはず。

128 :デフォルトの名無しさん:2012/12/10(月) 11:55:45.59
>>106
>>105だけど、ひどい勘違いしてた……。
リテラルの 2.5 って、double型なのか。

'd' を付けないとfloat型になるものだとずっと思ってた。
実際には 'f' を付けないときはdouble型になるのね…。

129 :デフォルトの名無しさん:2012/12/10(月) 12:58:11.15
>>128
そのあたりはVAX780のハードウェアの仕様に
まで遡る話しがあるでな。

計算モードをfloatかdoubleに切り替えないといけない
=混在出来ない

で、数値演算関係のライブラリは原則doubleという仕様に
された K&R の c の仕様の名残だよ

130 :デフォルトの名無しさん:2012/12/10(月) 13:40:47.50
質問させて下さい。&amp;#160;
Android端末で画像を4分割にしたいと思っています。&amp;#160;
Bitmap bmp = ((BitmapDrawable) mImageView.getDrawable()).getBitmap();&amp;#160;
Bitmap bitmapdist = Bitmap.createBitmap(bmp, 0,bmp.getHeight() / 2, bmp.getWidth() / 2,bmp.getHeight());&amp;#160;
□□&amp;#160;
■□&amp;#160;
これで黒い四角の部分のbitmapが取り出せるかと思ったのですが&amp;#160;
E/AndroidRuntime(21603): java.lang.IllegalArgumentException: y + height must be <= bitmap.height()&amp;#160;
とエラーが出ており、どうしたら良いのかわかりません。&amp;#160;
よろしくお願い致します。

131 :デフォルトの名無しさん:2012/12/10(月) 13:43:58.66
>>128-129
干からびたおっさんはさっさと死ね

132 :デフォルトの名無しさん:2012/12/10(月) 13:46:05.89
>>130
左上点と幅高さを指定する方式なのに
左上点と右下点を指定してるから怒られてるだけのような。

っつか、質問する前にドキュメント読もうぜ。

133 :デフォルトの名無しさん:2012/12/10(月) 13:59:07.05
>>132
解決しました!ありがとうございます!
ドキュメントをしっかり読むように気をつけます。

ありがとうございました!

134 :デフォルトの名無しさん:2012/12/10(月) 17:50:20.25
MouseMotionListenerで
「mouseX = e.getX」
のように、マウスの動きに連動する変数として、
MouseMotionListenerを定義したファイルとは別のファイルでmouseXを使いたいです

「」をどのように定義し、どのように呼び出すのでしょうか

135 :デフォルトの名無しさん:2012/12/10(月) 17:51:16.68
e.getX()でした

136 :デフォルトの名無しさん:2012/12/10(月) 20:55:50.23
>>129
干からびたおっさん乙w

Cまでさかのぼるのは予想できたけど、VAXに絡んでくるのか…
VAXはもう、歴史の教科書で習ったレベルだなぁw

個人的な知識欲は満足したよ。thx

137 :デフォルトの名無しさん:2012/12/10(月) 22:09:22.25
oralceスレとどっちにするか迷ったけれど
Javaの設定周り?の可能性があるのでここに書きます

Oracle 11g/10g
Eclipse 3.6
JDK 1.6
Tomcat 6.0
JDBC ojdbc6
oracle client 11
ORACLE_HOMEなどは11のみの設定で他バージョンの混合設定は無し

oracleにJavaからociで接続したいんだけれど
新規に作成したtomcatプロジェクトではうまく動くが
組み込みたい既存のtomcatプロジェクトだとgetConnection時に何故かocijdbc11ではなく
ocijdbc9が見つからないエラー(no ocijdbc9 in java.library.path)が発生
(新規のプロジェクトではちゃんとocijdbc11を見に行っているから動いている?)
ちなみにthin接続では動作するので、oci接続時にocijdbc11を探すべきところが何故かocijdbc9を探しに行っているのが問題だと思う

既存プロジェクトの作成陣は既に居ないので独自に調査したが原因不明
共通機能部分が悪さをしているかもしれないと思って、同じプロジェクト内に他からのアクセスは一切ないよう
独立したjspとservletを追加して動かしてみたが結果は同じだったので、どちらかというと何らかの環境設定の問題?
あるいはojdbc14を使っていた物をojdbc6にしたので、どこかにその設定が残っている?

もしocijdbcのどのバージョンを利用するかの設定箇所とかあったら教えてほしい

138 :デフォルトの名無しさん:2012/12/10(月) 22:33:06.71
お前の設定など知ったことかw
オラクルサポートに電話しろよ

139 :デフォルトの名無しさん:2012/12/10(月) 23:02:23.51
>>137
ocijdbc 使ったことないんだけど、2つのプロジェクトで java.library.path の値をダンプして比較してみた?
比較してそれぞれのプロジェクトがどの ocijdbc の .jar ファイルを使ってるか調べて、その .jar ファイルが必要としている .dll か .so みたいなOSのライブラリが本当にインストールされてるか見てみたら?

140 :デフォルトの名無しさん:2012/12/11(火) 04:12:07.16
catalina/libにもjarが居たりとか、そんな話しじゃ無かろうか

141 :デフォルトの名無しさん:2012/12/11(火) 09:30:14.31
>>134
MouseMotionListener は何個でも登録して構わないのよ?

142 :デフォルトの名無しさん:2012/12/11(火) 09:32:42.18
てす

143 :デフォルトの名無しさん:2012/12/11(火) 15:02:37.57
static メソッドで、自分自身のクラス名を知るにはどうしたらいいでしょうか?

144 :デフォルトの名無しさん:2012/12/11(火) 15:17:19.98
static {
StackTraceElement e[] = Thread.getAllStackTraces().get(Thread.currentThread());
System.out.println(e[e.length-1].getClassName());
}

145 :デフォルトの名無しさん:2012/12/11(火) 16:05:53.32
まんこ

146 :143:2012/12/11(火) 16:11:30.31
>>144
おお、なるほど。ありがとうございます。

147 :デフォルトの名無しさん:2012/12/11(火) 19:41:23.06
いえいえ

148 :デフォルトの名無しさん:2012/12/11(火) 19:52:55.47
おう気にするな

149 :デフォルトの名無しさん:2012/12/11(火) 22:57:15.09
>>134
コード書いてみた
ttp://codepad.org/Nf8gPKwG

150 :149:2012/12/12(水) 04:56:24.46
>>134
別ファイルか
DrawCanvas classとcheckMouse classは別ファイルに分けてもそのまま動くよ
クラス名の前にprivateとか付けなければ大丈夫

151 :デフォルトの名無しさん:2012/12/12(水) 18:47:50.26
すみません、ファイル入力に関する質問です。
まず、成績表クラスというのを作り、フィールドとして学籍番号,氏名,履修年度,成績(S,A,B,C,D,H)をもってます。
そのそれぞれに成績を入力するのですが、それをファイル読み込みでやりたいんです。
以下のような書式のテキストファイルです。

id,name,year,grade
1005001T,Nobita,2012,D
1005002T,Takeshi,2012,C

idとnameがString,yearはint,gradeはcharで入れたいです。
","がきたら次の文字列を入力すれば良いのかなと思いましたがそのやり方がわかりません。
すみませんがおねがいします。

152 :デフォルトの名無しさん:2012/12/12(水) 19:00:51.99
剛田ジャイアン

153 :デフォルトの名無しさん:2012/12/12(水) 19:06:25.18
>>151
split

154 :デフォルトの名無しさん:2012/12/12(水) 23:57:48.21
docletに関する質問です
標準ドックレットを弄ってメソッドの詳細欄にサンプルプログラムを表示させたいと考えています
とりあえずjavadocを作った際にテキストを読み込んでその文をメソッドの詳細欄に表示させたいのですがどうすればよいでしょうか?
標準ドックレットを見たのですが複雑でよく分からなかったので質問させていただきました

155 :デフォルトの名無しさん:2012/12/13(木) 09:43:48.20
>>154
標準が理解できないようなら無理
@importFile 外部ファイルパス
みたいなのを各Javadocに書いて、それを処理できるカスタムdoclet作れ

あと、周辺ツールの中には自動でJavadoc作成してくれるような奴もあるけど、
カスタムdoclet対応してないのもあるからそういうの使ってるなら自力でがんばれ

156 :デフォルトの名無しさん:2012/12/13(木) 09:45:32.72
>>154
そーゆー用途ならタグレットの方が楽。

157 :デフォルトの名無しさん:2012/12/13(木) 15:37:26.21
ありがとうございます
>>155
importfailで一度検索してみます!
わからないとこがあったら再度質問させて頂きます
>>156
初めはtagletで行うつもりだったのですが最終的にテキストの中にメソッドを大量に格納してメソッド名が一致した時に自動で表示させるようにしたかったので断念しましたorz

158 :デフォルトの名無しさん:2012/12/13(木) 15:43:34.02
いえいえ

159 :デフォルトの名無しさん:2012/12/14(金) 18:41:52.28
Javaでラムダ記法が使えるようになると何が便利になるんですか?

160 :デフォルトの名無しさん:2012/12/14(金) 22:52:14.49
うんこ

161 :デフォルトの名無しさん:2012/12/14(金) 23:04:56.96
大丈夫。どうせまた先送りで永遠に使えるようにならないから心配しなくていいよ。

162 :デフォルトの名無しさん:2012/12/14(金) 23:12:20.24
いい加減あの無能コミュニティは解散してオラクルが全部決めろよ

163 :デフォルトの名無しさん:2012/12/14(金) 23:31:16.82
コミニティーって、ラムダのエキスパートグループのこと?
開発者向けベータのリリースが2013年1月だけど、未だに試行錯誤ばかりでラムダ関連のクラスの仕様どころかパッケージ名も決定でいないのだから、無能というレベルを越えてる。
ラムダはギリギリまで手を入れるだろうから、ラムダのせいで秋頃の本リリースも遅れるかもね。

164 :デフォルトの名無しさん:2012/12/14(金) 23:35:53.50
このままならJigsaw同様先送りでしょ
10年後も同じこと言ってそう

165 :デフォルトの名無しさん:2012/12/15(土) 00:31:25.70
ジャバ・エキスパートグループには、グーグルとマイクロソフトの高学歴のさくらが結構混じっていて、コミニテーをわざとかき乱してリリースを遅らせダメージを与えているんですよ

166 :デフォルトの名無しさん:2012/12/15(土) 02:37:08.02
ラムダ式って全然馴染みがないので申し訳ないが、
ラムダ式が導入されて成功してる言語って何がありますでしょうか

167 :デフォルトの名無しさん:2012/12/15(土) 02:47:23.28
関数型全般、Python、Ruby、JavaScript(微妙)、Scala、C#、C++0x、その他多数
関数をインラインで書くのが便利なのってクロージャ(外の変数を取り込むこと)があってこそなんだが、
Javaで検討されてるラムダはクロージャじゃないからうんこ。

168 :デフォルトの名無しさん:2012/12/15(土) 03:02:23.94
JavaScript (ecma5)って、クロージャはあるけど、ラムダはないでしょ。

169 :デフォルトの名無しさん:2012/12/15(土) 03:12:46.08
実質同じだろ
シンタックス的な違いを言い出したらJavaのドラフトで出てくる複数行ラムダも間違ってることになるぞ
Java的には (ラムダ)=(クロージャではないインライン関数) なんだよ
以前はクロージャと呼んでたけど、外の変数取り込めるようにするのやめたので
まとめてラムダと呼ぶようになった(あくまでJavaワールドに限った話な)

170 :デフォルトの名無しさん:2012/12/15(土) 03:18:08.63
>>169
クロージャとラムダについてもう少しちゃんと勉強した方がいいですよ(そのうち恥ずかしい思いをするかもです)

171 :デフォルトの名無しさん:2012/12/15(土) 03:24:21.62
(x,y)->{return x+y;}
こういうものもJavaの中の人は実際にラムダと呼んでるわけだけど
これをラムダと呼んでいいのにJavaScriptの関数式をラムダと呼んじゃいけない理由を教えてよ
Javaの中の人の頭がおかしいというならわかるけどさ

172 :デフォルトの名無しさん:2012/12/15(土) 03:43:33.08
うんこうんこ

173 :デフォルトの名無しさん:2012/12/15(土) 08:09:26.86
ラムダとか勉強するのメンドクセー

174 :デフォルトの名無しさん:2012/12/15(土) 08:14:22.84
>>161

175 :デフォルトの名無しさん:2012/12/15(土) 08:41:02.92
モジュール先送りにしたまで残したラムダ先送りはねーよ。

176 :デフォルトの名無しさん:2012/12/15(土) 08:50:54.14
ラムダ勉強してきたけどなんかよさげ

177 :デフォルトの名無しさん:2012/12/15(土) 09:00:46.93
>>166
KCL

178 :デフォルトの名無しさん:2012/12/15(土) 09:08:06.07
>>163

179 :デフォルトの名無しさん:2012/12/15(土) 10:33:10.36
Set<User> users = .......
Set<String> adultUserNames =
   users
      .filter(user -> user.age >= 20)
      .map(user -> user.name);

文法よくわからんけど、こんな風に使うの?
拡張for文で良くね?と思ってしまうんだが…。

拡張for文の場合は、単一スレッドが処理するが、
「ラムダ」だと、複数スレッドに同時に処理させられるから、
メニーコア時代では速いよ、とも聞いたけど。

巨大なコレクションの操作に速度要求するなら、
素直にRDBなりKVS使えばいいじゃん。
Pure Javaでも良い組み込みDBあるっしょ。

180 :デフォルトの名無しさん:2012/12/15(土) 15:17:50.35
JavaMailでSMTP認証使う場合のProperties設定について
まとまってるサイトないですか?
mail.smtpやらmail.smtpsやらmail.smtp.authやらmail.smtp.starttlsenableやらmail.smtp.socketFactoryやら
どれを設定すると何が有効になるのかわけわかめ

181 :デフォルトの名無しさん:2012/12/15(土) 17:52:28.48
ないよ

182 :デフォルトの名無しさん:2012/12/15(土) 21:38:37.11
>>180
仕様書読めよ

183 :デフォルトの名無しさん:2012/12/15(土) 22:25:20.35
>>179
それで済むならラムダを使わなければいいのでは?

184 :デフォルトの名無しさん:2012/12/16(日) 10:24:39.45
リストから配列に変換したいのですが、
String[] array = (String[])list.toArray(new String[0]);
これは問題なく出来るのですが、

以下の多次元配列の場合にArrayStoreException出てしまいます
String[][] array = (String[])list.toArray(new String[0][0]);

多次元配列の場合はlist.toArrayの方法は使えないのでしょうか?

185 :デフォルトの名無しさん:2012/12/16(日) 10:25:37.78
あ、下のはタイプミスです (String[][])です。

186 :デフォルトの名無しさん:2012/12/16(日) 10:29:52.76
>>184
下のは List<String[]> list 使ってれば通るだろ。

187 :デフォルトの名無しさん:2012/12/16(日) 10:38:40.49
>>186
String[][] array = (List<String[]>)list.toArray(new String[0][0]);
String[][] array = (new String[][])list.toArray(new List<String[]>);

と試してみましたが、コンパイルも通らないみたいです

188 :デフォルトの名無しさん:2012/12/16(日) 10:39:11.08
あ、またミス
String[][] array = (List<String[]>)list.toArray(new String[0][0]);
String[][] array = (String[][])list.toArray(new List<String[]>);

通りません

189 :デフォルトの名無しさん:2012/12/16(日) 10:45:55.16
List<String[]> list = new ArrayList<String[]>();
list.add(new String[]{ "foo" } );
String[][] array = (String[][])list.toArray(new String[0][0]);

190 :デフォルトの名無しさん:2012/12/16(日) 10:47:53.77
> String[][] array = (String[][])list.toArray(new String[0][0]);
String[][] array = list.toArray(new String[0][]);

でも通るな。

191 :デフォルトの名無しさん:2012/12/16(日) 10:48:53.87
あ、なるほどそういう意味でしたか
ArrayList<ArrayList<String>> list;
この場合だとtoArrayを使って二次元配列に変換するのは無理なんでしょうか?

192 :デフォルトの名無しさん:2012/12/16(日) 11:10:59.60
>>191
メソッド一発じゃ無理。

String[][] array = new String[list.size()][];
for(int i = 0; i < list.size(); i++) array[i] = list.get(i).toArray(new String[0]);

193 :デフォルトの名無しさん:2012/12/16(日) 11:16:28.27
>>192
ありがとうございました

194 :デフォルトの名無しさん:2012/12/16(日) 14:19:16.59
いえいえ

195 :デフォルトの名無しさん:2012/12/16(日) 22:29:54.14
この場合,
キャストは不要じゃないか?

196 :デフォルトの名無しさん:2012/12/18(火) 01:18:12.71
以前docletについて質問したものです
自分のPCの標準docletを見ようと思ったのですがソースファイルが見つかりませんでした
JDK以外にインストールする必要があるのでしょうか?
回答よろしくお願いします

197 :デフォルトの名無しさん:2012/12/18(火) 19:04:09.26
tools.jar

198 :デフォルトの名無しさん:2012/12/18(火) 21:11:24.59
別クラスでイメージを読み込みスレッドを走らせているクラスのパネルにdrawImageしようとすると
いつもヌルポエラーがでます。
なので画像のロードやアニメーションをそのクラスに書くのですがかさ張ってきて嫌になります
paintConponent?Graphics関連の問題で初心者が陥りやすいということはわかったのですがよかったら教えてください

199 :デフォルトの名無しさん:2012/12/18(火) 22:09:19.70
クラス云々じゃなくて、スレッドの管理に問題があるのでは。

200 :デフォルトの名無しさん:2012/12/18(火) 23:26:20.67
>>197
そちらも確認したのですがjavadocというフォルダはあってもdocletsというフォルダは見つかりませんでしたorz

201 :デフォルトの名無しさん:2012/12/19(水) 00:11:45.44
他の人が書いたコードを改良しようとして読んでるのですが
int damage, bomb;
damage += = bomb;
という箇所がありました。
意図としてはdamage += bomb;
な気がしてしょうがないのですが、そもそも「damage += = bomb;」ってどう演算されるんでしたっけ?
動作を眺めてると意図のとおり動いてるようにも見えるのですが。

202 :デフォルトの名無しさん:2012/12/19(水) 00:19:02.35
>>201
そのコードだと、Java ならコンパイル通らないと思うんだが。

203 :デフォルトの名無しさん:2012/12/19(水) 00:20:28.26
damage = damage + bombと同意
複合代入演算子でぐぐる

204 :デフォルトの名無しさん:2012/12/19(水) 01:36:18.99
>>202
あれ?そうですか
デコンパイラの判断ミスかもしれないです
綺麗なソースコードもらえてないので

ふと、いっこ前に自分でコンパイル通したときどうしてたか自分が書き直したソース
発掘してみたら、無意識のうちにか記録にないのですが+=に直してたみたいです……

お騒がせしました

205 :デフォルトの名無しさん:2012/12/19(水) 10:39:20.36
>>198
Swingならマルチスレッドは不可なので、
自分が作ったやり方だと、
@表示する部分をシングルスレッドで書いて画像を読み込む部分をマルチスレッドで書く
Aマルチスレッドが読み込み終わったらシングルスレッドの表示する部分の設定をしてイベントを発生させる
Bシングルスレッドが自動的に表示する
って感じで

Swingのスレッド処理を理解する
ttp://www.atmarkit.co.jp/fjava/rensai3/swing06/swing06_02.html

206 :デフォルトの名無しさん:2012/12/19(水) 10:51:34.08
イメージ読み込みって、ネットワークからでも取ってきてんの?
そもそもJavaにはImageObserverがあるから
その程度ならマルチスレッドを手書きする必要ないと思うけども
ファイルか、ネットワークからの読み込みならgetToolkit().createImage(URL)使ってImage作って
drawImageの引数のImageObserverにペイントしてるJComponent自体を入れれば
画像を遅延してリアルタイムに読みこんでくれるよ

207 :デフォルトの名無しさん:2012/12/19(水) 10:57:38.58
javaにはスレッドプールないの?

208 :デフォルトの名無しさん:2012/12/19(水) 11:01:51.66
あるけど超絶使いにくい

209 :デフォルトの名無しさん:2012/12/19(水) 11:08:03.22
C#に差をつけられすぎではないか

210 :デフォルトの名無しさん:2012/12/19(水) 11:09:53.62
C#はJavaの後継だから
しかもほぼ窓専

211 :154:2012/12/19(水) 15:23:33.28
>>155
さんのアドバイスをもとに調べてやってみました。ASTParserを使ってメソッドを抜き出しまではできましたがその後どうすればよいか全くわかりません
この後どのように埋め込めば良いのでしょうか?メソッド名が一致した時に自動でサンプルとして表示させたいのですが

212 :154:2012/12/19(水) 18:44:49.73
連投すみません
方法を変えてタグを使ってサンプル表示をする方法に変えたいのですが自動でタグをつける場合はどうすればよいでしょうか
ソースコードの後にメソッドが保存されているテキストを読み込んでタグをつけて追記したいのですが

213 :デフォルトの名無しさん:2012/12/19(水) 18:46:18.10
>>211
なんか別の方向に頑張ってないか?
215のタグを使うんならこんな感じになるはず。

public class ImportFileTaglet implements Taglet {
private static String TAG_NAME = "importFile";

public static void register(Map map) {
map.remove(TAG_NAME);
map.put(TAG_NAME, new ImportFileTaglet());
}

@Override
public String toString(Tag tag) {
final String fileName = tag.text();
File f = new File(fileName);
// fの内容読み込み+整形.
// 別メソッドに切り出せ.
return 整形した文字列
}

// その他メソッドも実装
}

214 :デフォルトの名無しさん:2012/12/19(水) 18:51:08.41
昨日javaの入門書購入して始めてみたんですが、問題集みたいなのも買ったほうがいいでしょうか?
あればオススメとか教えてもらえると嬉しいです

215 :デフォルトの名無しさん:2012/12/19(水) 18:58:56.91
>>214
プログラム初心者なら入門書を真面目によんだほうがいい。
他の言語の使用経験があるなら、OCJ-Pの問題集とかやった方が早い。

216 :デフォルトの名無しさん:2012/12/19(水) 19:05:18.48
>>215
プログラム未経験です。
とりあえず入門書読み込みます。
丁寧なアドバイスありがとうございます。

217 :デフォルトの名無しさん:2012/12/19(水) 19:18:48.26
質問
BufferedImageのsubImageで画像を分割して配列に格納したが、pngの透過情報が保持されなかった
subImageが便利なので、できれば近い形で分割したい

いろいろ調べて、
BufferedImage img;
img = ImageIO.readImage(new File(imgpath);
BufferedImage dest = new BufferedImage(img.getWidth(), img.getHight(), img.TYPE_INT_ARGB);
見たいな感じでためしたのだが、どうもImageIO.readImageの時点で透過情報が失われている気がする

ヒントください

218 :デフォルトの名無しさん:2012/12/19(水) 19:29:35.80
あ、もしかして
ImageIconで普通に画像読み込む
透過情報もったBufferedImage用意
そこにgetGraphics()でdrawImageしろってこと?

だけどgetGraphicsは極力使いたくないなぁ

219 :デフォルトの名無しさん:2012/12/19(水) 21:40:50.44
>>217
ImageIO.readImageで作ったBufferedImageは透過するけども
そのBufferedImageのsubImageも同様

new BufferedImage(img.getWidth(), img.getHight(), img.TYPE_INT_ARGB);
を指して透過情報が無くなってるって言ってるのか?それAlphaどころかRGBも入ってないっしょ

220 :デフォルトの名無しさん:2012/12/19(水) 21:58:30.94
はらいてえw

221 :デフォルトの名無しさん:2012/12/19(水) 22:15:12.38
どれどれ、おいちゃんに詳しく教えてみ

222 :デフォルトの名無しさん:2012/12/19(水) 22:56:17.63
質問です。
素人で初歩から、インターフェースなど一通り勉強しました。
そして、インナークラスというものが出てきましたが、使いどころというか、なんの為に存在しているのかがわかりません。
ご教授願います。

223 :デフォルトの名無しさん:2012/12/19(水) 23:03:30.49
>>222
一例を挙げると、あるクラスの中で複雑な情報を構造化して保持したいが、
その構造体を別のクラスで使うことがない、または使わせたくないような場合に使うことがある。

224 :デフォルトの名無しさん:2012/12/19(水) 23:10:00.57
>>222
非常によくあるのが、イベントリスナを実装する場合。
外側のクラスにボタンクリックのリスナとかいろいろ実装するのは実装を無駄に晒すことになってよろしくないので
クラスの中だけでこっそりインターフェイスを実装するのにインナークラスを使う。
慣れてくるとわざわざインナークラスを書かなきゃいけないのも冗長だと感じるようになり
Javaがクソだと叩かれる理由がわかってくるよ。

225 :デフォルトの名無しさん:2012/12/19(水) 23:12:47.95
実際は無名クラスで大体事足りる。
だから、ベテランの Javaプログラマでも、使い捨ての実験プログラム以外には
使ったことが無いという人がいっぱいいると思うよ。

226 :デフォルトの名無しさん:2012/12/19(水) 23:58:12.05
( ´_ゝ`)フーン

227 :デフォルトの名無しさん:2012/12/20(木) 15:55:43.26
>>213
ありがとうございます
自分でも混乱しているのかやり方を調べてみたのですが理解することができませんでしたorz
申し訳ないのですができたらもう少し詳しく説明して頂きたいのですが…

228 :デフォルトの名無しさん:2012/12/20(木) 16:31:00.05
いえいえ

229 :デフォルトの名無しさん:2012/12/20(木) 16:31:29.66
いえーいする機械

230 :デフォルトの名無しさん:2012/12/20(木) 16:33:15.84
さすがジャバラーさんは違いますね^^

231 :デフォルトの名無しさん:2012/12/20(木) 16:45:11.70
うん

232 :デフォルトの名無しさん:2012/12/20(木) 19:11:03.98
JAVAの超絶初心者でも理解できる入門サイト、もしくは入門書って
ありますか?

「JAVA 入門」で調べたサイトや初心者用の入門書には結構目を通してるんです
が…戻り値とか引数とか継承とか色んなワードがごっちゃになってしまい
まして…。頭悪いだけなんでしょうけど、Dラン文系の私でも理解できる救世主的
なモノがあれば、教えて頂きたいです!

233 :デフォルトの名無しさん:2012/12/20(木) 20:10:39.32
>>227
ふざけるな.
つーか自動でタグ付けるってなんだよ.
おまえはJavadoc出力した時にHTMLの指定箇所に外部ファイルの内容表示したいんだろ?
おまえ自身が位置決めてどのファイルの内容を取り込むか書かないとわかるわけないのが理解できねーのか.
oracleが公開してるタグレットの概要を熟読して213のサンプルが理解できるまで見直してこい.

234 :デフォルトの名無しさん:2012/12/21(金) 04:50:19.77
ゆとりっぽい奴の相手なんかしてるとそのうち死ぬぞ

235 :デフォルトの名無しさん:2012/12/21(金) 06:07:14.63
馬鹿には無理

236 :デフォルトの名無しさん:2012/12/21(金) 13:24:12.58
それは単純にjava以前の問題の気が。
いっぺんにやるときついよね。

引数と戻り値をまずやって、継承なんかは後回し。

javaに拘らず関数 プログラミングなどのワードで調べるのはどう?

C言語の方を見てみるのもいいかもね。

*で三角形を出力みたいな、簡単なプログラムは作れる?
作れないようなら、さらにそれ以前の問題。

237 :デフォルトの名無しさん:2012/12/21(金) 13:45:16.14
ていうかスルーしろウザイ

238 :デフォルトの名無しさん:2012/12/21(金) 22:07:29.92
ゆとり乙

239 :デフォルトの名無しさん:2012/12/22(土) 22:20:53.57
NetBeans 7.2で開発してます.
NetBeans上で実行すると,
java.lang.ClassFormatError:Absent Code attribute in method that is not native or abstract in class file ***
という例外が発生します.
しかし,ソースファイルに誤りが無く,
実際,
生成されたjarファイルを端末から直接起動させると正常に動作します.
また,classファイルを手動で削除したり,
「ファイルを消去してビルド」の実行をしましたが,解決しません.
なにか,解決法がありますか?

240 :デフォルトの名無しさん:2012/12/23(日) 08:49:04.46
質問です
通常はTimerTaskで5秒後にrunメソッドを呼び出す
しかし、ある条件を満たせば5秒たつ前にrunメソッドを呼び出したい
みたいな場合はどのように書けばよいのでしょうか

241 :デフォルトの名無しさん:2012/12/23(日) 11:49:20.67
その"ある条件"とやらはイベントなどでプッシュされてくるものなのか
それともこちらから定期的に調べないといけないものなのかどっちだ
前者ならリスナでTimerTaskをキャンセルすればいいだけ
後者なら元のTimerTaskに組み込むよりも、その条件を定期的に調べるためのタスクを別個に動かして
条件が満たされたら元のTimerTaskをキャンセルするのがシンプルだと思う

242 :デフォルトの名無しさん:2012/12/23(日) 11:58:00.08
util.TimerTaskだと簡単ですけど、コンカレントだとtimer taskをcancelするのは難しいですよね
そもそもtask canelはサポートされてないと考えたほうがいいのかもしれません
定石だとどうやるんですか?

243 :デフォルトの名無しさん:2012/12/23(日) 12:04:51.52
いやサポートされてるから
ScheduledFutureのcancelメソッド

244 :デフォルトの名無しさん:2012/12/23(日) 12:34:12.70
コンカレントより単純なutil.TimerTaskの方で済ましてるので具体的な検証用コードは忘れました
思い出そうにも、またコンカレント・フレームワークを一通り見直さないといけないので何だったかを思い出すのは面倒です
記憶によればたしか自分のgui swingで使おうとして、cancelがTimerTaskより複雑になりやすいのが原因でコンカレント・フレームワーク全てをgui swingのコードから排除したような・・・?
util.TImerTaskはシングルの設計上の問題あるので、何とかしたいなあなんて思ってたりするんですよー

245 :デフォルトの名無しさん:2012/12/23(日) 12:41:09.57
>>241
キー入力→Timer作成→フラグによりこのタイミングでaを描画
→5秒たつとaを削除(画面外へ移動)→そのタイミングでbを描画
→bを描画と同時に別のタイマ作成→3秒たったらbを削除(画面外へ移動)

aとbに当たり判定をつけて、aにbがあたると、aが描画されてから5秒たっていなくてもaを削除しbを描画したいです

例えるなら、
寿命5秒生き延びられるはずのaがbというマラリアにかかると5秒たたずして死んでしまう感じです
aが描画されると最大5秒後までにはbが描画されますから、
このbというマラリア菌が死滅する3秒間の間に更にキー入力によりaが描画されbに当たると死にます

246 :私=240=245です:2012/12/23(日) 12:43:09.12
242、244は出歯亀です

247 :デフォルトの名無しさん:2012/12/23(日) 12:46:34.04
>>245
そういうのは頻繁(この場合1秒ごとかな)に更新かけて自分で時間測ったほうが簡単だよ
シミュレーションやアニメーションやゲームはそうやる

248 :デフォルトの名無しさん:2012/12/23(日) 12:51:39.18
自分で時間計るとは?それってTimerとは別なのですか?

249 :デフォルトの名無しさん:2012/12/23(日) 13:03:40.30
>>248
int startTime = -1;
// 一秒ごとに呼び出されるメソッド。引数は起動時からの経過秒数。
void timeStep(int totalTime) {
if (startTime < 0) { startTime = totalTime; return; }
int elapsed = totalTime - startTime;
if (elapsed == 5) 処理();
else if (特別な条件) 処理();
}

250 :デフォルトの名無しさん:2012/12/23(日) 13:16:43.94
thread使うなってことですかね
それってシミュレーションや、もともと決まったアニメーションだと便利ですが
アクションゲームでも使われるのですか?
System.currentTimeMillis()使ったりすることはあります

251 :デフォルトの名無しさん:2012/12/23(日) 13:24:11.06
基本は一緒でループぶん回すだけだよ。
ステートマシンで済む話なので重いスレッドなんか使わない。

252 :デフォルトの名無しさん:2012/12/23(日) 13:31:33.90
ていうかループとかシングルスレッドとか駆使するのはjavaのテクニックとは違うな

253 :デフォルトの名無しさん:2012/12/23(日) 17:18:21.60
javaでif文でwhere句を書き換えたとしたら、それは動的SQL?

今の現場で動的SQLがパフォーマンス面で毛嫌いされてるのですが、
where句にif文書くだけでレスポンスは悪くなるもんですか?
javaコンパイル時にSQLがコンパイルされずに、実行時にコンパイルされるから遅くなる?

条件やソート違いのために、前後のお決まり文句も含めて
SQLべたべたコピーしたくないー

254 :デフォルトの名無しさん:2012/12/23(日) 17:42:20.97
馬鹿には無理

255 :デフォルトの名無しさん:2012/12/23(日) 17:56:12.17
>>253
JDBCでは全て動的SQL。
静的SQL使いたかったらSQLJ。
http://publib.boulder.ibm.com/html/as400/v5r1/ic2962/index.htm?info/db2/rbafzmstjdbcsqlj.htm

動的SQLでもパフォーマンス求めたいなら、ステートメントキャッシュ使うとか。

256 :デフォルトの名無しさん:2012/12/23(日) 18:02:47.86
>>253
現場がバカ

257 :デフォルトの名無しさん:2012/12/23(日) 19:19:36.87
>>253
ここでの風聞を持ち出しても周りの人間は説得できないから意味ないんじゃね?
テストプログラム作れば一発でわかるし、納得させられること。1時間もかからないでしょ。

258 :デフォルトの名無しさん:2012/12/23(日) 22:36:35.41
>>252
Swing使うなってことですか?

259 :デフォルトの名無しさん:2012/12/24(月) 00:24:30.88
>>258
っていうかそもそもクライアントのGUIアプリとかグラフィックの類にJavaは使わないから

260 :デフォルトの名無しさん:2012/12/24(月) 00:49:51.43
JavaのUIといえばHTMLを垂れ流すだけです
普通のGUIアプリやゲームを作りたいなら.NETへどうぞ

261 :デフォルトの名無しさん:2012/12/24(月) 08:16:20.90
GUIとゲームでは使うテクニックがまったく違うけどね。まあいいけど。

262 :デフォルトの名無しさん:2012/12/24(月) 14:10:09.13
自分でプログラム書いててprotected使うときってどういうとき?
「ここではデフォルト実装しとくけど拡張したかったら継承してね」ってときくらい?
思想によっては、あらゆる拡張の可能性を考えてpublicでなければprotectedにする人もいるみたいだけど。

263 :デフォルトの名無しさん:2012/12/24(月) 14:38:13.65
プログラミングをはじめてみようとjdkをインストールして環境変数のpath編集までしたんです。
ですがクラスファイルにしたあと実行できないんです。
classpathもいじってクラスファイルのある場所にしたんですがやっぱりできません。
その時に出るのがこんな文字なんですが原因がわかりません
Error occurred during initialization of VM
Unable to load native libraty: Can't find dependent libraries

264 :デフォルトの名無しさん:2012/12/24(月) 16:41:11.80
>>263
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1264491502

265 :デフォルトの名無しさん:2012/12/24(月) 16:54:06.07
>>264
それも読んでやりました
でもダメなんです

266 :デフォルトの名無しさん:2012/12/24(月) 16:56:47.27
>>262
これは言語の知識というより、経験則の世界だけど、
そもそも抽象クラスというものをめったに使わない。
あと、スコープが問題になるのは、多くの場所から利用される場合だと思うけど、
汎用性を上げていくとどうしても抽象クラスはインタフェースになってしまうので、
そういう場面ではさらに抽象クラスの使用頻度は減る=スコープが問題になる場合が少ない。

なので、 protected は、プログラム全体におけるスコープ管理という観点よりも、
局所的な実装のテクニックとして、どうしても必要な場合にだけ使う、
ってのが実情だと思う。これは抽象クラス自体にも言えるかも。

267 :デフォルトの名無しさん:2012/12/24(月) 17:28:42.04
質問致します
ゲーム制作にこの言語を学習したいのですが
プログラム初心者です
オススメの書籍をご教授お願いします!!

268 :139:2012/12/24(月) 17:34:53.40
>>263
もうちょっと詳しく書いたほうがいいな。
- ディレクトリ構成 (ソースの置き場、クラスファイル出力先など)
- コマンドラインから実行したなら実際のコマンドと結果を貼って
- eclipse などのIDEから実行したなら画面全体キャプチャ
- path, classpath 環境変数 (Windows なら set コマンドだっけ?、Linux/Mac なら env コマンドの実行結果)

269 :デフォルトの名無しさん:2012/12/24(月) 17:49:25.33
>>268
わかりました書いてみます

270 :デフォルトの名無しさん:2012/12/24(月) 17:57:44.94
ディレクトリ構成
ソースはcdと同じところにあって
c:\users\パソコン名
クラスファイル出力先はわかりません設定する方法があるならご教授下さい

コマンドラインってコマンドプロンプトのことですか?そうでしたらこれです
http://i.imgur.com/KWMPV.png

path C:\Program Files\Java\jdk1.7.0_10\bin
classpath C:\users\パソコン名

クラスパスは一度 C:\Program Files\Java\jdk1.7.0_10\lib から変更しています
ネットで類似エラーは検索したんですが……

271 :デフォルトの名無しさん:2012/12/24(月) 18:13:23.72
>>267
板違い。ゲーム製作技術板へどうぞ。

272 :デフォルトの名無しさん:2012/12/24(月) 18:23:24.53
>>266
ライブラリやフレームワークを作るようになるとそういうのも分かってくるよ

273 :268:2012/12/24(月) 18:32:25.11
>>270
ご苦労様。
C:¥Users¥complicated vector¥ の下に、Hello.java とコンパイルの結果である Hello.class があるわけだね。

ファイル出力先は -d オプションで out フォルダとか class フォルダに出力できるけど、話がややこしくなるから今回はやめておこう。
javac -d out Hello.java
javac -d class Hello.java

コマンドの実行と、path 環境変数は問題なさそうだけど、classpath はそもそも設定する必要ってあった?
JDKをインストールした時に自動的に設定されたのなら元の設定に (..¥jdk1.7.0_10¥lib がそうかな?) 、そうでないなら classpath 変数を削除してもう一回実行してみて。

274 :デフォルトの名無しさん:2012/12/24(月) 18:40:52.66
>>273
classpathはインストール時は未設定だったので削除してもう一度トライしましたが
同じエラーになりましたorz

275 :268:2012/12/24(月) 19:12:04.88
>>274
うーん。native library 云々だから .jar か .dll が見つからないんだと思うんだけど、となると path の方かな?

> path C:¥Program Files¥Java¥jdk1.7.0_10¥bin

は自分で追加した部分?それとも現在の設定値 (他に c:¥WINDOWS¥System32¥.. とか混じってない) ?
path の元の値を上書きしちゃってると .dll が見つからない可能性はあるな。
"C:¥Program Files¥Java¥jdk1.7.0_10¥bin" は元の Path の値に追加するんであって、既存の値を上書きしてはいけないことに注意。

ここにキャプチャ付きで書いてあるから見なおしてみて、自分の設定 (pathコマンドの出力結果)が最後の画像と同じようになってるかどうか確認してみて。
ttp://blog.kcg.ne.jp/blog/takagi/8450

276 :デフォルトの名無しさん:2012/12/24(月) 19:17:09.47
>>272
移動します
失礼しました!!

277 :デフォルトの名無しさん:2012/12/24(月) 20:00:58.90
>>275
パスはこんな感じです
http://imgur.com/Ux3LE

278 :デフォルトの名無しさん:2012/12/24(月) 20:08:30.66
>>274
ttp://www.alicenetwork.net/picture/view/alp4435
こう云う風にJavaとJavacのVersionが合致しないといけないと思うんだが、どうなる?

279 :デフォルトの名無しさん:2012/12/24(月) 20:16:36.69
>>278
エラーになりましたね
http://i.imgur.com/KIJ68.png

280 :デフォルトの名無しさん:2012/12/24(月) 20:27:30.70
なぜかしらんけどJREが無い。
JREインストールかな。
http://java.com/ja/download/
ここからVersion7Update10をインストールしてみ。

281 :268:2012/12/24(月) 20:28:13.08
へえー。System32 以下にも java.exe がインストールされてるのか。それが邪魔なのかな。
Path に追加した C:¥Program Files¥Java¥jdk1.7.0_10¥bin を一番最初に持ってくるようにしようか。

282 :デフォルトの名無しさん:2012/12/24(月) 20:29:48.11
すばらしい!!!

283 :デフォルトの名無しさん:2012/12/24(月) 20:43:32.22
>>280
インストールされているかの検査がありましたが正常でした
それでもインストールするということですか?

284 :デフォルトの名無しさん:2012/12/24(月) 20:44:18.25
>>281
変更して再起動してみます

285 :デフォルトの名無しさん:2012/12/24(月) 21:16:41.68
JREがインストール済ならJREへのパスを設定すれば直るかもしれない。

自分のPATHの抜粋
PATH=C:\Program Files\Java\jre6\bin;C:\Program Files\Java\jre7\bin;C:\Program Files\Java\jdk1.7.0_10\bin

286 :デフォルトの名無しさん:2012/12/24(月) 21:18:44.98
>>281
できました ありがとうございます
つまり原因はなんだったんでしょうか
初心者の私にもわかるように教えてくださいませんか

287 :デフォルトの名無しさん:2012/12/24(月) 21:19:51.85
>>285
原因の発見に手を貸していただきありがとうございました。

288 :268:2012/12/24(月) 21:35:26.08
>>286

要点をまとめると
1. java コマンドを実行しようとすると、いくつかインストールされていた java.exe のうち、Path に設定されている一番最初の C:¥Windows¥System32¥java.exe が呼び出されていた。
2. 1の .exe ファイルが必要としていた "native library" (多分何かの .dll ファイルのこと) が見つからずに最初のエラーが発生。
3. Path の設定を変えて、java コマンドを入力した際には C:¥Program Files¥Java¥jdk1.7.0_10¥bin¥java.exe が呼び出されるようにした。

問題はどこから C:¥Windows¥System32¥java.exe が来たのかってところだけど、他のアプリケーションと一緒にインストールされたのかもしれないし、自分で昔インストールしたのかもしれないし。
32ビットの.dllはあるけど64ビット用の.dllが見つからないってことだったのかもしれないし。
実は Mac しか持っていないのでこれ以上はわかりません。
来年のクリスマスはMacを買おうね。

289 :デフォルトの名無しさん:2012/12/24(月) 21:37:54.05
>>288
マックしか持ってないのにすごいですね
私はこれからプログラミング頑張って勉強します。
もしもこれから何かあったらまた来てしまうかもしれません。
その時はよろしくお願いします。

290 :デフォルトの名無しさん:2012/12/24(月) 22:49:56.27
うむ

291 :デフォルトの名無しさん:2012/12/25(火) 07:08:02.76
自演乙

292 :デフォルトの名無しさん:2012/12/25(火) 07:39:37.26
ヤフオクで1万以下のwindowsマシンで十分開発できるのに
android開発にアップルなんか使うんだ(笑)(笑)(笑)
あいふぉ〜ん やってればいいじゃんw

アップルが大嫌いでiPhone用のシステムを造らなかった私がいる ※じょぶず死んだな 座間味
androidがのしてきてよかったわぃ だが、ジャバだがなw
C++でもいけるが情報などと天秤にかけるとしょうがないけどジャバだわな

293 :デフォルトの名無しさん:2012/12/25(火) 09:18:58.72
>>292
c++で javaのモジュール呼び出さずに androidの画面作るの?

294 :デフォルトの名無しさん:2012/12/25(火) 09:22:00.22
iOSもAndroidもVS+C#で作りたい

295 :デフォルトの名無しさん:2012/12/25(火) 09:26:18.56
>>292-294
すれちがい

296 :デフォルトの名無しさん:2012/12/25(火) 10:13:31.49
>>294
http://www.embarcadero.com/jp/products/cbuilder
来年からは楽になる

297 :デフォルトの名無しさん:2012/12/25(火) 10:16:40.49
>>293
http://d.hatena.ne.jp/zunchax/20110218/1298000472

298 :デフォルトの名無しさん:2012/12/25(火) 10:45:14.93
>NDKで開発する場合はメイクファイルを書かないといけなかったり
なんか隔世の感があるな。
ビルドプロセスを全然思うようにコントロールできない VisualStudio 使うほうが、
Makefile 書くより楽だってんだから。

299 :デフォルトの名無しさん:2012/12/25(火) 11:05:13.22
すれちがい

300 :デフォルトの名無しさん:2012/12/25(火) 11:06:58.74
>>296
Monoの独壇場だから勝ち目はないよ

301 :デフォルトの名無しさん:2012/12/25(火) 12:26:09.01
現状でjavaの方が情報が得やすいのでVisualStudioじゃなくてeclipseって事でしょ?
無料って事もあるかもだけど...

winでは組むだけならVC++とBCBではるかにBCBのが楽だからAndroidもBCBのがはるかに楽かと?
※BCBの短所は承知の上で

winもmacもAndroidもiPhoneも1パッケージで開発出来るならいいんじゃないかな?
しかも楽に組めるし

302 :デフォルトの名無しさん:2012/12/25(火) 12:46:35.02
ステマおつ

303 :デフォルトの名無しさん:2012/12/25(火) 17:39:15.69
>>302
お風呂掃除しかできないヤツ乙

304 :デフォルトの名無しさん:2012/12/25(火) 17:40:31.53
風呂釜掃除かw

305 :デフォルトの名無しさん:2012/12/25(火) 18:43:27.30
ツマラン

306 :デフォルトの名無しさん:2012/12/25(火) 20:29:11.96
うんこ

307 :デフォルトの名無しさん:2012/12/25(火) 21:13:20.57
JNIの質問って、ここでいいのかな?

C++のコードで

jintArray jtestArray = env->NewIntArray( length );
〜なんかの処理〜
env->DeleteLocalRef( jtestArray );

という風に作っているのですけど、処理を回すとヒープサイズが増大していきます。

メモリリークというか、参照が死んでいないっぽい気がするのですが、
ネイティブコード側で生成した配列って、DeleteLocalRef以外に何か解放処理が必要なのでしょうか。

誰かご存じないですか?

308 :デフォルトの名無しさん:2012/12/25(火) 21:17:52.71
System.gc()

309 :デフォルトの名無しさん:2012/12/25(火) 21:53:07.65
毎ループSystem.gc()は走らせてるんです…。

やっぱりその他の処理の問題になるのでしょうか。

jintとかのプリミティブ型にも解放処理が必要だったり…ってことは無いですよね、多分。
原因不明…頭が煮えそうだ。

310 :デフォルトの名無しさん:2012/12/25(火) 22:20:16.49
うんこ

311 :デフォルトの名無しさん:2012/12/25(火) 22:20:50.74
>>307
これじゃない?
ttp://www.ueda.info.waseda.ac.jp/~yoshida/java/jni/array.html

312 :デフォルトの名無しさん:2012/12/25(火) 23:14:27.94
System.gc(キリッ

313 :デフォルトの名無しさん:2012/12/26(水) 01:34:56.22
Charset charset = Charset.forName("UTF-8");
ByteBuffer bb = ByteBuffer.allocate(1024);
while (true) {
socketChannel.read(bb);
bb.flip();
CharBuffer cb = charset.decode(bb);
while (cb.hasRemaining()) {
System.out.print(cb.get());
}
}

こんなかんじで、ネットワークから取得した文字を永遠と出力したいのですが、
この場合、1024byte目に2byte文字が来るとその文字は正常にデコードされないようです。
なんかいい解決法はないでしょうか

314 :デフォルトの名無しさん:2012/12/26(水) 09:18:40.70
>>311
NewIntArrayで生成した配列も、ReleaseIntArrayElementsで解放する必要があるのでしょうか。
実際、他の配列から値を入れなおしている処理なので
jintのポインタはそれっぽいのがあるのですが、うまく行かなかったもので…。
もう一度試してみます。ありがとうございます。

>>312
System.gc("キリッ");
は疑って確かめたので、私も人の事は笑えないという事実。

315 :デフォルトの名無しさん:2012/12/26(水) 12:45:01.99
延々とを本気で永遠とだと思い込んでる人が少なくないんだな。

316 :デフォルトの名無しさん:2012/12/26(水) 13:08:35.03
うんこ

317 :デフォルトの名無しさん:2012/12/26(水) 13:10:53.11
>>313
1024byte目が2byte文字の1byte目かどうかで処理を分ければいいだけじゃね?

318 :デフォルトの名無しさん:2012/12/26(水) 14:15:28.48
>>313
> bb.flip();
こういうでたらめを誰に教わったんだ?

319 :デフォルトの名無しさん:2012/12/26(水) 15:32:18.86
すごく初歩的な質問なんですが、
Netbeansで、一つのソースパッケージに二つのJframeを作成しているとき、
後に作成したほうを実行しようとするともう片方のみが実行されてしまいます。
どうすれば後につくったほうのみ実行出来ますか?

320 :デフォルトの名無しさん:2012/12/26(水) 16:36:00.52
エスパー求む

321 :デフォルトの名無しさん:2012/12/26(水) 16:57:27.29
おらエスパー
お前ら死ねw

322 :デフォルトの名無しさん:2012/12/26(水) 17:28:46.39
うんこ

323 :デフォルトの名無しさん:2012/12/26(水) 18:00:01.94
には無理

324 :デフォルトの名無しさん:2012/12/26(水) 18:12:28.03
Java7のapidocの日本語ドキュメントってどこかで作成されているのでしょうか
なんというかオラクルの日本法人が作るものであるとか、
コミュニティがあるとか、誰か有志が勝手に作っているとか、どうなっているのかという話なのですが

英語で我慢しろというのはもう重々承知してますけれども

325 :デフォルトの名無しさん:2012/12/26(水) 18:58:43.11
ttps://twitter.com/yoshioterada/status/183876601795198976
有志が作ってるかどうかについては知らない

326 :デフォルトの名無しさん:2012/12/26(水) 20:04:36.18
どうもでした

327 :デフォルトの名無しさん:2012/12/26(水) 20:55:01.61
>>313
CharsetDecoder.decode(ByteBuffer in, CharBuffer out, boolean endOfInput)
あたりでいいんじゃね?

328 :デフォルトの名無しさん:2012/12/26(水) 22:36:22.37
>>324
英語で十分

329 :デフォルトの名無しさん:2012/12/26(水) 22:41:05.14
>>324
英語で我慢しろ

330 :デフォルトの名無しさん:2012/12/26(水) 22:58:51.17
英語で我慢しろというのはもう重々承知してますけれども

331 :デフォルトの名無しさん:2012/12/26(水) 23:04:53.22
2ch では細かい前提条件は無視される。

332 :デフォルトの名無しさん:2012/12/26(水) 23:05:11.90
java7のドキュメントはデザインが微妙に変わってるのが好きじゃない
6までのと同じでいいのに

333 :デフォルトの名無しさん:2012/12/26(水) 23:16:27.37
6から7で増加したクラスとインタフェースは246だから
それぐらい人海戦術でなんとかなるんじゃないかと思った

334 :デフォルトの名無しさん:2012/12/26(水) 23:25:53.52
>>324
我慢しろ

335 :デフォルトの名無しさん:2012/12/26(水) 23:28:29.43
人海戦術でどうにかなるんだろうけど実行する人が居なかった
そしてこれからも実行する人は出てこないだろう

336 :デフォルトの名無しさん:2012/12/26(水) 23:58:20.32
著作権侵害じゃね

337 :デフォルトの名無しさん:2012/12/27(木) 00:55:33.43
swingとTIMERって関係あるんですかね?

コールバックメソッドの内部を
単なるsystem.out.println("Hello");
とかにしても実行されないんですが.....

リスナーを使う時はTIMERクラスがセットなんですか?
しかもややこしいことにTIMERクラスって二つのパッケージでありますよね。
java難しすぎです。

338 :デフォルトの名無しさん:2012/12/27(木) 01:44:45.47
自己解決しました

339 :デフォルトの名無しさん:2012/12/27(木) 09:16:41.12
>>324
ガマンガマン

340 :デフォルトの名無しさん:2012/12/27(木) 09:43:56.85
JIS Java 作って、公費で日本語ドキュメント整備しようぜー。
VM仕様と言語仕様とSEのAPI仕様載ってるJISハンドブックがあったら
5000円ぐらい出しても構わん

341 :デフォルトの名無しさん:2012/12/27(木) 09:48:39.73
>>340
策定したところで本来の意味では全く役に立たないけどなw
規格はすべてオラクルの掌中にあり、勝手に実装したら訴えられます

342 :デフォルトの名無しさん:2012/12/27(木) 09:52:36.41
英語も読めないならジャバとかオープンソースはやめて素直にマイクロソフトをやれ

343 :デフォルトの名無しさん:2012/12/27(木) 10:05:50.45
ハードルが高いほうが私達には都合がよいです

344 :デフォルトの名無しさん:2012/12/27(木) 10:07:24.72
>>340
5000円(笑)
入門書じゃないですよ...(笑)

345 :デフォルトの名無しさん:2012/12/27(木) 10:08:06.99
>>343
同意
むしろ日本語の書籍全部オラクルが難癖付けて無くしてほしい

346 :デフォルトの名無しさん:2012/12/27(木) 10:16:52.03
サンは教育事業の方にも投資してたけど、オラクルになったらオッフィス事業は見切りを付け教育の方はガン無視でしょ
教育事業に付いては、オラクルが日本語を含めた各国語の翻訳を出版して、ウェッブでは会員制で閲覧し、有料会員ならマイクロソフト・サブスクリプション並の特権を付与する商売を始めればいい
暇そうにしているオラクル日本法人やその下請けに発注すれば追加経費も発生せずに始められる

347 :デフォルトの名無しさん:2012/12/27(木) 11:10:44.89
オラクルがそんなことするわけないじゃない

348 :デフォルトの名無しさん:2012/12/27(木) 11:20:37.28
>>346
今年で終わり♪

来年からはandもiPhoneもwinもマックも楽々クロス開発
しかもC++(もどきだがw)で...
ttp://www.embarcadero.com/jp/products/cbuilder

349 :デフォルトの名無しさん:2012/12/27(木) 11:23:41.24
>>348
既にMonoで実現してるが?
しかもC#で

350 :デフォルトの名無しさん:2012/12/27(木) 11:30:06.38
あーあ、本当にJavaを終わらせる言語が出てきて欲しいもんだ

351 :デフォルトの名無しさん:2012/12/27(木) 12:10:40.80
オラクル日本法人も含めた各国現地法人は営業のためにあるんだから、営業部隊は製品説明や請求書事務、さらには従来型の人海戦術営業手法だけでなく、
重要javadoc, api仕様, javaone event紹介、開発者コメネケーションのための日本語ウェッブサイト充実なども、現地人への営業手段として考えないといといけない

352 :デフォルトの名無しさん:2012/12/27(木) 17:43:50.26
>>349
情報はあまりないみたいだけど?

353 :デフォルトの名無しさん:2012/12/27(木) 20:13:46.29
一日一問!! Java (14) 生成されるのは、くだもの? りんご? | 開発・SE | マイナビニュース http://news.mynavi.jp/series/javaqa/014/index.html

この問題で「りんご」と出力させるように改変するにはどうするのがベストだと思いますか?
メンバー変数に virtual属性が付けられると簡単なのになあと思うのですが。

354 :デフォルトの名無しさん:2012/12/27(木) 22:52:49.72
>>324
我慢だ

355 :デフォルトの名無しさん:2012/12/27(木) 23:13:03.27
もう重々承知してますけれども

356 :デフォルトの名無しさん:2012/12/27(木) 23:14:22.54
>>353
そんな事よりも define と モーダルダイアログの方が先決

357 :デフォルトの名無しさん:2012/12/27(木) 23:24:43.17
苦しんで覚えるC言語のような、入門レベルのjavaオススメ勉強サイト
をおしえてください。プログラムの練習問題がのってるようなサイトでもいいです

358 :デフォルトの名無しさん:2012/12/28(金) 03:24:42.56
www

359 :デフォルトの名無しさん:2012/12/28(金) 09:41:42.42
>>357
本を買えよ
PCなら某書1冊、
Androidならさらに某書1冊、
読めば開発を開始出来る

360 :デフォルトの名無しさん:2012/12/28(金) 12:46:18.68
馬鹿には無理

361 :デフォルトの名無しさん:2012/12/28(金) 14:20:25.68
↑には無理

362 :デフォルトの名無しさん:2012/12/29(土) 15:25:02.15
reader.readLine();
の()ってなんなんですか?
new クラスネームのあとに()をつけるのは知っているのですが
これはnewじゃありませんしどうしてなんですか?

363 :デフォルトの名無しさん:2012/12/29(土) 15:46:59.99
針でかすぎw

364 :デフォルトの名無しさん:2012/12/29(土) 17:17:51.37
やさしいJavaでも買っとけ。知らんけど

365 :デフォルトの名無しさん:2012/12/29(土) 19:37:00.61
crontabでjavaを定時実行したいんだが。頭にパス書いて * * * * * java 名前 だけじゃダメなの?

366 :デフォルトの名無しさん:2012/12/29(土) 19:44:25.11
>>324
英語でいいだろw

367 :デフォルトの名無しさん:2012/12/30(日) 05:04:07.02
Procesbuilderで外部アプリを起動しRobotで操作する場合の質問です
例えばRobotにKeyPressさせる場合などで、途中フォーカスが移るとまずいですよね?
外部exeで起動したウィンドウを操作したり監視するにはどうすればいいのでしょうか

368 :デフォルトの名無しさん:2012/12/30(日) 15:27:48.82
public class Hoge<T extends U>
{
   private T t;
}


というクラスがあって、インスタンス作るときに貰った型パラメーターで
tをその型をキャストしたいんですが、どうやればいいのでしょうか?

Javaはコンパイルするときに型パラメーターは消してるようですが、
それでも、型パラメーターの型を取ることは可能ですよね?

369 :デフォルトの名無しさん:2012/12/30(日) 15:30:25.25
「tをその型をキャストしたい」って何を言ってるのかわからん

370 :デフォルトの名無しさん:2012/12/30(日) 18:09:20.00
>>369
tを、与えた型パラメーターでキャストしたいという意味です
わかりにくくてすいません

371 :デフォルトの名無しさん:2012/12/30(日) 18:12:58.24
日本語でお

372 :デフォルトの名無しさん:2012/12/30(日) 18:43:34.75
>>370
http://d.hatena.ne.jp/shawshank99/touch/20100427/1272326219
するなっていうのが定説

373 :デフォルトの名無しさん:2012/12/30(日) 20:23:58.45
Javaの案件あるから覚悟しといてって言われたんだが
基本的な事は昔勉強したからわかるんだが業務でjava使った事無い俺は
java: The Good Partsでも読んどきゃいいのか?

374 :デフォルトの名無しさん:2012/12/30(日) 20:41:21.55
>>373
C++でバリバリに組んでいた人なら1週間も本を読めばOKよw
eclipiseならエラーチェックも超親切だし(おせっかいとも言えるw)
逆に楽になった分出来なくなった事がかなりあるので、それをどう迂回するかの方が大変だな

375 :デフォルトの名無しさん:2012/12/30(日) 23:13:45.68
>>374
現場によりレベルや組み方がまちまち過ぎるから
使うツールに慣れといたほうがいい。
Good Partsに書いてある駄目パターンをコピペしなければいけない場合も多いし

376 :デフォルトの名無しさん:2012/12/30(日) 23:16:17.92
postgresqlからとってきたデータをJListに表示する際
jList.setListData(listData.toArray());
のとこでjava.lang.NullPointerExceptionが出るのですが
どうしたらよいでしょうか?

377 :373:2012/12/30(日) 23:47:34.85
>>374
C++はほとんどやった事が無いよ
eclipiseでjavaの基本的なところを勉強した事ある程度
C専門の俺に何でjava案件が回ってきたのかがさっぱりわからん

>>365
eclipiseなら何となくわかるが最近流行(?)のNetBeansだったらさっぱりわからんわ
せめてどっち使ってるのか聞いとけば良かった

>>376
listDataに本当にデータ入ってるか?

378 :デフォルトの名無しさん:2012/12/30(日) 23:58:07.06
死ね

379 :デフォルトの名無しさん:2012/12/31(月) 00:10:16.09
わかりました

380 :デフォルトの名無しさん:2012/12/31(月) 00:31:09.51
int i;
str s;
Hoge obj;


と宣言されているとき、動的にこのobjという参照型変数を手に入れたいんですが、やり方が分かりません。

Field field = getClass().getField("obj");

とやったとき、このfieldから取れそうでとれないのですが・・・。

381 :380:2012/12/31(月) 01:09:35.86
>>380
できました。
getField()の引数は対象となるクラスを入れるんですね

382 :デフォルトの名無しさん:2012/12/31(月) 08:17:12.62
>>381
Hoge obj = new Hoge();
Hoeg obj2 = obj;
これがやりたいわけではないのね?

こんな事をやりたいのかな?
>>Javaで、あるクラスのフィールド変数がstaticかどうか、privateかどうか等を調べる
等...

383 :デフォルトの名無しさん:2012/12/31(月) 12:12:28.22
>>382
やりたかったのは、「特定の名前がついてる変数」を動的に取得したいってことでした。


ところで、getDeclaredFields()で取得した「自分のフィールド変数」にアクセスする場合も
privateがついてる場合は、アクセスできるようにしないといけないんですね・・・・

外のクラスからAccessibleじゃないのは当たり前ですが、内部からもAccessibleじゃないのは違和感が

384 :デフォルトの名無しさん:2012/12/31(月) 12:17:40.28
リフレクションでprivateにアクセスできないのはカプセル化というより最適化を妨げないためのVMの仕様
実際は別に役に立ってないけど

385 :デフォルトの名無しさん:2012/12/31(月) 12:31:56.53
>>383
素朴な疑問...Fieldを使う理由

変数(Field)名とかは自分で把握してるでしょ?

386 :デフォルトの名無しさん:2012/12/31(月) 12:38:21.79
>>384
そうなんですか
パフォーマンスの問題なんですね

>>385
それが動的に決まるんです
だからフィールド変数を上から順番に見て名前が一致するものを探すしかないんですね

387 :デフォルトの名無しさん:2012/12/31(月) 15:18:15.35
馬鹿には無理

388 :デフォルトの名無しさん:2012/12/31(月) 15:46:33.65
動的に変数名が決まるって本気で意味がわからん…と思ったんだけど、
すべての引数と戻り値がObjectクラスっていう設計者は首くくれレベルのライブラリも見たことあるからなぁ

389 :デフォルトの名無しさん:2012/12/31(月) 16:16:21.82
Graphicsを一時的に記憶しておく方法はありませんか?
WindowListenerで監視し、閉じるを押したときのGraphicsを記憶
次また開いたときにその状態から描画を開始したいです

座標とかでしたらArrayList<Integer>で簡単にできると思うのですが、Graphicsの場合どうするべきでしょうか

390 :デフォルトの名無しさん:2012/12/31(月) 16:52:42.11
日本語でお

391 :デフォルトの名無しさん:2012/12/31(月) 16:55:47.67
??

392 :デフォルトの名無しさん:2012/12/31(月) 17:05:45.58
馬鹿には無理

393 :デフォルトの名無しさん:2012/12/31(月) 17:15:23.57
根本的に間違ってる

394 :デフォルトの名無しさん:2012/12/31(月) 17:53:25.66
何を保存するって?
http://docs.oracle.com/javase/jp/6/api/java/awt/Graphics.html

395 :デフォルトの名無しさん:2012/12/31(月) 18:14:23.50
JFrame上にパネルを追加して、お絵かきソフトを作ったんです
で、このJFrameは別のJFrame内のボタンをクリックすると開くようにしています

このお絵かきした内容を保つ方法が知りたいのです

396 :デフォルトの名無しさん:2012/12/31(月) 18:31:40.65
>座標とかでしたらArrayList<Integer>で簡単にできる

397 :デフォルトの名無しさん:2012/12/31(月) 20:06:19.54
>>389
データを適宜ファイルに落としておけばいいじゃん?
スマートじゃないけど確実

398 :デフォルトの名無しさん:2012/12/31(月) 22:20:02.56
自己解決しました

399 :デフォルトの名無しさん:2013/01/01(火) 01:18:48.66
自己満足しました

400 :389:2013/01/01(火) 06:44:11.33
>>397
JFrame上での操作を監視し、その動きに合わせて裏でBufferedImageにも描画させています
これはマウスが放された時点で絵を保存したい&リアルタイムでサムネイルが表示したいから作りました
しかし、これを一時的に保存しても得られるのは画像ファイルですよね?
一時的に保存した画像を読み込んでも、それは画像であり、閉じた時点のGraphicsの軌跡がわからないので困っています

401 :デフォルトの名無しさん:2013/01/01(火) 12:46:38.62
>>400
ペンの動きを監視して、それを記録して、それをsaveして、loadした時に再描画すれば?

402 :デフォルトの名無しさん:2013/01/01(火) 14:21:18.26
Graphicsオブジェクトが保存できたとしても、そのオブジェクトは
保存時点でのスナップショットに過ぎないから、あなたの言うような
ペンの軌跡(時系列データ)は自分で記録するしかないでしょ。

403 :デフォルトの名無しさん:2013/01/01(火) 14:56:25.83
なるほど
よくあるアンドゥ機能みたいな仕組みを考えて見ます

404 :デフォルトの名無しさん:2013/01/01(火) 16:32:45.04
>座標とかでしたらArrayList<Integer>で簡単にできる

405 :デフォルトの名無しさん:2013/01/03(木) 09:14:56.00
>>359
kwsk教えて!

406 :デフォルトの名無しさん:2013/01/03(木) 12:54:22.23
初心者なんだが、
http://www.ipa.go.jp/security/awareness/vendor/programmingv1/a03_02.html
の言っていることが、よく分からない。

アフォなの?

馬鹿なの?

interface で制限すりゃ良いなんて書いてあるが、
結局のところRWが出来るわけで全く解決になっていない様な気がするんだが。

それより、子クラスを作って他クラスからは、ROにすりゃ良いだけの話じゃね?
なんか、俺、間違ってる????

407 :デフォルトの名無しさん:2013/01/03(木) 13:37:18.62
>結局のところRWが出来るわけで

??
もしかして上から順に全メソッドを呼び出すなんて考え?
必要なときだけ用意した道具を実装(implements)するのが普通
何故子クラスを作ってわざわざ汚す?

408 :デフォルトの名無しさん:2013/01/03(木) 14:13:36.18
>>407
インスタンスを別の人が作ったクラスに渡してしまったら、
RWできちゃうじゃない

409 :デフォルトの名無しさん:2013/01/03(木) 14:17:13.60
たとえば、こんなんじゃないと根本解決にならないんじゃないの?
という疑問デスよ

final class oya1{
  private KoClass1 ko1 = new KoClass1();

//method・・・・

  voidinit(){
    ko1.val1=0;
    ko1.val2=1;
  }

  finalstaticclassKoClass1{
    private int val1;
    private int val2;
    public int getVal1(){return val1;}
    public int getVal2(){return val2;}
  }
}

410 :デフォルトの名無しさん:2013/01/03(木) 14:39:38.72
>>406 のリンク全部読むとちゃんと説明されてるじゃん。

>>409 だとインスタンスを作った後でフィールドを更新する手段を提供したくないようだけど、IPAの資料だと、インスタンスを作ったら会員番号は変更できないけど、お金を口座から引き出したり預け入れたりできる等、現実の世界と同じように細かく制御されてる。

特に更新系の setSomething()、addSomething() みたいなメソッドはただ値を直接更新するだけでなく、辻褄が合わなくならないように実装クラスにコードが追加されてるでしょ。

411 :デフォルトの名無しさん:2013/01/03(木) 15:14:49.10
>>410
???

更新する手段は、KoClass1でも出来るけど?

412 :デフォルトの名無しさん:2013/01/03(木) 16:32:02.60
ちょっと話ズレるけど……
あるクラスが不変なのか可変なのか、パッと見じゃ解らんのよね。

いちいちドキュメント読んで「オブジェクトは不変です。」って文章を
人間が確認するのが面倒くせえんだよ。

せっかくアノテーション作ったんだから、
標準ライブラリに@Immutableみたいなの作って欲しいわ……。

413 :デフォルトの名無しさん:2013/01/03(木) 17:04:28.06
>>412
そうそう。
それが、自分で書いていても長大なコードだとそうなっちゃう。

不変です、じゃなくて、
変更不可にしてしまわないといけない箇所も一杯あると思うんだわ。
スレッディングなんかした日には、もう。

414 :デフォルトの名無しさん:2013/01/03(木) 17:23:47.23
何か知らんがC++のconst基準に考えるとドツボに嵌る予感

415 :デフォルトの名無しさん:2013/01/03(木) 18:15:00.83
>>414
定数じゃないから

416 :デフォルトの名無しさん:2013/01/03(木) 18:15:44.52
確かに、悪意のある攻撃に対する防御の話ではないな

417 :デフォルトの名無しさん:2013/01/03(木) 20:00:28.06
趣味で英語圏の外国人と共同でjavaプログラムいじりしてて
相手方がどんな開発環境かわからないんですが
こちらはWin7のコマンドプロンプトからjavac.exeでコンパイルしてて

たまにコンパイルに必要なクラスが足りないとかでエラーが出るんですが
エラーメッセージって日本語で出ますよね
そのまま相手方に伝えられないのでエラーメッセージを英語で出したいのですが
これってWin7側の言語設定になりますでしょうか?

418 :417:2013/01/03(木) 20:44:34.90
英語エラーメッセージ化できましたー

javac -J-Duser.language=en

でした
blogに書いてくださってた方ありがとうぉぉぉ

419 :デフォルトの名無しさん:2013/01/03(木) 20:47:55.51
>>406
お前にはプログラミングは向いてない
そうそうに諦めろ

420 :デフォルトの名無しさん:2013/01/04(金) 00:35:47.14
>>377
eclipseだわ。やっぱりパスが通ってないのか。。。

421 :デフォルトの名無しさん:2013/01/04(金) 06:49:01.15
>>413-414
不変オブジェクトのために、constは要らないと思う。
クラスの中に可変フィールドがあってもいいのよ、不可視なら。

例えば java.lang.String は不変オブジェクトだけど、
#hashCode() をキャッシュするために private int hash; って可変フィールドがある。

結局現状のJavaの仕組みだと、オブジェクトが不変かどうか、作者しか解らないんだよね…。
しかも「不変かどうか」ってのはJavaでは超重要で、間違えるとCollectionがぶっ壊れるという……。

>>413
自分で自由に書けるときは、「原則として不変オブジェクトとする」っていう俺ルールで書いてる。
Box myBox = srcBox.x(10).y(20).width(30).height(40); みたいに。
内部値を変更する代わりに内部で毎回newして返すんだけど、マルチスレッドも楽に書ける。
代わりにGCが頑張ってくれる。

422 :デフォルトの名無しさん:2013/01/04(金) 06:54:39.72
そういうのもありでしょうね

423 :デフォルトの名無しさん:2013/01/04(金) 08:12:08.43
むしろ、コメント書いて自主規制するのが普通なのよね
縛りというかJavaって低レベル機能は推奨しない空気があるじゃん
vector使わずArrayList使えよみたいな
割と何でもできる機能を自主規制しながら使えって感じ

424 :デフォルトの名無しさん:2013/01/04(金) 09:19:30.39
ジャバ経験5年程度の普通のジャバ使いさんだとオブジェクト指向は難しいですから仕様がありませんよ

425 :デフォルトの名無しさん:2013/01/04(金) 10:17:05.14
CharSequence#subSequence()戻り値の実行時型が
たまたまStringBufferだったからといって、
StringBufferにキャストして文字を書き換えてはいけないよ

という話なのか?
俺に言わせりゃStringBuffer返す奴が悪い。

426 :デフォルトの名無しさん:2013/01/04(金) 10:33:23.13
linux amd ati radeonなんですけど -Dsun.java2d.opengl=True で起動すると相変わらずjniレベルでエラーがでるんですよ
java, javafxというのは実質的にwindows専用と考えたほうががいいんで、無理してマルチだクロスだと考えないで、素直に.netをやった方がいいです
atiが買収されて、sunが買収されて、それから5年以上たってもlinuxでは実質的にopenglは使えずjava7の現在でもjava2d レベルのラスタなんで、javaで何かちゃんとしたアプリを作ろうという企画ははっきり言ってjavaの現実を知らない人の座上の空論でしょうね

# SIGSEGV (0xb) at pc=0x00007ffe7d6d2c58, pid=23714, tid=140731123336960
# JRE version: 7.0_10-b18
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libX11.so.6+0x33c58] XQueryExtension+0x28

427 :413:2013/01/04(金) 10:36:00.91
>>421
レスありがと

本題の
http://www.ipa.go.jp/security/awareness/vendor/programmingv1/a03_02.html
だけど、

なんも解決策にはなっていないってことやね。
まあカプシャリングは俺も当たり前のように積極的だけど、
interfaceでの制限は、制限が目的というより、不変の宣言みたいなもんかな?

428 :デフォルトの名無しさん:2013/01/04(金) 10:53:27.19
アンドロイドはジャバ使うけど今後もジャバ使うのかな
グーグルのジャバって実はオラクルがダメだって言ってるのに今でも強引に使ってる違法(グレー)ものなんでしょ?
ジャバを勉強しても景気がよくなるような話はないし、この際だし、HTML5がそろそろだからやっぱりジャバスクリプトをやった方がいいのかな

429 :デフォルトの名無しさん:2013/01/04(金) 12:11:11.16
そこそこJavaやってる奴は大抵JavaScriptもやってるだろ
グレーかどうかとかどうでもよくて、表に出てこない部分って割とジャヴァだらけとだけ言っておく

430 :デフォルトの名無しさん:2013/01/04(金) 12:27:39.98
そうですよね
ナズホーンはかなり期待してるんですけど、ノードへのアクセスは、やっぱりドムのままなんでしょうか、それともセレクタなんでしょうか?
ジャバでウェッブを考えるとなると結局ジャバFXが出てくるんですが結局それってウインドーズ環境専用って噂じゃないですか
しかもジャバFXはまだリリースもされてないし、出る頃というか、2年後は既にHTML5環境のジャバスクリプトがメインになってるので、クライアントのジャバVM環境を勉強してるのではいつまで経っても温かいご飯にありつけないと思うんです

431 :デフォルトの名無しさん:2013/01/04(金) 12:44:09.40
HTML5は芽が出ないままおわりそうだけど

432 :デフォルトの名無しさん:2013/01/04(金) 12:46:45.30
HTML5にかかわらずクライアントJavaに未来なんかないけどな
っていうか現在があったことすらないけど

433 :デフォルトの名無しさん:2013/01/04(金) 12:50:53.35
スマホのアプリなんてWebサービスの操作盤にすぎないんだから、
JavaだろうがHTMLだろうがどうでもいい部分
スマホでしっかりコード書くのってゲームくらいだが、そこはC++/C#ばかりだしな

434 :デフォルトの名無しさん:2013/01/04(金) 12:57:55.76
SIerはHTML4+Java Struts1でまだまだ作るだろう
HTML5の多くの機能が大手ブラウザで未実装のままflashが死ぬと大変だな

435 :デフォルトの名無しさん:2013/01/04(金) 13:03:59.43
マルチプラットフォームが売りのはずのJavaなのに
iphoneでランタイムが残念な状況に対して

win専用と思われたC#がiphoneでも動く謎
UnityはHTMLより安心のマルチプラットフォームだぜ

436 :デフォルトの名無しさん:2013/01/04(金) 13:06:08.88
>>433
その歳で考え方がすでに旧式なんですね
多分あなたはプログラミングとかソフトウェアとかの方面はまったく向いてないです

437 :デフォルトの名無しさん:2013/01/04(金) 13:11:03.86
>>436
クライアントでなんでも動かすのが良いというの?
その考え方は今のJavaの用途のほとんどを否定しているぞ?w

438 :デフォルトの名無しさん:2013/01/04(金) 13:25:20.99
>>434
オラクルもいつもの顧客だけ相手をするのでなく新規顧客を獲得し、ジャバを上手に扱って新規市場をも開拓しないといけないなあって思うんですよ
もちろんジャバ開発者の入れ替えもしないと○○になることもあるので、PHPとかWEBJSとかの人はウェルカムで開発者マインドの方も新陳代謝も必要ですけど

439 :デフォルトの名無しさん:2013/01/04(金) 13:33:21.13
>>431
それはない。
今のjavafxをみてるとhtml5のwebapplicationが出てきたらjavafxは1年で消滅する(それほど話にならない)。

440 :デフォルトの名無しさん:2013/01/04(金) 13:37:22.94
>>439
出てこなくても消滅するよw
最初から全く相手にされず消滅したことすら誰にも知られないと思う

441 :デフォルトの名無しさん:2013/01/04(金) 13:57:34.85
サン開発のjavafx1のときはjavafx.comだったかの専用サイトもつくってマーケティングしてたのに、オラクルの担当に変わった途端、やる気なしでしょ
javafxだけみてもオラクルはクライアント開発は絶対にやる気ないのがよくわかる
JCPとかapacheとか主要グループをオラクル利権で固めて、グーグルとの裁判が終わって、全部がオラクル・ワールドになったら安心してjava部門を売却するんじゃないか(アップルとかに)

442 :デフォルトの名無しさん:2013/01/04(金) 13:59:25.23
>>439
ほかの一切合財と関係なくHTML5は立ち消えそう

443 :デフォルトの名無しさん:2013/01/04(金) 13:59:56.78
いやFX Scriptを切ったのは英断だろ
まあJavaFX自体を切るのがベストだったのは間違いないが

444 :デフォルトの名無しさん:2013/01/04(金) 14:19:36.94
JavaFX自体を切るのはありえるけど、オラクルで自前で使ってるアプリのゆくえの方が大事だろうから、オラクル的にはJavaFXの投資はXML+HTML5とメディア関係で最小限にしてUIはSwingの方にかなりに手を入れるべきだったと思う
JavaFXのUI(シーングラフ)はSwingとほぼ同じパラダイムだからまったく必要性がないし投資する動機にもならない
つまりjavafxライブラリ(各スタックなど)・フレームワーク(バインディングなど)開発の品質だけでなく、マーケティング的にも必然性なしで失敗してる

445 :デフォルトの名無しさん:2013/01/04(金) 14:49:54.11
俺は意見が真逆だな
JavaFXはむしろ成功しているように感じる
まだまだ局所的に言語を使い分けているけど、そういう言語って今は便利だがこの先進化しない
皮肉の代名詞として’何でもJavaで作れる’なんて時代があったことが有名だが、あながちやろうとしてる事は間違いじゃないんだよ
全て包括する言語を目指すのは当然で、マーケティングとしても当然だと思う

446 :デフォルトの名無しさん:2013/01/04(金) 14:57:35.92
>>435
ジャヴァがマルチプラットフォームを売りにしていたのはサンの頃の話ですよ。
オラクルになってから数年経ちましたが現在のジャヴァは実質ウインドーズ専用ライブラリになってますよね。
上レスにもありましたがデスクトップのジャヴァでは、リーナクスのクライアント・サイドの開発はまったく進んでなく、マックでは最近やっと始動した程度で、ウェブではアプレットやウェブスタートはセキュリティー問題も含めて排除されました。
つまりジャヴァで何か作ってみても安心して稼働しないのでマルチプラットフォームなんてものは実現してなく、ライブラリのバグ・品質も悪く放置のままです。
しかもオラクル・ジャヴァはウインドーズ環境のものだけしか投資してないので、ジャヴァは実際はマルチプラットフォームではありません。
再コンパイルせずに他環境で一応動くってものであって、UIやクライアント、ネイティブ機能がからんでくると途端に実用レベルではなくなり、ブラウザ・ウェッブ・アプリよりも遅くパッフォーマンスも悪くなります。
モーバルではグーグル・ジャヴァしかありません。
頼みのウインドーズは今後デスクトップのパラダイム自体がなくなっていくので、現在のジャヴァ(JavaSE,JavaFX)が今後大きく伸びるような余地もありません。
素直にドトネトを勉強した方がいいんじゃないですかね。

447 :デフォルトの名無しさん:2013/01/04(金) 15:06:57.24
>>446
performanceのアクセントは第二音節だぞ
ウェブかウェッブか統一しろ

448 :デフォルトの名無しさん:2013/01/04(金) 15:07:39.94
そもそもJavaでクライアントサイド(スタンドアロン)アプリ作る奴なんかおらんだろ
Javaは今も昔も、そしてこれからもWebアプリケーション開発のサーバサイド専用言語だ
言語は適材適所で使えば良い

449 :デフォルトの名無しさん:2013/01/04(金) 15:15:41.92
アクセントが第二音節にあってもパッフォーマンスというほうが通じる
何故なら日本人はアクセントを強拍にしてしまう癖があるから。
だから「パ」の部分が前の小節に行ってしまう
弱拍からしっかり入るパッフォーマンスのが通じる
何より促音がアクセントだと思うこと自体間違い
446でもないしスレチでどうでもよいが・・・

450 :デフォルトの名無しさん:2013/01/04(金) 15:17:23.79
>そもそもJavaでクライアントサイド(スタンドアロン)アプリ作る奴なんかおらんだろ

451 :デフォルトの名無しさん:2013/01/04(金) 15:18:39.88
>>438

452 :デフォルトの名無しさん:2013/01/04(金) 15:37:36.97
適材適所で使われてきた言語がどれだけ廃れたことか知ってて言ってるのだろうか
ロゴライターを忘れたか?
適材に値しねぇよって言ったやつは表でろ。MITの亀地獄が待ってるぞ。

453 :デフォルトの名無しさん:2013/01/04(金) 15:56:37.57
PHP<Web専用です、廃れるかとおもいきや今までしぶとく生き残っています。

454 :デフォルトの名無しさん:2013/01/04(金) 16:19:42.58
>>448
たまにはV2Cのこ

455 :デフォルトの名無しさん:2013/01/04(金) 23:13:46.66
>>448
呼んだか?

456 :デフォルトの名無しさん:2013/01/04(金) 23:33:26.24
>>452
言語設計というのは、汎用開発を目的とすると、いつまでも拡張して機能追加していくので、このアーキテクトの「設計」のワークに終わりはありません。
この点ジャバVMはバイトコード表をみるとちゃんとゴールを設定してあって、ちゃんと寿命もセットしてあって、さすが、サンの凄い人たちが作ったんだなって思います。
ロゴライターのコンセプトが好きなら多分今ならp5なんか面白いんじゃないでしょうかね。

457 :デフォルトの名無しさん:2013/01/04(金) 23:39:50.35
そして伝説へ・・・

458 :デフォルトの名無しさん:2013/01/05(土) 02:03:14.86
http://www.youtube.com/watch?v=FGBhQbmPwH8
Daft Punk - One More Time

http://www.youtube.com/watch?v=Y0K6NBCTWW0
Tron Legacy with Daft Punk's Aerodynamic

459 :デフォルトの名無しさん:2013/01/05(土) 22:23:20.53
初心者です
わからないことがあるとぐぐるのですが、いつも上のほうにヒットするサイトが嫌いです
どうにかして表示させない方法はありませんか?
スレチかもしれませんが、javaに関してぐぐる可能性が高い人が一番多そうなので質問しました

460 :デフォルトの名無しさん:2013/01/05(土) 22:32:24.64
>>459
液晶はそのまま割ると縦に表示が消えて、右半分とかしか消えてくれないので、
液晶ディスプレイを縦置きに設定してから上半分を壊すとうまくいきます。
壊すのは初心者でも割と簡単に出来ると思いますよ。

461 :デフォルトの名無しさん:2013/01/05(土) 22:45:19.80
付け加えると、
firefoxでそのサイトだけ自動で画像を読み込ませないようにしても、編集者画像がgoogle.comに登録されており
さすがにgoogleを追加すると不便なので困っています。l

462 :デフォルトの名無しさん:2013/01/05(土) 23:03:44.49
ステマ乙

463 :デフォルトの名無しさん:2013/01/05(土) 23:14:34.41
>>459
心配するなお前は正常だ
名前うった時の予測変換が全てを物語っt…おっと誰かきたようだ

464 :デフォルトの名無しさん:2013/01/06(日) 08:49:01.12
コンコン

465 :デフォルトの名無しさん:2013/01/06(日) 13:09:19.84
ここは警察じゃないよ

466 :デフォルトの名無しさん:2013/01/06(日) 19:08:18.95
ジャバについては、マルチプラットフォームとかエベリウェアあたりの理念はサンの頃のもので、現在ではオラクルになっているのだから、そういう標語は捨てて、
オラクルらしい新しい標語を打ち立てた方が、今のオラクル・ジャバ(JavaSE,JavaME,JavaFX)の実体に対して各ジャバ開発者が持つ認識の誤解はなくなっていくと思う

467 :デフォルトの名無しさん:2013/01/06(日) 19:36:34.49
>>466
なんでカタカナで書いてるの?
JavaSE,JavaME,JavaFXのところだけアルファベットだけど。

468 :デフォルトの名無しさん:2013/01/06(日) 19:57:04.23
EE以外廃止すればいいだけの話
最も現状に即していて効果的なメッセージだ

469 :デフォルトの名無しさん:2013/01/06(日) 20:00:13.44
音読みで書くと長くなるってのも当然ですけど、Java, JavaFXはregistered trademarkなのでそれを尊重して特別に固有名詞扱いです

470 :デフォルトの名無しさん:2013/01/06(日) 20:34:01.84
>>427
>>406
> 結局のところRWが出来るわけで全く解決になっていない

書き換えようと思えばできちゃうから、確かに>>406の解決策にはなってない。
けど、作者がたった1行の変数宣言で
「俺は読み取るだけだ、変更はしないぞ」ってことを表明・宣言できるのは、すげえ利点だと思う。

もっと言えばコード読者の人間だけじゃなく、コンパイラやVMも
「この変数は不変なんだな」って解るようなアノテーションや機能があれば、
もっと便利になるのにと思うんだが…。

例えば、Map<StringBuilder, ?> map; みたいな、いかにもヤバそうな宣言があっても、
人間が確認するまでもなく、コンパイラが警告出してくれるとかさ。

471 :デフォルトの名無しさん:2013/01/06(日) 20:54:39.99
機械とか人間とかアノテーション機能とか関係なく、オブジェクト指向を5年以上使ってみっちり勉強してください

472 :デフォルトの名無しさん:2013/01/06(日) 21:04:05.90
>>471
オブジェクト指向っていってもさぁ
関数と変数を構造体の中に合抱にしてるだけじゃん

473 :デフォルトの名無しさん:2013/01/06(日) 21:12:18.92
馬鹿は一生ドトネトやってればでいいからさっさと死ねよ

474 :デフォルトの名無しさん:2013/01/06(日) 21:15:17.55
バカにはムリw

475 :デフォルトの名無しさん:2013/01/06(日) 21:15:25.24
有用なデータ構造は配列しかないのだ

476 :デフォルトの名無しさん:2013/01/06(日) 21:19:07.08
そう、FORTRANならね

477 :デフォルトの名無しさん:2013/01/06(日) 21:35:46.45
>>475
メモリ確保とポインタに勝るものはない(笑)

478 :デフォルトの名無しさん:2013/01/06(日) 21:51:24.50
CでもJavaでも、再帰呼び出しを使ったコードというのは構造化言語のハックに過ぎない(バグ)なのかなって最近思う。
Java9,10での導入を目指してこのバグを改善するための研究をしてるって話だけど、これ自体は単発だしどうなるんだろう。
オブジェクト指向と構造化言語のことを深く理解してないと何の議論なのかすらも検討つかないんだろうけど、いつまでも耳学問のままで適当にコード書いてるだけではそのうち行き詰まる。

479 :デフォルトの名無しさん:2013/01/06(日) 22:42:13.09
(馬鹿|ばか|バカ)には(無理|むり|ムリ)で正規表現NGまじおすすめ。

480 :デフォルトの名無しさん:2013/01/06(日) 22:46:40.79
↑バカにはムリw

481 :デフォルトの名無しさん:2013/01/06(日) 23:31:48.47
ちんぽ

482 :デフォルトの名無しさん:2013/01/07(月) 01:14:27.67
>>479
ばかにはむり

483 :デフォルトの名無しさん:2013/01/07(月) 01:32:23.19
パカには不会アルネ

484 :デフォルトの名無しさん:2013/01/07(月) 08:29:00.96
包茎には無理

485 :デフォルトの名無しさん:2013/01/07(月) 09:39:24.29
自己解決しました

486 :413:2013/01/07(月) 10:28:06.40
>>470
不変が重要かどうかは知らんけど、
少なくとも、
Read Only と Write Only を明示的に宣言できんと、
まともなセキュアプログラミングはできん。

まあOOPなら実現は出来るけど、スマートとは思えない現状だな

487 :413:2013/01/07(月) 10:30:10.49
おう

×Read Only と Write Only を明示的に宣言できんと、
○外部クラスからのアクセスにおいてRead Only と Write Only を明示的に宣言できんと、

488 :デフォルトの名無しさん:2013/01/07(月) 16:17:20.51
Java Swingにおいて、
JFrameを継承した自作クラスの中にJpanel継承クラスとJlist継承クラスを置いて、Jlistの要素をJpanelへドラッグエンドドロップするような処理を考えたいのですが、
マウスリスナやマウスモーションリスナはどのクラスにimplementsするのでしょうか?
3つともにimplementsするのか、あるいはJFrameにimplementsして制御できるのかが知りたいです
よろしくお願いします

489 :デフォルトの名無しさん:2013/01/07(月) 16:59:48.70
全然やり方違うはず。
Swing同士ならハンドラをセットするだけだったと思う。

ググったらいくらでも出てきたから、ググれ

490 :デフォルトの名無しさん:2013/01/07(月) 17:20:25.39
どれが正解というより素直にオブジェクト指向に従えよと言いたい
やり方が違うなんていう答えも違う。
まずMouseListener・MouseMotionListenerを持たせたいオブジェクトをクラスに分けろ
そのクラスにimplementsしろ
そしてそのオブジェクトをインスタンス化する流れでaddMouseListener(obj)・addMouseMotionListener(obj)しろ

JFrameにこのコンポーネントがあって、ボタンがあって・・・なんていう全体像からどこにimplementsするかなんて考えるべきではない。

491 :デフォルトの名無しさん:2013/01/07(月) 17:44:42.49
自力でポトペタ作るより、SwingスレでTransferHandlerの実装のしかた尋ねた方が早いぜ

492 :デフォルトの名無しさん:2013/01/07(月) 23:25:58.77
http://news.mynavi.jp/articles/2007/05/16/java7/index.html
こうした規則に則ったAPIとしてjava.beansパッケージが標準APIに用意されており、
そのAPIを用いれば、文字列とリフレクションを使って、それらのアクセッサメソッドに対し「プロパティ」としてアクセスできたのである。


とありますが、リフレクションなんて使われてるんですか?

private Hoge hoge;

public getHoge()
{
return hoge;
}

んで、ここのメソッド名はgetHogeではなくてgetHogeeでもgethogeでもgetHageでもいいわけですし、
普通のメソッドな気がするんですが

493 :デフォルトの名無しさん:2013/01/08(火) 00:14:59.98
>こうした規則に則ったAPIとしてjava.beansパッケージが標準APIに用意されており、そのAPIを用いれば

494 :デフォルトの名無しさん:2013/01/08(火) 00:17:19.09
馬鹿には無理

495 :デフォルトの名無しさん:2013/01/08(火) 07:46:51.35
自己解決しました

496 :デフォルトの名無しさん:2013/01/08(火) 07:47:36.07
包茎には無理

497 :デフォルトの名無しさん:2013/01/08(火) 08:19:01.18
>>479
ちんぽ

498 :デフォルトの名無しさん:2013/01/08(火) 22:37:48.08
javabeanって結局、ただのデータの入れ物なんですか?
javabeanを作ることによって、何かのframeworkと連携したりできるんですか

499 :デフォルトの名無しさん:2013/01/08(火) 22:52:45.15
ただのデータの入れ物です

500 :デフォルトの名無しさん:2013/01/08(火) 23:45:03.31
継承する可能性が高いクラスはbeanにするといい
ライブラリやフレームワークを作る側がbean作法で作ってると
それを使う側が拡張・改造しやすい。

setter getter うぜーと思うこともあるだろう。
アプリを作る側なら時に無視してもいいかもしれない。
後々に手を加える可能性があるならbean作法で作っとくと保守性が高い。

501 :デフォルトの名無しさん:2013/01/08(火) 23:54:42.42
>>498
これが参考になる。
ttp://stackoverflow.com/questions/1727603/places-where-javabeans-are-used

setter/getter の命名規則が決まってるから、よそから持ってきた JavaBeans でもドキュメントなしで使えちゃうってのは頭いいと思った。 ${user.id} ってJSPに書くと User クラスのオブジェクトの getId() が呼び出されるところとか連携のいい例だと思う。

502 :デフォルトの名無しさん:2013/01/09(水) 01:20:08.19
うわっ英語だ。
ボクにはムリだ。
ジャバはもうあきらめてやっぱりドトネトにしよう。

503 :デフォルトの名無しさん:2013/01/09(水) 02:13:30.79
.NETで何作るんだ?
今時Windowsアプリケーションを作っても需要ないぞ
世の中は無償のアプリケーションで溢れてるんだから

WebやるにしてもASP.NETだとIIS必須でライセンス費用高く付くし
Javaが無理そうならPythonやRubyなどのLL言語にしたほうがいい

504 :デフォルトの名無しさん:2013/01/09(水) 02:25:23.00
GUIを作るのに、JSならHTMLがありますが、RUBYのときWINDOWSとLINUXではどうやるんですか?

505 :デフォルトの名無しさん:2013/01/09(水) 03:25:09.12
>>504
GUIの指すものが一体何なのかその質問文からだと分からないが
Webブラウザ上に描画する画面と勝手に解釈して答えよう

答え
HTML5とCSS3
Webブラウザは究極のクロスプラットフォームなのでOSは関係ない

506 :デフォルトの名無しさん:2013/01/09(水) 04:04:03.49
GUIとはネイティブ・アプリのことです。
Javaだとネイティブ・アプリ(Swing,JavaFX)は全ての面でブラウザ・アプリにも劣り実用的ではないんですよね。
クライアントのネイティブ・アプリ開発だとJavaFXはもちろんJavaもオワコンって話ですよ?

507 :デフォルトの名無しさん:2013/01/09(水) 04:13:36.94
で?

508 :デフォルトの名無しさん:2013/01/09(水) 04:32:51.93
iOSとかAndroid以外のWindowsやMac向けの
ネイティブアプリ開発ってビジネスになるの?
受託開発の現場ではWebアプリケーション案件しかないし
>>503の言うとおりOSSで無償のアプリがあるのだから
有償パッケージ作っても売れない

ジャストシステムやソースネクストの株価みりゃ分かる通り
通常OS向けネイティブアプリ市場自体オワコンなんだよ

509 :デフォルトの名無しさん:2013/01/09(水) 04:42:25.77
オワコンだとして、それがなに?

510 :デフォルトの名無しさん:2013/01/09(水) 04:46:04.06
金にならない技術を習得しても無駄だから
Web系言語勉強したほうがいいよ

511 :デフォルトの名無しさん:2013/01/09(水) 04:48:32.03
言いたい事は言えたかい?気が済んだ?

512 :デフォルトの名無しさん:2013/01/09(水) 04:54:43.25
このままじゃJava云々関係なく、Windowsが死亡なんだからWindows向けアプリは全滅だな

513 :デフォルトの名無しさん:2013/01/09(水) 05:10:50.15
オラクルは、アンドロイド潰しに成功してれば高利益率モバイル市場を奪還できたんだから、グーグルの権利侵害裁判で大勝利できなかったのはオラクルの高利益率クライアント市場への進出が不可能になっていく悪夢の始まりなんだろう

514 :デフォルトの名無しさん:2013/01/09(水) 05:23:55.81
OracleにJavaの権利を握られているのがJavaの欠点だな

515 :デフォルトの名無しさん:2013/01/09(水) 05:43:53.09
裁判で欲張ったがために勝てる裁判で勝てないんだから、オラクルという企業の実力は実際はその程度しかないんでしょう

516 :デフォルトの名無しさん:2013/01/09(水) 08:43:49.88
>>504
Ruby/TK

517 :デフォルトの名無しさん:2013/01/09(水) 08:50:32.01
Ruby/Tkの環境を用意するには、
たとえば、
RubyおよびTcl/Tkをインストールする。

Rubyをインストールしたら、Tkもはいってるという情報もある。
cygwin

518 :デフォルトの名無しさん:2013/01/09(水) 09:01:51.19
Ruby で GUI するスレ
http://toro.2ch.net/test/read.cgi/tech/1269609576/

519 :デフォルトの名無しさん:2013/01/09(水) 09:16:26.40
てっきり「JRUBYでSWING」てのが返って来ると思ってた・・・

520 :デフォルトの名無しさん:2013/01/09(水) 10:41:59.99
このスレ見てて思うがJava使い=マカーと決め付けてる人がかなりいて焦る

521 :デフォルトの名無しさん:2013/01/09(水) 12:06:53.15
気のせいでしょう

522 :488:2013/01/09(水) 13:53:02.02
>>489-491
レスが遅くなって申し訳ありません。
実家だとWimaxの規制にかかってレスできなかったのですが、閲覧はできるので
参考にさせていただき、ちょっと挙動が変なのですが無事実装できました。
どうもありがとうございました。

523 :デフォルトの名無しさん:2013/01/09(水) 18:26:29.89
>>490>>488の返答としてまるでおかしい件

524 :デフォルトの名無しさん:2013/01/09(水) 19:01:55.56
>>490はD&Dの話はどうてもよくて
「リスナはどのクラスにimplementsするのでしょうか?」
「3つともにimplementsするのか」
なんて言っている>>488の考え方に突っ込みを入れたかったんだろう

>やり方が違うなんていう答えも違う。
は意味不明だけど

525 :デフォルトの名無しさん:2013/01/09(水) 21:46:44.45
別にimplementsしなくても出来るじゃん

526 :デフォルトの名無しさん:2013/01/10(木) 02:48:19.47
分離

527 :デフォルトの名無しさん:2013/01/10(木) 02:52:02.09
>>479
ちんぽちんぽ

528 :デフォルトの名無しさん:2013/01/10(木) 08:46:55.32
>>521
熱でもあるんじゃねー

529 :デフォルトの名無しさん:2013/01/10(木) 13:57:42.74
Java初心者です
JTextFieldに入力された文字列をchar型に変換したいのですが何かいい方法はありませんか?

530 :デフォルトの名無しさん:2013/01/10(木) 17:10:12.20
http://www.dotup.org/uploda/www.dotup.org3829324.java
表示されない理由を教えてください
JPanelを用意しなければ表示されるのですが、JPanelにBoxを追加してから0layerにaddすると表示されません

531 :530:2013/01/10(木) 17:19:15.47
http://www.dotup.org/uploda/www.dotup.org3829353.java
表示されるほうです
以後のことを考えて深度設定ができるJLayeredPaneに追加していきたいので>>530のようにしました

532 :デフォルトの名無しさん:2013/01/10(木) 17:38:16.79
>>529
文字列は文字の集まりでchar型は文字1個だけを収容できる型なんだが
例えば"abc"という文字列がchar型に変換された場合どういうものになると思ってるんだ?

533 :デフォルトの名無しさん:2013/01/10(木) 19:27:11.45
>>530
MainPanelのレイアウトマネージャ設定してないから
setLayout(new GridLayout(1, 1));とか

534 :デフォルトの名無しさん:2013/01/10(木) 22:47:02.78
親クラス hage = new 子クラス();
hage.親クラスのをオーバーライドしたメソッド();


とやったとき、参照変数(ポインタ)の型が親クラスでも、実体が子クラスなので、
実行されるメソッドは、子クラスのオーバーライドしたものなんですよね?

今まですごい勘違いしていたかも・・・。

535 :デフォルトの名無しさん:2013/01/10(木) 22:58:07.06
>>533
できました。ありがとうございます。

536 :デフォルトの名無しさん:2013/01/11(金) 01:36:05.21
>>534
日本よ、これがポリモーフィズムだ

537 :デフォルトの名無しさん:2013/01/11(金) 01:53:08.19
なんだそれw
翼よ、あれがバリ猫だか?

538 :デフォルトの名無しさん:2013/01/11(金) 08:04:29.32
>>533
重症だな

539 :デフォルトの名無しさん:2013/01/11(金) 12:19:07.48
???どうして>>533が重症?
>>534との安価ミスか

540 :デフォルトの名無しさん:2013/01/11(金) 12:49:00.82
>>479
ちんぽ

541 :デフォルトの名無しさん:2013/01/12(土) 02:50:36.43
Javaでマインスイーパーを作ろうと思います
それで周囲の地雷を表示するにはどうしたら良いですか?

542 :デフォルトの名無しさん:2013/01/12(土) 02:57:13.02
宿題は宿題スレね

543 :デフォルトの名無しさん:2013/01/12(土) 15:39:55.52
>>541
表示の仕様を決めればJavaで作れるよ

544 :デフォルトの名無しさん:2013/01/12(土) 16:07:49.56
Java、外部から攻撃の恐れ 日米の公的機関が警告
http://headlines.yahoo.co.jp/hl?a=20130112-00000023-asahi-sci

どうすりゃいいのさ
証券会社のシステムに使われていて無効にできないよ

545 :デフォルトの名無しさん:2013/01/12(土) 16:15:26.68
http://jvndb.jvn.jp/ja/contents/2013/JVNDB-2013-001027.html
これかね

JVNDB-2013-001027
Oracle Java 7 に脆弱性
概要

Oracle が提供する Java 7 には、任意のコードが実行可能な脆弱性が存在します。
Oracle が提供する Java 7 には、Java のサンドボックスを回避され、任意のコードが実行可能な脆弱性が存在します。
なお、本脆弱性を使用した攻撃コードが公開されており、攻撃も観測されています。

546 :デフォルトの名無しさん:2013/01/12(土) 16:18:10.21
ちなみにJava7を無効にする方法

WebブラウザでJava7を無効にする方法
ttp://arison.jp/blog/2013/01/12/how-to-disable-java-in-a-web-browser/

#javaにあった

547 :デフォルトの名無しさん:2013/01/12(土) 16:21:30.67
       ☆ チン    
                    
 ☆ チン  〃 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ヽ ___\(\・∀・)< ちょっとーJava8はやくしてくれる?
      \_/⊂ ⊂_)_ \____________
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
   |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:|  |
   | 淡路たまねぎ   .|/
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

548 :デフォルトの名無しさん:2013/01/12(土) 16:43:15.37
mainメソッドの引数があるかないかってどのように調べるのでしょうか?
引数によって条件分岐したいのですが、引数がなければjava.lang.ArrayIndexOutOfBoundsException: 0でてしまうのが気持ち悪いです
ですのでまず引数の有無を調べたいです

549 :デフォルトの名無しさん:2013/01/12(土) 17:06:17.85
>>548
if (args.length > 0) とか

550 :デフォルトの名無しさん:2013/01/12(土) 19:05:19.73
>>549
できました。
args[0].lengthにしてたのがいけなかったみたいです

551 :デフォルトの名無しさん:2013/01/12(土) 19:07:04.06
>>545
ビルゲイツがカネ出して だれかにやらしてるのかな?

552 :デフォルトの名無しさん:2013/01/12(土) 19:09:29.65
【社会】 「Javaを使わないで!」 日米の公的機関が警告…外部から攻撃の恐れ
http: //uni.2ch.net/test/read.cgi/newsplus/1357984926/

553 :デフォルトの名無しさん:2013/01/12(土) 19:12:54.78
Java無効にするとサイトがまともにみられんくてワロタ
でもバックグラウンドでは動いてるんだよな

554 :デフォルトの名無しさん:2013/01/12(土) 20:11:23.13
Java使ってるのって、価格comのスピードテストくらいしか思い浮かばん

555 :デフォルトの名無しさん:2013/01/12(土) 20:12:01.43
>>553
もしかして:javascript

556 :デフォルトの名無しさん:2013/01/12(土) 20:31:09.17
>>553
それ、Javaちゃうで >>555さんが言うとるやつや

557 :デフォルトの名無しさん:2013/01/12(土) 20:56:27.27
この仕事やっててブラウザのjava有効にしてるアホはいないだろ

558 :デフォルトの名無しさん:2013/01/12(土) 22:17:18.27
ブラウザ通す必要がなくなるのがjavaのいいところ
作業として情報を得るのならマウス操作とブラウザ操作は必要ないんだよね
何も言わずとも発信してくれる無限の情報を上手く処理できるなら仕事の効率はあがる

559 :デフォルトの名無しさん:2013/01/12(土) 22:39:30.81
この記事はどう解釈すればよいでしょう?
ウェブブラウザーのJAVAを無効にすれさえすればいいのでしょうか?

http://blog.livedoor.jp/wisdomkeeper/archives/51865104.html
>>JAVA7アップデート10とそれ以前のバージョンを使っている方がいましたら、ハッキングの攻撃に合う可能性がありますから、アンインストールする必要があるとのことです。

560 :デフォルトの名無しさん:2013/01/12(土) 22:45:25.46
ウェブブラウザーのJAVAを無効にすれさえすればいいでう

561 :413:2013/01/12(土) 23:42:19.11
>>544
だから、
>>486 が必要になってくるんだろ、と妄想w

562 :デフォルトの名無しさん:2013/01/13(日) 00:05:59.27
JREもJDKも6にダウングレードすりゃいいの?

563 :デフォルトの名無しさん:2013/01/13(日) 00:26:08.45
【社会】 「Javaを使わないで!」 日米の公的機関が警告…外部から攻撃の恐れ★2
http://uni.2ch.net/test/read.cgi/newsplus/1357993720/

564 :デフォルトの名無しさん:2013/01/13(日) 01:12:23.93
>>562
6の31までは絶対ダメだな。
37から先は、サンドボックス迂回は指摘されていないと思うけど、
夜が明けたら欠陥が明らかになっているかもしれない。

565 :デフォルトの名無しさん:2013/01/13(日) 01:23:26.42
>>559のページの内容のやばさがやばい

566 :デフォルトの名無しさん:2013/01/13(日) 01:32:07.43
JavaとJavaラーは仕事なくなったな



これからはコボル様よ

567 :デフォルトの名無しさん:2013/01/13(日) 02:43:52.52
6は38ならダイジョウブという話

568 :デフォルトの名無しさん:2013/01/13(日) 03:43:47.37
何かJavaに恨みでも妬みでもあるのかい
学ぶ価値無しと思うなら学ばなければいい。自分は置いてかれないように学んでいく戸だけ言っておく

569 :デフォルトの名無しさん:2013/01/13(日) 04:31:21.29
Javaは非常に明快で有益な言語だと思います
でも
http://jvn.jp/cert/JVNTA13-010A/
な現状では
ぜひ、C# or Monoに移植してください!

570 :デフォルトの名無しさん:2013/01/13(日) 07:34:26.66
>>566
コボちゃん乙

571 :デフォルトの名無しさん:2013/01/13(日) 07:59:55.38
>>570
コボル〜(笑)
こんな言語よくやるなぁ ドMの人しか無理だな

572 :デフォルトの名無しさん:2013/01/13(日) 08:00:53.73
>>569
C#〜(笑)
C++がどーしても出来ない人がやるんだろ? やった事ないから知らんけどw

573 :デフォルトの名無しさん:2013/01/13(日) 08:13:40.39
>>563
applet, jnlp から起動するとサンドボックスが回避されるって問題か。
たしかね、セキュリテー系とか裏ハッカーとかがそのウイークを見つけてオラクルに売り込んだけど、オラクルはケチだからそれを買わず口止めもみ消し資金もケチったから、しようがないからハカーが裏社会に売却したってどこかに書いてあった。
そのスレ10分ぐらいで見たけど書いてなかったね。

574 :デフォルトの名無しさん:2013/01/13(日) 08:43:19.50
アプレットでしょ。
サンドボックスなんて無かった
ようなものじゃなかったっけ。
少なくとも1.3の時は自己署名付けてりゃ
確認画面が出てユーザーが誤ってok
したらセキュリティ突破だった。

575 :デフォルトの名無しさん:2013/01/13(日) 10:07:52.29
今度の案件、アプレット使ってるんだよ
どうすんだよヲイ…
下手すりゃ要件定義からやり直しだよorz

576 :デフォルトの名無しさん:2013/01/13(日) 10:15:48.01
読売、朝日など大手新聞社のトップページにもJavaを無効にしろ、とニュースが出たらしい。
OracleやJavaへの信頼ガタ落ちだな
ニュー速+でも炎上してる

【社会】 「Javaを使わないで!」 日米の公的機関が警告…外部から攻撃の恐れ★3
http://uni.2ch.net/test/read.cgi/newsplus/1358007666/

577 :デフォルトの名無しさん:2013/01/13(日) 10:18:40.79
>>575
アプレットはクライアントにとってセキュリティホールなんであって、
サービス側の問題じゃないだろ。ユーザーが信用してくれるかどうかだけの問題。
セキュリティ関係なくクライアントJavaなんてゴミだけど。

578 :デフォルトの名無しさん:2013/01/13(日) 10:30:54.82
PCの事なんか猿ほども知識がないヤツらが騒いでるんだよな〜

CDを冷蔵庫で冷やすと音がよくなるとか、コンセントを金メッキにすると音がよくなるとか(笑)
黒いウーロン茶を飲むと痩せるとか、まだまだ山ほどあるな
神を信じると救われるとか(笑)

579 :デフォルトの名無しさん:2013/01/13(日) 10:44:25.48
>>576
信用ガタ落ちじゃなくて、オラクル自身がセキュリティー・サポートがめんどいから無効にして言ってるんじゃないの?
日米の公的機関がそれに(多分オラクルの了解の下で)追随してってだけでしょ。
そのうち他社がOSやライブラリの整備が完了するから、クライアントやUIやセキュリティに投資しないと、オラクルは組み込み向けの市場も失うだろうね。

580 :デフォルトの名無しさん:2013/01/13(日) 11:01:28.36
>>579
Oracleが無効にしてなんていうわけないw
自ら「Javaは危険ですよ、Oracle製品は危険ですよ」というのに等しい。

オラクルのソフトウェアの品質に対する信用が落ちるから、
データベースや業務用アプリの売り上げにも響いてくる

581 :デフォルトの名無しさん:2013/01/13(日) 11:14:39.35
>>579
現在、オラクルはノーコメント

582 :デフォルトの名無しさん:2013/01/13(日) 11:27:52.04
どういうことなのかは、その速報スレにも出てるし、7u10で追加されたUXはもちろんジャバのセキュリテー・ポリシー自体にも指摘がある。
>>574,577あたりの意味が理解できないならジャバラーもぐりだろ。
そういう奴はさっさと安心のドトネトやってウインドウズ・フオーン開発して勝馬にまたがるしかない。

583 :デフォルトの名無しさん:2013/01/13(日) 11:29:45.69
電子政府ザマァって感じだな。
HTTPサイトから俺証明書をダウンロード
させてルート証明書に取り込ませる
モラルのカケラも無い糞システムは
淘汰された方がいい。

584 :デフォルトの名無しさん:2013/01/13(日) 11:30:23.20
まあクライアントへの投資を打ち切るいい機会かもな
直してももう誰も使わないだろう

585 :デフォルトの名無しさん:2013/01/13(日) 11:57:59.87
Javaってどうして何度も何度もやらかしてくれるの
世間ではJava使い=情弱になってきてると思うよ

586 :デフォルトの名無しさん:2013/01/13(日) 12:00:18.12
利用者が多い証拠
機能が多い証拠

傾向的に悪いことではない

587 :デフォルトの名無しさん:2013/01/13(日) 12:02:59.44
サーバー以外はやる気ないからな
自分が使ってるサービスの裏で大抵Javaが動いてることを知らない大多数の人から見れば、
全然役に立ってないのに騒ぎばかり起こすゴミと思われてるんだろ
で今回はクライアントで危険だって話だから尚更

588 :デフォルトの名無しさん:2013/01/13(日) 13:15:03.53
いつまでたっても塞ぐ穴があとからあとから出てくるOSは気にせず使うのに
たかがフレームワークの不具合程度で今更慌てるような柔な人間はいません

589 :デフォルトの名無しさん:2013/01/13(日) 13:18:59.62
Linuxも毎日のように大量のセキュリティパッチが出てくるだろ

590 :デフォルトの名無しさん:2013/01/13(日) 13:24:10.77
Javaアプレットとかもう廃止で良いんじゃね?

591 :デフォルトの名無しさん:2013/01/13(日) 13:25:59.24
Java6なら今のところ大丈夫なの?

592 :デフォルトの名無しさん:2013/01/13(日) 16:03:28.42
JAVA叩かれ杉。

JAVA以外でも、たとえば愛用してるツールに欠陥が見つかったとして、
そのせいでそのツールの開発者が叩かれるわけだ。

なんだか悲しいね。

特にJAVAは、サポートしてる環境が膨大なんだから、
検証するだけでも膨大な時間がかかることは容易に想像できるよね。

検証不足のブツを出されても困るだろ?

だからさ、もう少し長い目で見てやってもいいんじゃないかな?

593 :デフォルトの名無しさん:2013/01/13(日) 16:21:49.38
オラクルは、高利益率のサーバー市場だけやってクライアントや組み込みをやるつもりがないんだからセキュリティーに力入れるわけないだろ。
しかも、ライブラリのセキュリティーを整備したり設計したりするのは、オラクルやエキスパートたちの仕事じゃなくてジャバユーザー(ジャバ開発者)の仕事であって、
オラクルはそのユーザー(電話メディア会社とかセキュリティーベンダー)にジャバをライセンス販売するのが商売だから、オラクル云々とかジャバ云々はそもそもお門違い。
オラクル(ライブラリー)ができることは、せいぜいセキュリティーのオン・オフが可能なように設計し(サンドボックス)、そのようなウイークを把握していることをダイアログやアラートでもだして警告し(7u10)、
そこから先はアプリ・サービス利用者次第で自己責任であり、ジャバユーザー(ジャバアプリサービス開発者)のためにセキュリティ・ポリシーを整備することしかできない。
簡単にいえば、ソフトウェアの問題じゃなくて、それを使う人・利用する人の問題だからジャバは関係ないし、ジャバ・ライブラリー自体が直接そういう人たちを禁止・制御するわけでもない。

594 :デフォルトの名無しさん:2013/01/13(日) 16:29:15.43
javaを叩いてるというよりは、今までcは危ないだのjavaは(比較的)セキュアだの言ってたやつらへの仕返しだろう
もしくは別のマイナー言語の布教活動か

595 :デフォルトの名無しさん:2013/01/13(日) 16:35:58.09
オラクルが嫌いなだけです

596 :588:2013/01/13(日) 16:42:54.81
>>589
別に特定のOSを名指ししてないよw
どのOSだって状況は似たようなものだ
日ごろセキュリティ意識が低い人には逆にこういうニュースが心に響くんだと思うぞ
常に一歩踏み外せば奈落であるということを気にしてないから

597 :デフォルトの名無しさん:2013/01/13(日) 16:48:07.60
誰もサーバーのJavaは叩いてないんだから実質的には誰もJavaを叩いてないよw
クライアントJavaなんてとうの昔に終わっているのに、はっきり切り捨てず
ロクに投資もしてないのに未練がましく延命させ続けたからこうなる

598 :デフォルトの名無しさん:2013/01/13(日) 16:48:34.59
アップルとマイクロソフトが危機感を持ってるだけだろ

テロに金渡して色々やってるアラブと同じ

599 :デフォルトの名無しさん:2013/01/13(日) 16:48:36.89
ウブンツー・デスクトップでネイティブがまともに機能してウインドーズ・デスクトップ以上に動けば文句ないよ

600 :デフォルトの名無しさん:2013/01/13(日) 16:53:19.01
>>598
今更墓荒らししても仕方ないだろw
サーバー側ならともかく

601 :デフォルトの名無しさん:2013/01/13(日) 17:19:08.51
今や主流ではないにしても、Javaアップレットはまだ使われてるでしょ
ネットワークベンチとか、証券とか、囲碁将棋とか、日本の官庁とかw
http://shinsei.e-gov.go.jp/manual/tips/sethelp/05/

ベンチはFlashのところ使えばいいだけだが、替えが効かないところは大変そうだな

602 :デフォルトの名無しさん:2013/01/13(日) 18:40:16.15
>>593
説得力ゼロだな
企業向けの市場を狙うのにセキュリティを軽視していいわけがない。

「最高レベルの脆弱性のセキュリティパッチを4か月も出せない企業」と
わかれば、まともな企業はオラクルのデータベース製品も購入しなくなる。

603 :デフォルトの名無しさん:2013/01/13(日) 20:25:12.07
インテルなんか計算ミスのバグ(コプロの係数テーブルのバグ) 平気で問題無いっていってたぜ〜
隕石でも落ちる場所が分かっていればその場所を特定出来る とかなんとかいっちゃって(笑)

604 :デフォルトの名無しさん:2013/01/13(日) 20:59:22.42
それだけ当たり前のようにjavaが使われてる証拠だろうな
ほら、フラッシュプレイヤーやアドビなんてだれもが気にせずDLするじゃん

605 :デフォルトの名無しさん:2013/01/13(日) 21:39:21.42
Javaアプレットの話だろ?
最近はPCにJavaはあまり入ってないし
ほとんどの人にとっては全く何の役にも立ってないぞ

606 :デフォルトの名無しさん:2013/01/13(日) 21:55:32.63
日本で売られてるWindowsPCだと標準でプリインストールされてるんじゃね?

607 :デフォルトの名無しさん:2013/01/13(日) 22:01:33.34
Javaのランタイムをアンインストールすればいいだけ。
V2C使いは乙。

608 :デフォルトの名無しさん:2013/01/13(日) 22:11:35.57
ずっとjava使ってきたがどうもアプレットは中途半端だよね
割と学問の世界で重宝されていたりするんだけども。

609 :デフォルトの名無しさん:2013/01/13(日) 22:14:37.97
アプレットが現役のサイトって24くらいしか知らん

610 :デフォルトの名無しさん:2013/01/13(日) 22:22:25.77
現役かどうかというか、教える立場からすると入門にもってこいなのよね
なので、「java使って何ができるの?」的な人の学習には合わないが情報系と少し距離がある理数系の学部とかの架け橋になっている

611 :デフォルトの名無しさん:2013/01/13(日) 22:46:15.23
try (FileInputStream fis = new FileInputStream("a.txt");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader reader = new BufferedReader(isr)) {
}

こんなクソ言語が乳紋にもってこい?

612 :デフォルトの名無しさん:2013/01/13(日) 22:48:11.20
ファイルひとつ読み込むのにも手間が多いって話?

613 :デフォルトの名無しさん:2013/01/13(日) 22:55:16.76
さらにBOMが扱えない…

614 :デフォルトの名無しさん:2013/01/13(日) 22:59:53.77
恥ずかしい奴だな
虫の死骸のような宣言を散りばめて、いつまでも依存する書き方してればいいよ
それが幸せなんでしょう

615 :デフォルトの名無しさん:2013/01/13(日) 23:33:06.26
JAVA()の問題を挙げたら
キリが無いからなー
>>614
依存しない書き方ってどんなの?

616 :デフォルトの名無しさん:2013/01/14(月) 00:23:41.39
ggrks
スレチだしローカルルールも読めない奴は出て行け

617 :デフォルトの名無しさん:2013/01/14(月) 01:19:41.40
javaでちょっとした2ch書き込みアプリ(デスクトップで使えるやつ)
作りたいんですが、書き込みフォームのhtml文を実行して書き込み
内容をサーバに送信することはできるのですか?

618 :デフォルトの名無しさん:2013/01/14(月) 01:25:42.64
V2CというJavaで作られた2chブラウザがそれをやってるから
作ればできる。方法は自分で調べろ。

619 :デフォルトの名無しさん:2013/01/14(月) 01:28:27.59
forループで無限に書き込めば君も荒らしボットクリエイターだ!

620 :デフォルトの名無しさん:2013/01/14(月) 01:59:06.42
板ごとに異なる秒数設定の連投規制にかからないようにしたり
するには結構頭使うんとちゃう

621 :デフォルトの名無しさん:2013/01/14(月) 02:00:46.64
可変性分析とかしてクラス設計の練習になりそうだな

622 :デフォルトの名無しさん:2013/01/14(月) 02:13:36.85
簡単なHTTP通信すりゃいいだけとちゃうのん

623 :デフォルトの名無しさん:2013/01/14(月) 02:24:40.67
その質問じゃどの程度のものを求めているかわからないよ
単純にカキコミたいだけならRobotにキー入力させて送信までもってくって言う力技もある
これってマクロか

624 :デフォルトの名無しさん:2013/01/14(月) 05:17:56.40
HTML statementの実行…

625 :デフォルトの名無しさん:2013/01/14(月) 05:20:44.36
HTTP POST Cookieこの3つ扱えれば2ch書き込みなんて余裕のヨっちゃんよ

626 :デフォルトの名無しさん:2013/01/14(月) 05:29:54.23
無限ループのイメージは for() よりも while(true) だな
C++ならwhitl(1)w

627 :デフォルトの名無しさん:2013/01/14(月) 05:42:34.88
その中でHTTPだけヘビーすぎる

628 :デフォルトの名無しさん:2013/01/14(月) 06:02:45.54
Java による簡単な HTTP 通信
ttp://www.hpc.cs.ehime-u.ac.jp/~aman/java/http/

Java技術最前線 - 「Java SE 6完全攻略」第41回 Cookieを扱う その2:ITpro
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20070801/278820/

簡単だよ!

629 :デフォルトの名無しさん:2013/01/14(月) 07:09:17.23
AndroidはJavaじゃありませんよ?

630 :デフォルトの名無しさん:2013/01/14(月) 08:13:26.92
Version 7 Update 11
http://java.com/ja/download/

631 :デフォルトの名無しさん:2013/01/14(月) 09:27:21.76
Java7 Update11でも問題の脆弱性はまだ直ってないようだな
ORACLE、レベル低すぎる
http://www.oracle.com/technetwork/java/javase/7u11-relnotes-1896856.html

632 :デフォルトの名無しさん:2013/01/14(月) 11:12:23.25
>>631
え、
This release contains fixes for security vulnerabilities. For more information, see Oracle Security Alert for CVE-2013-0422.
これって「脆弱性直したよ。脆弱性については詳しくはここ見てね」でしょ?直ったんじゃないの?

633 :デフォルトの名無しさん:2013/01/14(月) 11:16:47.29
日経では「直したけどまだ直っていない
問題もあると言う専門家もいる」
って説明だね

634 :デフォルトの名無しさん:2013/01/14(月) 11:23:06.54
今問題があるかないかは問題じゃないわな
Javaアプレットのセキュリティホールなんて決して今に始まったことじゃないし
また問題を起こしてしまったという事実が問題

635 :デフォルトの名無しさん:2013/01/14(月) 11:34:27.83
>>632
JRE7 update11で、
Oracle Security Alert CVE-2013-0422で2つ直ったみたいだな
Vulnerability Identifier
CVE-2012-3174 と CVE-2013-0422

他の脆弱性はよくわからない。
http://www.oracle.com/technetwork/java/javase/7u11-relnotes-1896856.html
http://www.oracle.com/technetwork/topics/security/alerts-086861.html#SecurityAlerts

直ってない脆弱性で他にやばそうなのある?

636 :デフォルトの名無しさん:2013/01/14(月) 11:36:35.66
昨年8月時点で発覚してたのに直さなかったのは難しくて面倒だったからでしょ?
今回数日で対応したとか信用できない

637 :デフォルトの名無しさん:2013/01/14(月) 11:43:21.62
そんなに気にするな。
公務員の天下りとか警察の不祥事みたいに、発表したのか、発表しないかの違いでしかない。

638 :デフォルトの名無しさん:2013/01/14(月) 12:42:29.73
アンインストールしてせいせいしたわ
NTT光の速度測定もjava使わないように早く対処せえよ情弱

639 :デフォルトの名無しさん:2013/01/14(月) 12:57:50.41
>>553
パリティビット君こんばちわぁ

640 :デフォルトの名無しさん:2013/01/14(月) 17:20:51.31
C言語のwhile(1)は確かにダサいな

641 :デフォルトの名無しさん:2013/01/14(月) 17:53:03.38
while(777)

642 :デフォルトの名無しさん:2013/01/14(月) 17:58:30.44
C言語はwhile(true)だろ。
1って、ジジイかよ。

643 :デフォルトの名無しさん:2013/01/14(月) 19:37:27.06
C言語ってtrueって無いよね

644 :デフォルトの名無しさん:2013/01/14(月) 19:38:07.73
JavaアンインストールしちゃうとEclipse使えなくなって困る開発者たくさん

645 :デフォルトの名無しさん:2013/01/14(月) 19:44:33.54
BOOLのTRUEは1なんだなー
boolのtrueも1(true>=1)なんだなー

646 :デフォルトの名無しさん:2013/01/14(月) 20:36:54.03
>>629

647 :デフォルトの名無しさん:2013/01/14(月) 20:57:54.47
Java言語の文法であることとOracleJava用のVMで動くかは別

648 :デフォルトの名無しさん:2013/01/14(月) 21:09:53.36
マイクロソフト・ドットネット・フレームワークを駆使してウインドーズのデスクトップ・アプリ開発をやろうかなって考えてる俺様は勝ち組!!

649 :デフォルトの名無しさん:2013/01/14(月) 21:25:33.08
JBuilder使ってる俺は勝ち組

650 :デフォルトの名無しさん:2013/01/14(月) 21:48:14.84
v7u11とv6u38のどっちを使って開発したほうがいいんですか?

651 :デフォルトの名無しさん:2013/01/14(月) 21:52:35.91
結局、新しい方をとるしかないな。
6は2月でアップデート終わりだろ?

652 :デフォルトの名無しさん:2013/01/14(月) 22:08:35.43
iPhoneとかAndroidはどうなの?
なんかやらないとダメな事ある?

653 :デフォルトの名無しさん:2013/01/14(月) 22:10:53.41
両方ともJavaプラットフォームは入ってないから関係ない
Androidとかもともとセキュリティホールの塊みたいなもんだけどな

654 :デフォルトの名無しさん:2013/01/14(月) 22:13:07.08
Androidは文法がJava言語ってだけで中身はDalvik
N88-BASICとVisual Basicは同じBASIC言語だが異なるものであるののと同じようなもの

655 :デフォルトの名無しさん:2013/01/14(月) 22:17:07.49
えっ?

656 :デフォルトの名無しさん:2013/01/14(月) 22:17:38.66
>>653
>>654
ありがとう
とりあえずiPhoneが大丈夫なので安心
Androidも家族が使ってるので
PCはアプデしたけど必要ない時はずっと無効にして使うつもり

657 :デフォルトの名無しさん:2013/01/14(月) 22:33:09.14
ここそういうスレじゃないから

Java Runtime Environment Part3
http://anago.2ch.net/test/read.cgi/software/1351670907/l200

658 :デフォルトの名無しさん:2013/01/14(月) 22:57:45.88
JNI使ってCの関数呼ぶ時って、下のように
JAVA内でLoadLibraryしたライブラリ「以外」のCのクラスを
LoadLibraryしたクラス内で参照することってできますか?
JAVA.java
--------------
LoadLibrary(classA);//classAライブラリにはclassAのメソッドしか入ってない
CMethoadCall();

ClassA.cpp
--------------------
CMethoadCall() {
return ClassB::function();
}

classB.cpp
----------------------
ClassB::function() {
(処理)
}

659 :デフォルトの名無しさん:2013/01/14(月) 23:00:14.89
ちなみに上の例での「classB」がC++で作られた既存のシステム
(実際には膨大な数のクラス)で
classAのライブラリを新規作成し、Javaのシステムと繋ぎたいと思っています。

660 :デフォルトの名無しさん:2013/01/15(火) 00:39:44.63
やってみればいいのに

661 :デフォルトの名無しさん:2013/01/15(火) 06:59:15.53
>>629

662 :デフォルトの名無しさん:2013/01/15(火) 07:11:25.61
>>642
わざわざ true って書くのは 生徒さん(笑)

javaには出来ない書き方
while(a=39)...

663 :デフォルトの名無しさん:2013/01/15(火) 08:54:01.77
>>649
どこがだよw
てゆうかもう涙目?ww

664 :デフォルトの名無しさん:2013/01/15(火) 10:50:21.32
アップデート出たな

665 :デフォルトの名無しさん:2013/01/15(火) 11:29:32.03
Cの無限ループは while( ! 0 ) が正しい

666 :デフォルトの名無しさん:2013/01/15(火) 11:55:59.17
>>665
bool bl = false;
while(!bl) {...}

いやらしさを出してるな...とも思うがw

667 :デフォルトの名無しさん:2013/01/15(火) 11:56:16.03
Javaコントロールパネル担当者はLayoutManagerの使い方しらんのん?
なんなのよ「カス設定」って謎ボタンは

668 :デフォルトの名無しさん:2013/01/15(火) 12:18:42.51
そりゃJavaでGUI作ってたらこんなカス使うなって思うわなw
Java開発者の良心なんだよ

669 :デフォルトの名無しさん:2013/01/15(火) 12:52:26.28
いや、だがGUI製作ずっとやってると、結局シンプルな方向にいくんだよな
英単語が隙間無しに散りばめられたカラフルな上着、今となっては厨房の象徴の様に見えるだろう

670 :デフォルトの名無しさん:2013/01/15(火) 14:23:10.39
javaの1月は0月なんだな(笑)

671 :デフォルトの名無しさん:2013/01/15(火) 16:06:57.30
C言語ってfalseもtrueも自分で定義して使うんだよ
C言語にbool型なんて無いんだよ

672 :デフォルトの名無しさん:2013/01/15(火) 16:08:17.90
Javaの脆弱性はまだ直っていないことが判明
http://engawa.2ch.net/test/read.cgi/poverty/1358222245/

673 :デフォルトの名無しさん:2013/01/15(火) 16:19:39.26
_Bool

674 :デフォルトの名無しさん:2013/01/15(火) 16:23:23.24
>>670
アメリカ製だからな
アメリカ人にとって1月はJanuaryだ
一年の初めの月であることはなんとか認識できるらしいので
インデックスとして0を割り振ってある

675 :デフォルトの名無しさん:2013/01/15(火) 17:30:51.05
>>673
BOOL

676 :デフォルトの名無しさん:2013/01/15(火) 17:35:07.30
>>629

677 :デフォルトの名無しさん:2013/01/15(火) 17:39:32.34
>>674
日付は0からじゃぁないんだぁ

あのムダに高い『android逆引き』もMONTHが0から始まるって書いてなかった
あの本、ホントムダだった クソ本の称号を差し上げる
もう一冊...中表紙(って言うのか?)が緑の印刷のハンドブックもまったく役たたず
クソ本出すなよ 両社

秀和社の入門書2冊(同じ著者)はかなり価値があったけどな...

678 :デフォルトの名無しさん:2013/01/15(火) 17:47:09.12
Java関連の本は掃いて捨てるほどあるから、値段的に考えても、数年で内容が古くなることを考えても、良書も含めて全てゴミと考えて問題ない。

679 :デフォルトの名無しさん:2013/01/15(火) 18:19:35.62
>>672
ORACLEやっぱりカスすぎる
大騒ぎになったからとりあえずパッチ出しただけだったという

もう、LinuxのWeb Appも、C#とMonoでいいだろ

680 :デフォルトの名無しさん:2013/01/15(火) 18:23:55.74
>>648

681 :デフォルトの名無しさん:2013/01/15(火) 21:05:24.60
しつもんです

ファイルサーバをJavaで作ろうと思って作ったんですが、ファイルサーバ上の
csvとかwordファイルを直接開くのってどういう仕組動いてるか知ってる人います?

一回ローカルにコピーして開けばできると思ってたら、これじゃあ、保存ボタンや閉じる
ボタンが押されたイベントをキャッチできないし、できなければサーバ側にデータを
保存し直せないし、なんかいい方法知ってる人いませんか?

682 :デフォルトの名無しさん:2013/01/15(火) 22:23:57.39
現代の科学では不可能です

683 :デフォルトの名無しさん:2013/01/15(火) 22:43:08.74
C言語に文句はねえが、変数名の付け方が嫌な人多い印象

684 :デフォルトの名無しさん:2013/01/15(火) 23:37:43.50
>>681
1. クライアントがサーバーのファイルを開く。
2. 他の人がアクセス(もしくは書き込み)できないように、サーバー上でファイルをロックする。
3. 1. のクライアントのメモリ上にファイルがコピーされて編集できるようになる。
4. 編集が完了し、保存ボタンを押すとサーバー上のファイルに反映される。
5. 閉じるボタンを押すとサーバー上のロックが解除され、他の人がアクセスできるようになる。

クライアントから見ればローカルのファイルもリモート上のファイルもファイルパスがちょっと違うだけで、読み書きの仕組みは変わらないし、保存ボタンを押した時に更新内容をサーバー側に送るのもクライアントのアプリケーションとOSが勝手にやってくれる。

>>681 がファイルサーバーを開発するなら、質問の内容はあまり気にしないでいいと思う。
何のプロトコル使うのかわからないけど、FTPやSMBなんかのリクエストを処理できればOKなんじゃないかな。

685 :デフォルトの名無しさん:2013/01/16(水) 00:33:33.19
>>671
trueもfalseもあるわボケ。
言語仕様ちゃんと読め。

686 :デフォルトの名無しさん:2013/01/16(水) 00:36:08.30
C99準拠の最近の処理系では、 _Bool 型があり、これを使って stdbool.h というヘッダファイルで bool 型が定義されている。これによってC++との互換性が得られる
ブーリアン型 - Wikipedia

687 :デフォルトの名無しさん:2013/01/16(水) 00:39:48.48
たかが無限ループに定数式が出てくるのがそもそもおかしいだろ。
CもJavaも for( ; ; ) { } でいい

688 :デフォルトの名無しさん:2013/01/16(水) 01:29:25.69
>>684
やべぇwwwww

689 :デフォルトの名無しさん:2013/01/16(水) 01:44:41.42
>>681
Windowsでサポートされるのは
CIFS,NFS,WebDAV,iSCSIぐらいなので
そのプロトコルの仕様書を読むしかない。
それ以外で任意のアプリから開けるようにするには
ファイルシステムのパスとしてアクセス
できるよう
クライアント側のファイルシステムの
ドライバーを開発する必要がある。

690 :デフォルトの名無しさん:2013/01/16(水) 02:01:23.66
>>685
K&Rにそんなのあったっけ?

691 :デフォルトの名無しさん:2013/01/16(水) 02:04:16.31
その一つ下のレスくらい読めよカス

692 :デフォルトの名無しさん:2013/01/16(水) 02:07:18.30
自治してもいいですか?

693 :デフォルトの名無しさん:2013/01/16(水) 02:51:50.44
>C99準拠の最近の処理系では、 _Bool 型があり、

これがアホみたいな変数名付けるやからが増える理由だと気づけ
アンダーバー打って大文字から書き始めてんじゃねーよといいたい

694 :デフォルトの名無しさん:2013/01/16(水) 03:16:21.22
C99って13年以上昔の話じゃん
必死にboolが無いとか騒いじゃってアホかと

695 :デフォルトの名無しさん:2013/01/16(水) 05:35:00.75
>>693
Cでは_で始まって次が大文字の名前は
実装系のために予約されてるので、
ユーザが識別子名を定義するのに使っちゃダメってことになってる。

696 :デフォルトの名無しさん:2013/01/16(水) 06:36:23.69
Javaのアップデートがリリース--脆弱性に対応
http://japan.cnet.com/news/service/35026858/

697 :デフォルトの名無しさん:2013/01/16(水) 06:37:32.83
Oracle、Java 7 Update 11を公開 脆弱性に対処
http://www.itmedia.co.jp/news/articles/1301/14/news012.html

698 :デフォルトの名無しさん:2013/01/16(水) 07:31:02.04
誰が何と言おうと無限ループは
while(1){...}だな
androidで無限ループやると落とされるが(笑)

699 :デフォルトの名無しさん:2013/01/16(水) 07:32:02.33
>>695
javaしか出来ない低脳小僧だから許してやってね

700 :デフォルトの名無しさん:2013/01/16(水) 07:33:12.44
低脳小僧 >>693 右にシフトしてるからさらに半分の脳みそになってるしw

701 :デフォルトの名無しさん:2013/01/16(水) 08:44:53.75
>>629

702 :デフォルトの名無しさん:2013/01/16(水) 10:49:14.23
javaってインストールしててもブラウザのアドオン切ってれば安全?
それともPCにインストールすること自体リスクが上がる?

703 :デフォルトの名無しさん:2013/01/16(水) 10:56:49.18
よくわからないなら1-2年ごとにパソコン自体を替え買えて常に最新にしておくと安心ですよ。
セキュリティーソフトやその更新料、インストール、調べる手間を考えるよりも、x86のノートですら今なら3万円以下でしょ。

704 :デフォルトの名無しさん:2013/01/16(水) 11:16:08.74
そもそもPCなんかに重要なデータをいつも入れておく っていう考えが間違ってる
重要なデータは常に外部で保存する

ハック以前にPCを物理的に盗難されたら どーする?(笑)

705 :デフォルトの名無しさん:2013/01/16(水) 11:24:44.78
ここってJavaを学ぼうとして覗きにきたが結局Javaを叩くことが目的に変わっている他言語信者の爺が沸くスレですか?

706 :デフォルトの名無しさん:2013/01/16(水) 11:26:10.03
最初から叩くのが目的なんだと思うよ

707 :デフォルトの名無しさん:2013/01/16(水) 11:26:56.00
他言語習得に比べてJava習得はそれだけ難しいってことです

708 :デフォルトの名無しさん:2013/01/16(水) 11:31:26.62
>>648

709 :デフォルトの名無しさん:2013/01/16(水) 11:35:16.03
Javaの入門書なんかだとよくアプレットやswingが使われてたりするからなあ
苦労して勉強した後で、実際には全く使われておらずセキュリティ面でも毛嫌いされている技術だと知れば
そりゃ叩きたくもなるだろう

710 :デフォルトの名無しさん:2013/01/16(水) 11:59:56.34
>>698
なんで1なんですか2じゃだめな理由を挙げなさい、

とかレンホーに叱られるぞ

711 :デフォルトの名無しさん:2013/01/16(水) 12:05:28.96
一番がいいなんていつまでも夢見てないでさっさと正社員になってまっとうに働けよおっさん

712 :デフォルトの名無しさん:2013/01/16(水) 12:12:42.52
>>709
で、そんな連中がろくに学びもしないうちからJavaFX叩いたりしてるんだよね・・・

713 :デフォルトの名無しさん:2013/01/16(水) 12:51:56.49
JavaFXってまともに動くのはWindowsだけでしょ。
しかもJava8で搭載されてもOSXはベータ品質でLinux (x86/ARM)に至ってはまともに起動すらしないアルファ以下の品質って話ですよ。

714 :デフォルトの名無しさん:2013/01/16(水) 13:01:20.24
まともに動くって何?もう少しコンピュータ言語に近い形で説明して

715 :デフォルトの名無しさん:2013/01/16(水) 13:08:47.77
System.out.println("まともに動く");

716 :デフォルトの名無しさん:2013/01/16(水) 13:10:16.43
Windows版のJavaFXも思ったほどまともに動かないって話ですよ。
例えばGraphicsなら、DXとかGPUドライバ関係が悲惨なのでSwingと大して変わらないってことなので、いっそのことHTML5 WebGLでいいかなって。

717 :デフォルトの名無しさん:2013/01/16(水) 13:38:43.22
>DXとかGPUドライバ関係が悲惨
詳しく。

718 :デフォルトの名無しさん:2013/01/16(水) 13:57:45.04
JavaFXのMediaの方はどうですか?
Windows環境なんだしmp4,h.264,aac,avcはもちろんwmvも当然再生できるんですよね。

719 :デフォルトの名無しさん:2013/01/16(水) 14:49:30.71
Android以外でjava(PC)なんかやってる人いるのか?
Eclipseに慣れちゃうと他のIDEでは...になるが
Eclipseのjava環境は脳のメタボブタを造ってるようなものだが、実に楽なんだよな...

720 :デフォルトの名無しさん:2013/01/16(水) 14:59:26.92
>>648

721 :デフォルトの名無しさん:2013/01/16(水) 16:01:38.29
継承元の違うクラスをたくさん作りたいんだけど
どうしたらきれいに書けるの?

722 :デフォルトの名無しさん:2013/01/16(水) 16:07:12.17
>>721
javaは多重継承出来ません

723 :デフォルトの名無しさん:2013/01/16(水) 16:11:25.67
implements句インデントの清書機能の話か?

724 :デフォルトの名無しさん:2013/01/16(水) 16:41:21.32
NetBeans IDE使ってるけどEclipseのほうが凄いのかな

725 :デフォルトの名無しさん:2013/01/16(水) 17:00:32.00
>>722
多重じゃなくてシングルでいいです

726 :デフォルトの名無しさん:2013/01/16(水) 17:11:53.89
>>724
楽で楽で楽でんがな ここまでやってくれるかって位のエラーチェック
たまに動作がおかしくなるのも許せちゃう

727 :デフォルトの名無しさん:2013/01/16(水) 17:57:19.35
javaでプログラム勉強してる者だけど、スッキリわかるjava入門って本の評判てどうですか? 知ってたら教えてくれると

728 :デフォルトの名無しさん:2013/01/16(水) 18:02:30.04
Eclipseで困ることっつったら、oracleが新しいサービス出して、すぐそれに乗っかっていかないといけない場合や
かなりマニアックな内容は豆のほうが割りと討論されてるってことかな

729 :デフォルトの名無しさん:2013/01/16(水) 18:36:34.64
javaFX、そんなに辺になるか?
winとmacで使ってるけど妙な不具合に出くわしたことがない
ただCSS使うときはjavaと完全にマッチしていないのは当然なので、フォントとかは注意せんといかんね

730 :デフォルトの名無しさん:2013/01/16(水) 18:44:10.94
そんなもん現状のJavaFXにとっては些細なことだろ。
JavaFXで一番心配するべきなのは突然の開発中止じゃない?
割とマジで。FXScriptを切った前例もあるし、
今回の件で本当に完全に成功の可能性が無くなった(もともと無かったが)。
株主も黙ってないだろう。クライアントからの完全撤退が近い。

731 :デフォルトの名無しさん:2013/01/16(水) 18:53:43.77
オラクルの考えるジャバを使ったソフトの方のビジネスモデルが上手く機能してないし既に終わってるということです。

732 :デフォルトの名無しさん:2013/01/16(水) 18:54:45.27
何を言おうが腐っても世界2位だけどね。

733 :デフォルトの名無しさん:2013/01/16(水) 19:01:31.10
クライアント一本で行くことにしたら10秒で倒産だけどなw

734 :デフォルトの名無しさん:2013/01/16(水) 19:07:50.15
その一本すらない裸一貫でも計算上10秒で倒産するのは不可能かと

735 :デフォルトの名無しさん:2013/01/16(水) 19:12:49.90
>>732
オラクルってのは企業買収のビジネスモデルで成り上がっただけでしょ
しかも金持ってるくせにソフトとか開発方面への投資はまったくしないしケチの代名詞みたいなところ

736 :デフォルトの名無しさん:2013/01/16(水) 19:26:39.07
oracleがどうのこうのじゃなくて、アメリカのビジネスモデルは18世紀から徹底してる件。
メキシコの金鉱からね。

737 :デフォルトの名無しさん:2013/01/16(水) 20:35:44.62
オラクル無くなればいいのに

738 :デフォルトの名無しさん:2013/01/16(水) 21:39:25.62
>>737
java位覚えろよ 超簡単な言語なんだからさぁ

739 :デフォルトの名無しさん:2013/01/16(水) 21:53:57.70
miscっtなんですか

740 :デフォルトの名無しさん:2013/01/16(水) 21:59:40.27
ちんぽ?

741 :デフォルトの名無しさん:2013/01/16(水) 22:05:01.86
oracleなくなればいいって何されたんだよww

742 :デフォルトの名無しさん:2013/01/16(水) 22:50:10.68
>>741
学校がなくなれば試験がなくなるって学校に放火する奴とおんなじなんだろw
javaの勉強がつらいんだねぇ カワイソ 簡単なのに

743 :デフォルトの名無しさん:2013/01/16(水) 23:06:22.33
バカにはムリw

744 :デフォルトの名無しさん:2013/01/17(木) 05:35:58.26
>>743
Eclipse使えばかなりのバカでも組めるぞ(笑)
Eclipse...世の中にどれだけの数の低レベルプログラマを造りだしてる事だろう
レベルが高い人が使うならいいけど、バカでも組めちゃうからなぁ

745 :デフォルトの名無しさん:2013/01/17(木) 06:37:23.03
javaの7をインスコしても使えません・・・
ちゃんと入ってるのにブラウザで機能してないみたい
Operaでも火狐でも駄目でした
Vista Home Premiamの32ビットです

746 :デフォルトの名無しさん:2013/01/17(木) 07:24:28.54
ちんぽ

747 :デフォルトの名無しさん:2013/01/17(木) 10:53:52.17
バカでも組めちゃうってのは今の時代、割と良いことだったりするのよね
根から学ぶのも大事だが、うわべだけでも使えることは大事だし、利用するところは利用してってのがそもそもオープンソースの目指すべきところ
ゆえに発達するのがオブジェクト指向だったりな訳で・・・
そこを叩いちゃうやつはどうかと思うね。バカでも組めるんだからバカじゃないあなたはその中ではお山の大将なんだから気にすることはない。

748 :デフォルトの名無しさん:2013/01/17(木) 12:03:31.15
世の中の大半の仕事はバカで間に合う。
お山の大将は搾取班に回れないと、仕事が無くなる。

749 :デフォルトの名無しさん:2013/01/17(木) 13:19:17.78
バカは反応がすごいな
こんな所に反論していないでちゃんと組んでろよ

750 :デフォルトの名無しさん:2013/01/17(木) 22:06:35.22
私はいつもせっせと組んでます
君もjavaを始めてみたら?

751 :デフォルトの名無しさん:2013/01/18(金) 07:55:13.04
>>750
Androidな
PCでジャバなんてクソだろ

752 :デフォルトの名無しさん:2013/01/18(金) 10:51:54.75
馬鹿には無理

753 :デフォルトの名無しさん:2013/01/18(金) 11:07:25.53
自己解決しました

754 :デフォルトの名無しさん:2013/01/18(金) 13:39:26.91
スマートフォン持ってないし商売でやってる訳じゃない人だっているんだが。
PCでJavaがクソだとしても、楽しく学んでることの何がいけないのやら
もしかして、楽しく学んでることがいけないの?ww

755 :デフォルトの名無しさん:2013/01/18(金) 13:41:22.97
>>629

756 :デフォルトの名無しさん:2013/01/18(金) 16:46:58.39
>>751
AndroidはJavaじゃありませんよ?

757 :デフォルトの名無しさん:2013/01/18(金) 17:46:28.10
>>756
javaしかできないよ
Cでも出来るけど速度重視じゃないなら意味ないし

758 :デフォルトの名無しさん:2013/01/18(金) 17:47:47.79
>>756
馬鹿が語るな アホ

759 :デフォルトの名無しさん:2013/01/18(金) 18:14:11.92
間違い Android = Java
正しい Java言語でもAndroid用アプリが作れる

760 :デフォルトの名無しさん:2013/01/18(金) 19:02:13.17
ソースの互換性しかないからjavaじゃありません

761 :デフォルトの名無しさん:2013/01/18(金) 19:04:22.14
あほジャバーにはバイトコードの仕様なんて理解できないからどっちでもいいんです

762 :デフォルトの名無しさん:2013/01/18(金) 19:17:38.69
>>648

763 :デフォルトの名無しさん:2013/01/18(金) 19:50:29.07
質問です。
基本的に最初から最後までtryで囲まなければいけないようなライブラリを使っているのですが、
こういう場合太ったコードになってしまって扱いづらくて困っています。
というのも、メソッドに分けるにしても、毎回tryで囲まないといけないですよね?
それも煩雑だと思い、仕方なく一直線に書いてるのですが何か良い方法はありませんか?

764 :デフォルトの名無しさん:2013/01/18(金) 19:50:52.97
JavaでXHTML生成するのって普通どうやるの?
検索してもそれらしいライブラリ出てこないけど、XMLとして
javax.xml.parsers.DocumentBuilderとかで作るの?

765 :デフォルトの名無しさん:2013/01/18(金) 20:09:59.58
>>760-761
OracleのJava以外のJava言語は認めないってことか?お?

766 :デフォルトの名無しさん:2013/01/18(金) 20:16:22.71
>>763
エラーが出ない所を外に出せばいいじゃん

tryでEclipseが騒ぐのはストーリムやatoi、atof位だろ 

767 :デフォルトの名無しさん:2013/01/18(金) 20:17:19.14
>>765
所詮インタープリタだからな
CPUの高速化とメモリの安価化がなかった存在出来なかった

768 :デフォルトの名無しさん:2013/01/18(金) 20:20:43.97
ジャバはオワコンなんでしようがないですよ

769 :デフォルトの名無しさん:2013/01/18(金) 20:23:43.72
Androidのおかげでjavaができるようになってしまった
Eclipseが楽すぎてもう抜けられない orz

770 :デフォルトの名無しさん:2013/01/18(金) 20:24:29.68
馬鹿には無理

771 :デフォルトの名無しさん:2013/01/18(金) 20:29:45.32
10年以上前からオワコンと言われ続けているJavaは
これから10年経ってもオワコンと言われ続けるだろう。
Javaはそんなオワコン言語なのです。

772 :デフォルトの名無しさん:2013/01/18(金) 20:38:10.39
むしろc#と同化しはじめてるvisual basicが今後どうなるか気になる

773 :デフォルトの名無しさん:2013/01/18(金) 21:03:29.31
>>767
5年くらい前のRubyや、スクリプト系言語の話。

  「Railsが遅いって? ならば速いサーバを買えば良い。
   パフォーマンスチューニングのために新たな技術者を雇う必要はないんだ。
   もっとシンプルに、機械を買うだけで解決できる。
   だが、もし君が十分なお金を持っていなければ……。
   そう、1年半だけ待てば良いだけだ。サーバ性能は2倍になっている」


結局あいつらは、ハードウェアの高速化を超えて低速化して死んだろ。
メジャーな「(中間)インタプリタ系」ではJavaだけが、速度と機能をギリギリ維持してる。

774 :デフォルトの名無しさん:2013/01/18(金) 21:09:20.80
ジャバがインタープリーター用言語というのはもはや過去の話だろ
今となってはおじさん向けの釣りネタ

775 :デフォルトの名無しさん:2013/01/18(金) 21:14:26.96
VB6やめてJavaでGUIアプリ開発していこうと思ってたのにJavaが終わりとか俺どうすりゃいいんだ

776 :デフォルトの名無しさん:2013/01/18(金) 21:27:22.79
>>775
つActionScript

777 :デフォルトの名無しさん:2013/01/18(金) 21:31:40.96
とあるJavaVMの中では、小さいおっさんがそろばん片手に1行ずつ計算してるかもしれないだろ。
ひどくざっくり言えば、インタプリタってそんなもんだ。

インタプリタかネイティブかより、
「互換性を保証する、ただし速度以外」ってのがJavaの唯一の利点でしょ。
実際のところ、保証できてるかどうかは別としても……。

>>775
てかVB6から来たならVB.NETやれよw
サーバサイドがJavaならクライアントGUIもJavaにした方が、まあ確かに楽だわな。

778 :デフォルトの名無しさん:2013/01/18(金) 21:35:34.50
c#がc++,java,jsなどと同化して消滅することはあっても、vbがなくなることはmicrosoftが消滅しない限り絶対ないよ

779 :デフォルトの名無しさん:2013/01/18(金) 21:36:48.65
今のVBって完全にVB風C#クローンだけどな
開発チームが無くなってC#に乗っ取られた

780 :デフォルトの名無しさん:2013/01/18(金) 21:38:05.88
>>777

>>629

781 :デフォルトの名無しさん:2013/01/18(金) 21:53:00.53
VBはC#のケツを舐めさせられて
一応VBチームのトップでもあるはずのヘルスバーグにも馬鹿にされるという悲惨な状況

782 :デフォルトの名無しさん:2013/01/18(金) 21:59:38.90
>>775
現在のSwing, JavaFX, IDEは、やっとVB6レベルに追いついた程度なので、そのままVB6でも問題ありません。

783 :デフォルトの名無しさん:2013/01/18(金) 22:32:16.94
VB6の何のレベルに追いついたのか書かないと意味がわからない
そして、追いついた程度であっても基本Java使って開発してる人がわざわざVBへ移る必要ってある?(VBが悪いって言う意味じゃなく)

784 :デフォルトの名無しさん:2013/01/18(金) 22:57:23.91
あほジャバーは「その機能はpure javaでは無理です」って言い訳するのでVBなんていらんのです

785 :デフォルトの名無しさん:2013/01/18(金) 22:57:29.46
馬鹿には無理

786 :デフォルトの名無しさん:2013/01/18(金) 22:58:45.46
Javaには無理

787 :デフォルトの名無しさん:2013/01/18(金) 22:59:17.02
VB6もJAVAもどっちも捨てるべき
古い技術はさっさと廃れるべき

788 :デフォルトの名無しさん:2013/01/18(金) 23:01:57.27
javaは古くて新しい

789 :デフォルトの名無しさん:2013/01/18(金) 23:11:40.61
なんかJP-ITが没落してるのを体現してるような屑スレだな。

こんなだから中華インドはもとより、ウクライナとかブラジルにまで
追い越されていくんだよ。

790 :デフォルトの名無しさん:2013/01/18(金) 23:12:34.31
>>768

791 :デフォルトの名無しさん:2013/01/19(土) 00:45:04.06
androidとかサーブレットみたいなドカタ仕事は人件費やすいとこでやったほうがいいからそれでいいの

792 :デフォルトの名無しさん:2013/01/19(土) 02:06:02.02
>>763
> というのも、メソッドに分けるにしても、毎回tryで囲まないといけないですよね?

大きな勘違い
例外は全部throwするのが正しいと思え
例外が発生しなければそれで正しく動作する
catchするのは常にバグの元

793 :デフォルトの名無しさん:2013/01/19(土) 07:59:35.09
まだVBなんか生きてるのか〜(笑)
VBが出た時は お、すげーな これこそ未来のIDEだと思ったが、
BCBが出たら、まよわずBCBに移った
basicなんかやってられねー
開発期間が短い・予算が少ない案件はBCB、速度重視・予算が多い案件はMFC
普通こうだろ?

java(android)のいい所はapk1個つくればそれで済む事だな ※かなり重要な点だが
winCEの時は数種必要だったし、cpuの違いでバグが出るコードを吐き出す事もあって困った事もあった
※意味無し処理(コメントじゃないよ)を追加する事で対策は出来たが

794 :デフォルトの名無しさん:2013/01/19(土) 11:14:51.76
>>629

795 :デフォルトの名無しさん:2013/01/19(土) 11:31:44.71
>>794
馬鹿でも出来る一つ覚え(笑い)
あれ?馬鹿の一つ覚えだったっけ?(笑う)
どっちにしても馬鹿にかわりはないな(笑え)

796 :デフォルトの名無しさん:2013/01/19(土) 12:12:57.76
webが当然となってjsが認知されたからvb,vbaはもういらない子かなとは思う
このままbash,tcshとかconsoleshellの方も死亡してほしいけどまだ時間がかかるだろうね

797 :デフォルトの名無しさん:2013/01/19(土) 16:13:40.24
あーわかるわかる
俺もね、初めてexcelみた時はもうデータベースなんか必要ないじゃん!
て思ったわ

798 :デフォルトの名無しさん:2013/01/19(土) 20:47:34.07
エクセルで年賀状や領収書を造る奴がいるが...
理解できないな、 ワード使えよ って思う
一般人にはプログラムの向き不向きが理解出来ないのか?
ワードが出来ないからエクセルで無理やりつくるのか?

799 :デフォルトの名無しさん:2013/01/19(土) 23:28:56.25
配列にfinalをつけたら、サイズを変更できないって意味になるらしいですが、
(そもそもJavaの配列って、サイズはインスタンス作るときにしか決められないから意味ないのでは?というのはさておき)
コレクションフレームワークにfinalつけると、どういう意味になるのですか?

通常、コレクションフレームワークのサイズが自動的に大きくなるようですが、
それがなくなってしまうとかですか?

800 :デフォルトの名無しさん:2013/01/19(土) 23:52:38.70
>>799
>配列にfinalをつけたら、サイズを変更できないって意味になるらしいですが
違う。finalを付けた変数に別の配列を代入できないという意味。
>コレクションフレームワークにfinal
これも同じで、finalを付けた変数に別のコレクションのオブジェクトを代入できないという意味。

変数にfinalを付けるとその変数を書き換えられなくなる。
配列型やオブジェクト型の変数にはオブジェクトの実体への参照が入っていて、
finalを付けると変数に別の参照を代入することができなくなる。

801 :デフォルトの名無しさん:2013/01/20(日) 00:15:55.37
サンプルを探してみてもクラスのフィールドにListを使用したBeanを作成して
JAXB.marshalを呼びだすものばかりなんですが、
下記のようにJAXBのmarshalでjava.util.Listを直接引数に渡してマーシャルするには
どうすればよいのでしょうか。
JAXB.marshal(list, System.out);

そもそもJAXBはBeanを使用することを前提としているのでしょうか。

802 :デフォルトの名無しさん:2013/01/20(日) 00:47:04.57
>>800
ありがとうございます

ということは、配列やコレクションのポインタにfinalをつけても、
そのポインタを通じて、その実体の中身を触れるってことですね

803 :デフォルトの名無しさん:2013/01/20(日) 08:36:26.13
>>802
javaのポインタなんてどこにある? あったら是非使いたいわ

finalは定数がないjavaの苦肉の作だろ
#define 作れよ javaさん

804 :デフォルトの名無しさん:2013/01/20(日) 09:25:43.97
ぬるぽ

805 :デフォルトの名無しさん:2013/01/20(日) 09:44:35.86
>>804
ガッ

メッセージ
「値がnullである参照変数に対して、メソッド呼び出しやフィールドアクセスをしたときなどに発生」

NullPointerExceptionとは (ヌルポインタエクセプションとは) [単語記事] - ニコニコ大百科
http://dic.nicovideo.jp/a/nullpointerexception

806 :デフォルトの名無しさん:2013/01/20(日) 11:35:54.77
>>629

807 :デフォルトの名無しさん:2013/01/20(日) 14:11:19.98
google play の有料アプリのテラ銭 高いな〜
暴力団でもあんなにとらないぜ

808 :デフォルトの名無しさん:2013/01/20(日) 16:34:16.81
>>807
Appleよりずっとまし

809 :デフォルトの名無しさん:2013/01/20(日) 17:14:51.40
ポインタとかくそワロタww
あんなものを基準に考えるやつは頭がおかしい

810 :デフォルトの名無しさん:2013/01/20(日) 17:46:57.69
>>809
とbasicとjavaしか出来ない猿が言ってますが...どうします?

811 :デフォルトの名無しさん:2013/01/20(日) 18:01:13.38
質問
何秒ごにこれをして、更に何秒後にはこれをする みたいなときってtimer使うよりRunnableをimplementsして
スレッド走らせたいのですが、このときにどうやって時間計測するのが普通ですか?
とりあえずミリよりナノを使えってのはわかったのですが。

812 :デフォルトの名無しさん:2013/01/20(日) 18:09:21.32
>>811
インプリメントなんかウザイのに、なんでみんなインプリメントなんか使う?
普通のスレッドをつくって、new して中でスリープさせればいい
それも面倒ならハンドラー使ったスレッドなら最後に秒数を指定できるぜぃ

813 :デフォルトの名無しさん:2013/01/20(日) 18:13:58.04
>>807
ヤンキー儲け過ぎだな
有償アプリをアップするんもメンドウだし、色々制約もあるし、クレカのトラブルとか...
って事で自分でプロテクト造ったわ
rootとられてなければdata以下のテキストファイルでも実現できちゃうからな(笑)
昔に比べればちょろいもんだ

814 :デフォルトの名無しさん:2013/01/20(日) 19:11:31.28
>>812
今やってみたのは、

・クリックした時刻(Date.getTime())をArrayList<Long>に追加
・ここでTimer作って例えば3秒後にTimerTaskを呼び出す
・TimerTaskのrunメソッド内でArrayList<Long>にDate.getTime()を追加

この差を返すメソッドを作って計算してみました。
クリックを一回にとどめたならばほぼ3000が帰ってくるのですが連続でクリックするとかなり精度に問題がでてしまいました

>普通のスレッドをつくって、new して中でスリープさせればいい
sleepすると描画のメソッドまでsleepされるから・・・って毛嫌いしてましたが、
もしかして必要なメソッド内でThread.start()するってこと!?ならば絶対そっちのほうがよさそうですね・・

815 :デフォルトの名無しさん:2013/01/20(日) 19:27:38.29
何をしたいのか作業の全体像が見えてこない

816 :デフォルトの名無しさん:2013/01/20(日) 19:28:20.93
バカにはムリw

817 :デフォルトの名無しさん:2013/01/20(日) 19:32:46.81
Tread.sleepって、プログラム全体がスリープするんであって計測に使うものなの?

818 :デフォルトの名無しさん:2013/01/20(日) 19:33:07.56
論理的に筋道立てて質問できないってことは
論理的思考がダメだからプログラミングも苦手

819 :デフォルトの名無しさん:2013/01/20(日) 19:34:16.46
スリープって目的の時間が立つまでループ回してるってことじゃないのか

820 :デフォルトの名無しさん:2013/01/20(日) 20:15:46.88
>>817
寝るのはスレッドだけ

821 :デフォルトの名無しさん:2013/01/20(日) 20:19:14.96
mainが入ってるクラスで行数が多くなるので分割する場合
その中のメソッドを呼んだときはインスタンス化されないであってるでしょうか?
またこういう風に使うのは一般的なんでしょうか?

例えば
man.javaで呼ぶ
public static void main(String[] args){
Hoge.hogehoge();
}

Hoge.java
public void hogehoge() {
処理
}

822 :デフォルトの名無しさん:2013/01/20(日) 20:20:51.83
googleデベの25ドル+5ドルは別にいいけど
1本あたり販売価格の30%のテラ銭はボッタくり過ぎだ
グーグルが集金もしてくれるのになぜ自社でパスワードを発行している所が多いかが理解出来た
許して10%までだな、普通なら3〜5%
ヤフオクが安く感じる

823 :デフォルトの名無しさん:2013/01/20(日) 20:38:10.70
自己解決しました

824 :デフォルトの名無しさん:2013/01/20(日) 20:56:44.86
最近javaちょっと始めたんだけど

>>803
ああっ
やっぱり定数ないんですか!

いじらせてもらってる他人作プログラムが
switch() {case: }
のcaseのところに生の数字だけ書いてあるのでどういう意味で分岐させてるのか
さっぱり分からなくて悩んでたんだわ

825 :デフォルトの名無しさん:2013/01/20(日) 21:08:54.70
大学の課題でJAVAでゲーム作るっていうのが出たんだが
ソリティアを作ろうと思うんだけどどういう風に作ればいいんだ?

826 :デフォルトの名無しさん:2013/01/20(日) 21:13:56.11
>>824
これから十分に楽しめそうだね
ポインタがないとどれだけ不便かって事にも気がつくし
「参照」にもだまされないで気をつけてね〜

827 :デフォルトの名無しさん:2013/01/20(日) 21:16:47.24
ソリティアって一人遊びゲームの総称だよね

828 :デフォルトの名無しさん:2013/01/20(日) 21:18:30.44
>>827
そうなのか
ソリティアっていうともうパソコンに入ってるあいつのイメージしかなかったわ

829 :デフォルトの名無しさん:2013/01/20(日) 21:21:14.68
ソリティア - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%AA%E3%83%86%E3%82%A3%E3%82%A2

>Windowsに「ソリティア」という名前でゲームプログラムが標準添付されているため、クロンダイクの名前が「ソリティア」であると非常によく誤認されている。

830 :デフォルトの名無しさん:2013/01/20(日) 21:47:15.07
ずっとソリアティって呼んでたわ

831 :デフォルトの名無しさん:2013/01/20(日) 23:24:49.18
>>826
またおまえか
さっさと巣に帰れ

832 :デフォルトの名無しさん:2013/01/20(日) 23:40:55.92
質問です

private ArrayList<Object> objectArray = new ArrayList<Object>();
...
objectArray.add(new Object(x, y));

このような状況で、
もし既にobjectArrayに入っているObjectの引数x,yが、
今回新たに追加したObjectの引数x,yと等しいときは重複とし、objectArrayのlastIndex要素を削除したいです。

一つ考えたのは、
Objectクラスに
public static Point getPoint() {
return new Point(this.x, this.y);
}
のようなgetterを用意し、

// 座標の重複を調べるためにHashSetを用意
HashSet<Point> hashSet = new HashSet<Point>();
hashSet.add(Object.getPoint());

// とりあえず追加してみる
objectArray.add(new Object(x, y));

// もし両者のサイズが違えば
if(objectArray.size() != hashSet.size()) {
// なかったことにしたいので最後の要素削除
objectArray.remove(objectArray.size());
} else {
・・・
}
のような方法なのですが、何故か上手くいかなかったのと少し煩雑すぎるかと思いまして質問しました。

833 :デフォルトの名無しさん:2013/01/21(月) 00:01:12.37
>>629

834 :デフォルトの名無しさん:2013/01/21(月) 00:06:51.92
>>824
普通そういう場合は
public interface Aisatu {
public static final int OHAYO = 0;
public static final int KONTIWA = 1;
public static final int OYASUMI = 2;
}

public class human implements Aisatu {

private int aisatu;
public human(int aisatu) {
this.aisatu = aisatu;
}

private void move() {
switch(aisatu) {
case OHAYO:
...
break;
case KONTIWA:
...
break;
case OYASUMI:
...
break;
}
}
}

みたいにインターフェースにしないにせよ、拡張性を持たせるように書くんじゃないの?

835 :デフォルトの名無しさん:2013/01/21(月) 00:10:06.55
public void move(int aisatu) {
}
か。

とりあえずケース文に数値を直で書く方法しか知らないレベルのやつが自演して荒らしてるってのはわかった

836 :デフォルトの名無しさん:2013/01/21(月) 00:34:43.76
>>834みたいなクソコードみる度に
JAVA()使いは底辺だと実感する。
意味的に正しいかどうかなど全く考えず
文字数減らすテクニック知ってる
俺カコイイと信じる頭の悪さ。
こういう奴に限ってインタフェースは
継承できるぜとかアホなこと言い出す。
継承の概念も理解できないばかは。

837 :デフォルトの名無しさん:2013/01/21(月) 00:54:13.13
文字数減らすつもりで書いていない
意味的に正しいかなんて君のソースコードを見ていないからわからないが、少なくともcaseの値を直で書くレベルなんだから彼にとってクソコードだとは思ってない
文字数減らすテクニックは知らないんで教えて。
俺カコイイとは思ってないです。

継承できるぜなんて言ってないし、辞書どおりimplementsは装備するものだと考えている

そして、意味的に正しいかの判断ができる君は本人なのかな?
巣に帰りなさい

838 :デフォルトの名無しさん:2013/01/21(月) 00:57:12.49
全角に触ってやるなや

839 :デフォルトの名無しさん:2013/01/21(月) 01:00:19.25
バカにはムリw

840 :デフォルトの名無しさん:2013/01/21(月) 01:00:47.09
Enumはどうした

841 :デフォルトの名無しさん:2013/01/21(月) 01:03:59.30
>>834
これってメモリ上はどういう扱いになるん?
継承したクラスのインスタンス生成するたびにOHAYOとかのメモリが確保されるん?
それともどのインスタンスも同じ変数を参照するん?

842 :デフォルトの名無しさん:2013/01/21(月) 01:04:48.36
一体全体、どんだけJavaに恨み辛みをもってんだよwwww
そんだけボロカスの言語だと思ってたら気にならないと思うんだけどな〜
気にしないつもりが気にしちゃう、そういう部分はある意味日本人が持つ英語に対するアレと似てるな

843 :デフォルトの名無しさん:2013/01/21(月) 01:10:48.85
バカにはムリw

844 :デフォルトの名無しさん:2013/01/21(月) 01:28:52.58
>>832
objectArray に同じオブジェクトが入っているかどうかチェックして、なければ入れるようにすれば?
オブジェクト入れて、重複見つけてから後から入れた方を削除するんなら、同じ結果になると思うけど。

Point p = new Point(x, y);
if (!objectArray.contains(p)) {
objectArray.add(p);
}

Point クラスに equals() と hashCode() メソッドを追加することを忘れずに!

845 :デフォルトの名無しさん:2013/01/21(月) 01:35:36.36
>>841
>継承したクラスのインスタンス生成するたびに
どのように生成するたびに?

846 :デフォルトの名無しさん:2013/01/21(月) 01:47:50.75
>>832
何をしたいのか知らないけど、
Objectの代わりにx,yを入れたPointを使って
HashSetにどんどん突っ込んでいけば、
重複のない座標の集合が得られると思うけど.
順序を保ちたいならLinkedHashSetでいいし

847 :832:2013/01/21(月) 01:55:42.12
>>844
「オブジェクトが同じ」である状態っていうのはどういうことなんですかね。
例えばArrayList<Integer>だと、リストに同じint型の数値があれば「同じ」であることはわかるのですが
ArrayList<Object>ないに同じオブジェクトがあるというHashSet<Object>の判断基準がもう一つわからないです。

ArrayList<Object>に追加したオブジェクトが持つ引数をHashSet<Object>が判定するわけじゃないっていう認識は合ってますか?
故にPoint型で判断しないと・・と思って書いてみたコードです。
上手くいったりいかなかったりしたのはもしかしてhashCode()していなかったかもしれません。
あと、HashSet使わなくてもArrayList自体にcontains()みたいなメソッドあったんですね・・・恥ずかしながら知りませんでした。

848 :デフォルトの名無しさん:2013/01/21(月) 02:09:50.95
>>846
やりたいことを現実世界で言い換えると、

・生徒が来たらイスを一つ用意する
・生徒は5秒後に出て行く
・生徒が出て行けばイスをしまう
・ただし、生徒は何人来るかわからない

みたいな状況で、もし最後の決まりがなければ用意すべきイスの量がわかるので、
Chair[] chair = new Char[NUM_CHAIR];
のように式典が始まる前に最初から用意しておいて、必要なときにnew(x, y)できるのですが、何人来るかわからないのでArrayList使っています
さすがに、new ArrayList[Integer.MAX_VALUE]するのはよそうと思いまして。。。

849 :デフォルトの名無しさん:2013/01/21(月) 03:21:34.04
やっぱJavaとC言語は大きく違うんだな
最近ようやくその違いにわかってきた

学校で習ったはずのC言語がぜーんぜんわからなくてあきらめて、html5でてきた流れでjavascriptに行き着いた
スタンドアローンの開発したくてJavaやってみて、意外とすんなり入れたのはやはりjavascriptと似てるからだろうな
何よりも設計の楽しさに気づいた。
具体的に数値入れてるときよりも、道具作ってるときのほうが楽しい。

850 :デフォルトの名無しさん:2013/01/21(月) 03:30:17.41
javascriptに似てるとか一度も感じたことないのだが

851 :デフォルトの名無しさん:2013/01/21(月) 03:39:46.43
メソッド呼び出す感じは間違いなく似てる。

852 :デフォルトの名無しさん:2013/01/21(月) 04:28:13.06
所詮こんなレベルですw

853 :デフォルトの名無しさん:2013/01/21(月) 04:31:50.42
おはやう。
>>803みたいな奴ってJavaの体系学ぼうとしてないよな・・・。
何もかも自分の大好きな言語で考えちゃうのはよくあることだけどね。

854 :デフォルトの名無しさん:2013/01/21(月) 06:57:46.20
あれじゃ、あっちの世界でもやっかい者だろうけど
とりあえず、ここから出て行ってもらいたいよね

855 :デフォルトの名無しさん:2013/01/21(月) 08:14:54.30
Javaでスタンドアロンw
Javaは事実上サーバー専用言語だというのを知らない奴の、JavaはGUIアプリ作る言語みたいなイメージってどっから来てるんだろうな
サーバーサイドのプログラムって一般的に認知度が低いから、広く使われてる言語=デスクトップアプリで使われてるはず、という認識なんだろうか
さらに最近ではAndroidが誤解に拍車をかけていると

856 :デフォルトの名無しさん:2013/01/21(月) 08:17:07.45
>>834
わざわざ interface にする理由がわからない

857 :デフォルトの名無しさん:2013/01/21(月) 08:22:09.55
巷ではMinecraftというゲームが大人気だそうだ

858 :デフォルトの名無しさん:2013/01/21(月) 08:32:54.51
>>856
定数使うときにクラス名で修飾したくないという理由で生まれた、Javaではわりとよくある糞スタイルだろ
static importで不要になったが、冗長なコードを好むJava使いがなぜ定数名だけはクラス名省きたがるのかという謎は残る

859 :デフォルトの名無しさん:2013/01/21(月) 09:00:14.60
>>836
エラソーな事を言うならキミのコードを見せてご覧 出来るかな?(笑)
でっきるっかな〜(NHK)

860 :デフォルトの名無しさん:2013/01/21(月) 09:01:36.81
>>858
static も使うのを嫌がる傾向にあるみたいだが?

861 :デフォルトの名無しさん:2013/01/21(月) 09:03:00.29
>>860
本当にそうだったらstatic importなんて要望が無くて入らないでしょ
enumもなぜかswitchではクラス名省けるし

862 :デフォルトの名無しさん:2013/01/21(月) 10:33:13.83
enumのswitch文も結局はint分岐にコンパイルされるのよ?
case: null が使えないのは残念。

Javaで#define使ってはいけない理由はない。
Unix系なら、Cコンパイラ入って無くても
プリプロセッサがインストールされているのが普通でわ。
死ぬほどヤダけど。

863 :デフォルトの名無しさん:2013/01/21(月) 11:08:11.54
>>861
タイプの量が減るのは良いが、クラス名を省けるのは良し悪しだとも思う
どっちにしてもオブジェクトレベルでは変化はないでしょ

864 :844:2013/01/21(月) 11:14:48.77
>>847

>「オブジェクトが同じ」である状態っていうのはどういうことなんですかね。
equals(), hashCode() の定義によるね。
自分で定義してなければ Object クラスの「自分と比較対象のオブジェクトが同じメモリアドレスを参照しているか」という条件で同じかどうか判断される。

ソース見たら ArrayList の contains() は、既にリストに含まれる各オブジェクトと新しいオブジェクトを equals() メソッドで比較している。

HashSet はオブジェクトが追加されたときに、新しく追加されたオブジェクトと既に Set に含まれている各オブジェクトを hashCode() と equals() メソッドで比較して、重複を避けるしくみになってる。

Point クラスの equals() と hashCode() メソッドをIDEで自動で作ってみた。
http://ideone.com/xiFRQm

詳しくは Effective Java を読むといい。
「オブジェクトが同じとはなんぞや?」とか「equals() をオーバーライドしたら hashCode() もオーバーライドしないといけない理由」みたいのが詳しく書いてある。

865 :デフォルトの名無しさん:2013/01/21(月) 11:56:29.09
馬鹿には無理

866 :デフォルトの名無しさん:2013/01/21(月) 12:40:18.44
>>859
enum以外にあり得ない。
static final int使う奴は老害ジジイ。

867 :デフォルトの名無しさん:2013/01/21(月) 12:53:59.29
>>866
どこの生徒さん?(笑)
職業訓練性なの?(笑)

別にstatic つけなくてもいいんだけど? static の意味知ってる?(笑)

868 :デフォルトの名無しさん:2013/01/21(月) 13:03:52.81
>>855
おまえ、「JavaでスタンドアロンwGUIアプリ」作ったことないだろ?w

869 :デフォルトの名無しさん:2013/01/21(月) 13:07:35.97
日本のブログでもenumを正確に理解して解説してるところは見たことないから無理無理

870 :デフォルトの名無しさん:2013/01/21(月) 13:15:47.90
そうなのか
じゃあenumについて正確に理解できるよう解説をお願いします

871 :デフォルトの名無しさん:2013/01/21(月) 13:17:50.44
>>768

872 :デフォルトの名無しさん:2013/01/21(月) 13:25:34.11
長年やってきてもenumなんか使ったことはないが、こうじゃないのか?
http://wisdom.sakura.ne.jp/programming/c/c51.html
Cを覚えた頃の認識も同じだが?

873 :デフォルトの名無しさん:2013/01/21(月) 14:08:53.19
>>869 君(ちゃんか?(笑))
それ以外に何があるのかなぁ(笑)

874 :デフォルトの名無しさん:2013/01/21(月) 15:06:05.03
>>831

875 :デフォルトの名無しさん:2013/01/21(月) 15:12:48.53
static final intは、
staticフィールドで、定数として初期化する。メソッドではなくクラスの定数になる。

876 :デフォルトの名無しさん:2013/01/21(月) 16:09:34.27
>>875
クラスだけの定数ならstaticにする理由は何?
クラスのグローバル変数でもいいんじゃないの?

877 :デフォルトの名無しさん:2013/01/21(月) 16:15:05.05
Java最新版に新たな脆弱性情報 - ITmedia エンタープライズ
ttp://www.itmedia.co.jp/enterprise/articles/1301/21/news022.html

Javaをアンインストールせずにセキュリティを高める方法 − TechTargetジャパン 情報セキュリティ
ttp://techtarget.itmedia.co.jp/tt/news/1301/21/news03.html

878 :デフォルトの名無しさん:2013/01/21(月) 16:18:44.00
Java6u38にダウングレードすべき?

879 :デフォルトの名無しさん:2013/01/21(月) 16:51:17.27
>>876
インターフェースはstatic書かなくても
staticになるJavaのクソ文法知ってるぜ
って自慢したいの?
インターフェースをインターフェース以外の
目的で使うなよ。

880 :デフォルトの名無しさん:2013/01/21(月) 16:55:59.51
>>876
まず、Javaにグローバル変数はないよ。
「グローバル変数とメンバ変数の違い」でggrといい。
ないからといって安心できないこともわかるし、グローバル変数やメンバ変数が嫌われることもわかる。また、フィールドとの距離が遠いのも嫌われる。

>クラスのグローバル変数でもいいんじゃないの?
別にいいよ。いいんだけど考えが逆で、わざわざstaticを付けない理由はなんなの?

881 :デフォルトの名無しさん:2013/01/21(月) 17:02:26.15
>>879-880
ゆとりウザイ

882 :デフォルトの名無しさん:2013/01/21(月) 17:09:55.15
おっけい。もう凝りたわ。オサーンに触れるのはやめておこう・・・。
オサーンと言えば御幣があるから付け加えると、あくまでここで暴れてるオサーンね。
自分の周りにいるオサーンは文句たれ流れでも学んでて尊敬できるがここのオサーンは学ぶ姿勢がない・・。

883 :デフォルトの名無しさん:2013/01/21(月) 17:11:22.82
>>877-878
所詮は零細セキュリティ会社の売名行為

884 :デフォルトの名無しさん:2013/01/21(月) 17:43:43.39
>>882
ゆとり死ね

885 :デフォルトの名無しさん:2013/01/21(月) 17:47:46.99
意味も無いのにstaticにするんだ ガキンチョは(笑)
インスタンス造った時1個しか存在出来ないのにね

インターフェイスは今まで使う必要が無かったな 何故必要?

>>880
流れがわかんないのか?
クラス内の話が続いてんだろ?
ローカルに対してのグロバールって事に気づけよ

こんなヤツらが『ゆとり』って言われるガキなのか(笑)

886 :デフォルトの名無しさん:2013/01/21(月) 17:52:06.79
馬鹿には無理

887 :デフォルトの名無しさん:2013/01/21(月) 18:00:22.50
>>882
なんだ学生か(笑) サイナラ

888 :デフォルトの名無しさん:2013/01/21(月) 18:29:08.62
>>885
>インスタンス造った時1個しか存在出来ないのにね
それが一つの目的なんだが。自分で規制かけるのは当然。

889 :デフォルトの名無しさん:2013/01/21(月) 18:36:39.09
>>629

890 :デフォルトの名無しさん:2013/01/21(月) 18:53:11.06
もうJavaVM使いたくないから、誰か新しいVM作ってくれよ。

891 :デフォルトの名無しさん:2013/01/21(月) 19:03:45.82
>>648

892 :デフォルトの名無しさん:2013/01/21(月) 19:31:41.26
もうJavaVM使いたくねえっつってんのに、
.NETなんか使いたい訳ねえだろ馬鹿

893 :デフォルトの名無しさん:2013/01/21(月) 19:45:45.13
.NETは積極的に使いたいけど
JABAはLinux以外で使いたくないな。

894 :デフォルトの名無しさん:2013/01/21(月) 19:57:58.31
macosxは?

895 :デフォルトの名無しさん:2013/01/21(月) 20:06:54.30
>>888
それならMainActivityでインスタンスをstaticで作っておく方が楽だな

896 :デフォルトの名無しさん:2013/01/21(月) 20:11:12.20
サーバサイドJavaからデータ取得して、クライアントサイド.NETで処理とか面倒くさすぎるだろ。
そんな案件も実際やったけど、構造体的オブジェクトの定義だけでもう糞面倒くせえ。

せめてサーバサイド・クライアントサイドの言語を統一して欲しい。
ただJavaのクライアントサイドが終わってるし、.NETのサーバサイドは互換性微妙だし、
つまりはC/Sが統合された新しいVMが欲しいんだよおおおおおおお!!!!1

897 :832:2013/01/21(月) 20:36:24.09
>>864
使わせてもらいました。

import java.util.ArrayList;
public class Sample {

public static void main(String[] args) {

ArrayList<Object> chairArray = new ArrayList<Object>();
chairArray.add(new Point(10, 20));
chairArray.add(new Point(10, 20));

if(chairArray.get(1).equals(chairArray.get(0))) chairArray.remove(0);
System.out.println("size: "+chairArray.size());
}
}

自前で用意→size: 1
用意しない→sie: 2
を確認&ハッシュコードの変化も何となくわかり、とりあえず開発は進められそうです。

ですがまた新たな疑問が・・・
続く↓

898 :832:2013/01/21(月) 20:42:36.85
import java.util.ArrayList;

public class Sample {

public static void main(String[] args) {

ArrayList<Object> chairArray = new ArrayList<Object>();
chairArray.add(new Chair(new Point(10, 20)));
chairArray.add(new Chair(new Point(10, 20)));

if(chairArray.get(1).equals(chairArray.get(0))) chairArray.remove(0);
System.out.println("size: "+chairArray.size());
}

private static class Chair {
public Chair(Point p) {}
}
}

例えばこれだとsize: 2が返ってくるのは何となくわかるのですが、if文をいじらずにsize: 1を返すためにはどうすればいいんですかね?
Pointクラスと同じようにChairクラスにequals・hashCodeメソッドを用意するのがいいのでしょうか?

899 :デフォルトの名無しさん:2013/01/21(月) 20:48:34.57
>>831

900 :832:2013/01/21(月) 20:51:01.38
1を返す方法として、

private static class Chair {
public Chair(Point p) {}
@Override
public boolean equals(Object o) {
return true;
}
@Override
public int hashCode() {
...
}
}

にするなんていう方法もあると思うのですが、これってまずいですかね・・・

901 :デフォルトの名無しさん:2013/01/21(月) 21:03:10.13
こう?
public int hashCode() {
 return this.p.hashCode();
}

public boolean equals(Object x) {
 if ( x instanceof Chair )
  return this.p.equals(((Chair)x).p);
 else
  return false;
}

902 :844:2013/01/21(月) 22:05:32.16
>>900
それだと Point の中身によらず equals が true になって Point(10,20) と Point(30, 40) をリストに入れた時も結果が size = 1 になっちゃうんじゃないか?

>>901
Chair クラスに Point 以外のフィールドがなければそれでいいと思う。
ちなみにまたも自動で作成したらこうなった。

@Override
public boolean equals(Object o) {

// 参照しているメモリアドレスが同じならすぐに true と判定
if (this == o) return true;

// 比較対象が null か違うクラスなら false
if (o == null || getClass() != o.getClass()) return false;

// 前行から同じクラスであることが分かっているのでそのままキャスト
Chair chair = (Chair) o;

// これはちょっとダサい。>>901 と同じく return p.equals(chair.p) とまとめていいかも。
if (!p.equals(chair.p)) return false;

return true;
}

@Override
public int hashCode() {
return p.hashCode();
}

903 :デフォルトの名無しさん:2013/01/21(月) 22:21:14.18
ゆとり死ね

904 :832:2013/01/21(月) 23:41:28.23
>>902
> それだと Point の中身によらず equals が true になって Point(10,20) と Point(30, 40) をリストに入れた時も結果が size = 1 になっちゃうんじゃないか?
確かにそうでした。and回路で縛らないとPointクラスの@Overrideの意味がまるでないことに今更気づきました。
>>901
instanceof!! これでいけました。皆さんありがとうございました。

import java.util.ArrayList;
public class Sample {
public static void main(String[] args) {
ArrayList<Object> chairArray = new ArrayList<Object>();
chairArray.add(new Chair(new Point(10, 20)));
chairArray.add(new Chair(new Point(10, 20)));

if(chairArray.get(1).equals(chairArray.get(0)))chairArray.remove(0);
System.out.println("size: "+chairArray.size());
}
private static class Chair {
private Point p;
public Chair(Point p) {
this.p = p;
}
public int hashCode() {
return this.p.hashCode();
}
public boolean equals(Object o) {
if ( o instanceof Chair )
return this.p.equals(((Chair)o).p);
else
return false;
}
}
}

905 :デフォルトの名無しさん:2013/01/21(月) 23:47:29.97
あ、あとEffectiveJava、実は図書館でチラ見してこりゃまだ早いやと思って投げました。
これを期に購入して読もうと思います〜〜

906 :デフォルトの名無しさん:2013/01/22(火) 00:19:08.07
ならjavaをやるのはまだ早すぎる
jsにはプロパティやジェイソンやクロージャがあるからjs + html5 canvasで修行してろ

907 :デフォルトの名無しさん:2013/01/22(火) 09:26:43.33
>>904
わけのわからんコードを組むより設計をやり直せよ(笑)

908 :デフォルトの名無しさん:2013/01/22(火) 11:07:21.72
フォルダ分けしたクラスはどのように参照するのでしょうか?
例えば
MainActivity.java
[hogeフォルダ]-hoge.java

MainActivity.javaからhoge.javaを使いたいときなどです
eclipseでフォルダ分けをしてもそこに関連づかないです

909 :デフォルトの名無しさん:2013/01/22(火) 11:10:24.39
2chのDATを自動保存してくれるサーバーサイドプログラムってありますかね?
あったら教えてください。
●使用で
板でフォルダ分けたり、キーワードで保存するフォルダ分けたりできるものがないか探しています。

910 :デフォルトの名無しさん:2013/01/22(火) 11:47:19.84
155 名前:名無し~3.EXE [sage] :2013/01/22(火) 05:54:03.62 ID:3AkPaOAH
狗鼠蛇馬という中国の古いことわざがある。
今年は巳年ということもあり、この4文字を店先に掲げて
商売繁盛の願いを込める商店主も多い。

911 :デフォルトの名無しさん:2013/01/22(火) 12:07:07.92
>>910
そのシナチクの言葉はなんて読むの?

912 :デフォルトの名無しさん:2013/01/22(火) 12:27:38.24
狗 く
鼠 そ
蛇 じゃ
馬 ば

913 :デフォルトの名無しさん:2013/01/22(火) 12:59:13.54
>>908
Java の本読めば最初の何章かで出てくると思うけど、package とか import で調べてみ。

914 :デフォルトの名無しさん:2013/01/22(火) 13:29:33.19
どうしてもというならとめんが、クラスのフォルダ別けはオススメしない
クラス数が増えてきても名前順にソートされるでしょ?
それを無駄にしないようにクラス名考えるべきだと思う

915 :デフォルトの名無しさん:2013/01/22(火) 13:37:43.85
>>912
現在悩んでるのね...
2ヶ月も触っていればAndroidでバリバリに組めるようになるからさ
それ以上かかる人? そんなのはじめたばっかのど素人位だろ?
少なくとも今までプログラマとしてやってきたような人(VBとかは別にして)なら2ヶ月以内でバリバリに組めるようになるはず

916 :デフォルトの名無しさん:2013/01/22(火) 13:41:47.94
馬鹿には無理

917 :デフォルトの名無しさん:2013/01/22(火) 13:57:21.72
なぜVBは別なのか

918 :デフォルトの名無しさん:2013/01/22(火) 14:03:40.75
VBは初心者寄りの癖の強い言語だからだろ

919 :デフォルトの名無しさん:2013/01/22(火) 14:11:32.90
VBは歪んだ言語と言っていい

920 :デフォルトの名無しさん:2013/01/22(火) 14:11:54.41
androidみたいなドカタ仕事でも「馬鹿には無理」なんですか!

921 :デフォルトの名無しさん:2013/01/22(火) 14:16:55.40
>>629

922 :デフォルトの名無しさん:2013/01/22(火) 14:17:47.54
>>920
聞かなきゃ分からない馬鹿には無理

923 :デフォルトの名無しさん:2013/01/22(火) 14:25:18.40
ScheduledExecutorServiceは、cancelしたあと、タスク再登録したら、runメソッドの中断したところから再開されて、ローカル変数も引き継がれるんですか?

924 :デフォルトの名無しさん:2013/01/22(火) 14:53:21.71
VBは適当にやって(中身がひどいものでも)も画面上ではちゃんと動いてるように見えちゃう
そもそもVBしか出来ない・やらない人はプログラマとしての適正がない人(消えてしまえ)
上昇志向がある人なら自分にスキルがまったくつかないVBなんか馬鹿らしくてやってられないはず
VBは低脳、上昇志向がない人、とりあえず給料がもらえていればいい人、がやる最低の処理系
VBAはさらに下級の人がやるもの

925 :デフォルトの名無しさん:2013/01/22(火) 15:01:12.14
ゆとり死ね

926 :デフォルトの名無しさん:2013/01/22(火) 15:01:24.71
java程度で上から目線w

927 :デフォルトの名無しさん:2013/01/22(火) 15:09:46.66
Javaが最悪の言語だと知ると発狂してしまうのです。
下手をすると自殺に走るおそれもあります。
Javaより下にVBがあるということにしておいてあげてください。

928 :デフォルトの名無しさん:2013/01/22(火) 15:37:13.61
>>782

929 :デフォルトの名無しさん:2013/01/22(火) 15:43:40.63
java ねぇ
AndroidがC++ならjavaなんかやらずにすんだんだけどねぇ
2週間の損失で済んだから まぁいいけど

930 :デフォルトの名無しさん:2013/01/22(火) 15:53:21.82
それではこんなところで油を売ってないでC++スレにお帰り下さい

931 :デフォルトの名無しさん:2013/01/22(火) 16:09:51.64
ここJavaスレだで。

932 :デフォルトの名無しさん:2013/01/22(火) 16:18:43.08
最近暇なものでね。
燃費がよくなったおかげでウチのサービスステーションも閑古鳥で。

933 :デフォルトの名無しさん:2013/01/22(火) 16:31:41.91
ていうかswingを使ってgui作ったことないでしょ?

934 :デフォルトの名無しさん:2013/01/22(火) 16:41:21.64
普段からバリバリやってるよ。
この頃は忙しいから専らカサだけど。

935 :デフォルトの名無しさん:2013/01/22(火) 16:51:37.39
C++さんには特に用はないの自分の巣にで速攻でお戻り下さい

936 :デフォルトの名無しさん:2013/01/22(火) 16:52:31.88
C++さんに特に用はないの自分の巣に速攻でお戻り下さい

937 :デフォルトの名無しさん:2013/01/22(火) 17:09:05.75
巣にでスムニダ!

938 :デフォルトの名無しさん:2013/01/22(火) 18:15:24.53
Android以外のjava? (大笑い)
今までも無いし、今後も絶対に無い エバーネバーってヤツ
いくらお金を積まれてもやらない
Androidやる為だけのjava

939 :デフォルトの名無しさん:2013/01/22(火) 18:18:41.36
どうでもいいからカネくれ

940 :デフォルトの名無しさん:2013/01/22(火) 19:29:40.13
java川柳w
かわいそう...
 javaしかできない
  javaもできない...VB&VBA

941 :デフォルトの名無しさん:2013/01/22(火) 19:43:41.50
>>768

942 :デフォルトの名無しさん:2013/01/22(火) 19:48:59.30
>>940

かわいそう...
 javaしかできない
  javaさえできない...VB&VBA

943 :デフォルトの名無しさん:2013/01/22(火) 19:54:38.37
どっちもドカタ専用言語なんだから仲良くしなさい

944 :デフォルトの名無しさん:2013/01/22(火) 19:58:34.72
趣味でやってるもんいとってはドカタだろうがなんだろうが楽しけりゃいい。

945 :デフォルトの名無しさん:2013/01/22(火) 20:06:20.65
>>941
かわいそう
  誰も見てない
    お前のアンカ〜

946 :デフォルトの名無しさん:2013/01/22(火) 20:08:45.88
むしろネバーエバー

947 :デフォルトの名無しさん:2013/01/22(火) 20:20:13.99
>>946
BCBやれよ 楽だぞ(笑)

948 :デフォルトの名無しさん:2013/01/22(火) 20:22:40.89
>>931

949 :デフォルトの名無しさん:2013/01/22(火) 21:07:04.40
これ間違いなくニートだな。昼夜問わず張り付いてる。

950 :デフォルトの名無しさん:2013/01/22(火) 21:14:40.30
ニート呼ばわり

951 :デフォルトの名無しさん:2013/01/22(火) 21:16:57.77
馬鹿には無理

952 :デフォルトの名無しさん:2013/01/22(火) 21:23:06.54
で?
張り付いてるって断言して何か意味あんの?

953 :デフォルトの名無しさん:2013/01/22(火) 21:49:44.03
BCBって何

954 :デフォルトの名無しさん:2013/01/22(火) 21:51:42.35
この前の「ゆとり」が発狂してるんだろどうせ

955 :デフォルトの名無しさん:2013/01/22(火) 21:55:56.14
155 名前:名無し~3.EXE [sage] :2013/01/22(火) 05:54:03.62 ID:3AkPaOAH
狗鼠蛇馬という中国の古いことわざがある。
今年は巳年ということもあり、この4文字を店先に掲げて
商売繁盛の願いを込める商店主も多い。

956 :デフォルトの名無しさん:2013/01/22(火) 22:04:30.24
ボーランドCブラブラ

957 :デフォルトの名無しさん:2013/01/22(火) 22:05:05.00
watcomじゃダメなの?

958 :デフォルトの名無しさん:2013/01/22(火) 22:06:37.88
Cブラブラ
チンチンブラブラ

959 :デフォルトの名無しさん:2013/01/22(火) 23:57:18.59
質問
@Overrideで既存のメソッドに+alphaの機能を持たせたいときはどうすればいいんでしょうか?
新たに1から書き直すのではなく、既存のソースコードに付け足すようにしたいです

960 :デフォルトの名無しさん:2013/01/22(火) 23:57:43.08
>>959
Template Methodパターン

961 :デフォルトの名無しさん:2013/01/23(水) 00:02:14.56
superで呼び出すだけだろ

962 :デフォルトの名無しさん:2013/01/23(水) 06:59:36.22
bitch bitch jav java run run runnable

963 :デフォルトの名無しさん:2013/01/23(水) 07:45:05.71
>>953
Borland C++Builder

964 :デフォルトの名無しさん:2013/01/23(水) 09:56:23.88
Pattern.compile("正規表現")の"正規表現"にシステムのディレクトリ区切り
File.separatorを含めたいんだけど
"hogehoge" + File.separator + "piyopiyo" ってするとWindowsの場合
"hogehoge\piyopiyo" ってなってPatternSyntaxExceptionになるんだけど
どうしたらいい?

システム依存にしたくないからFile.separatorを"\"でエスケープするとかはしたくない

965 :デフォルトの名無しさん:2013/01/23(水) 10:12:31.72
エスケープする必要があればエスケープという処理を挟む
馬鹿のお前には分からないか

966 :デフォルトの名無しさん:2013/01/23(水) 10:31:15.50
Javaで定番のゲームライブラリを教えて

967 :デフォルトの名無しさん:2013/01/23(水) 10:53:06.45
>>966
lwjgl
javaに英語必須!

968 :964:2013/01/23(水) 10:55:29.04
自己解決
"hogehoge" + Pattern.quote(File.separator) + "piyopiyo"

エスケープする必要があるかどうか調べて分岐するような
お馬鹿なコードは書かずにすんだ

969 :デフォルトの名無しさん:2013/01/23(水) 12:08:41.76
このスレは自分で解決する力を育みます

970 :デフォルトの名無しさん:2013/01/23(水) 12:19:28.82
>>965
良い先生がいるね
って、ここはプログラミング疲れの憂さ晴らしをするところじゃないのかぃ
迷い込んできた馬鹿をいたぶって...

971 :デフォルトの名無しさん:2013/01/23(水) 12:24:36.34
Java正規表現の文字列定数にバックスラッシュを書く時の
めんどくささは鬼畜レベル

972 :デフォルトの名無しさん:2013/01/23(水) 12:36:47.25
>>967
まじっすか!
これ使えれば仕事になりそうですね!

973 :デフォルトの名無しさん:2013/01/23(水) 12:49:16.02
>>971
とか言ってる君は社畜だなw ※社畜:リーマン、コームイン

974 :デフォルトの名無しさん:2013/01/23(水) 13:19:06.98
JSPのEL式( ${}… ) で展開される文字列に、HTMLエスケープを利かす方法はあるでしょうか?

975 :デフォルトの名無しさん:2013/01/23(水) 13:31:55.08
ようこそjavaへ!

を出すだけで3時間かかったぜハァハァ...

976 :デフォルトの名無しさん:2013/01/23(水) 13:48:21.52
>>968
>>965に礼の一つくらい言え

977 :デフォルトの名無しさん:2013/01/23(水) 14:12:17.77
>>968
この程度の事を聞くような馬鹿に言っても無理だな

978 :デフォルトの名無しさん:2013/01/23(水) 14:17:43.96
>>768

979 :デフォルトの名無しさん:2013/01/23(水) 14:24:28.41
ここの先輩方どうか最良の勉強方法を教えてください
やりたいこと
・GUIアプリが作れるようになる
・ゲームが作れるようになる
・公式ドキュメントを見て一人で何でもこなせる最強の戦士になる
・Androidアプリが作れるようになる
以上なんですが、どのような道のりを歩めばよいでしょうか?
やはり専門学校に通うべきなのか?書籍などもございましたら教えてください
プログラミングはPHPしかやったことありません

980 :デフォルトの名無しさん:2013/01/23(水) 14:26:58.95
最強の戦士とかいうものになったことがないのでわかりません

981 :デフォルトの名無しさん:2013/01/23(水) 14:32:24.29
ゲームの専門学校に通って講師に質問しまくってください
大卒程度の年齢(24才程度)を越えると学校にも通いにくくなるので学校に通うのが最良です

982 :デフォルトの名無しさん:2013/01/23(水) 14:32:49.82
仕組みに興味を持つところから

機械ならまず分解

983 :デフォルトの名無しさん:2013/01/23(水) 14:35:56.32
次のうんちスレはどこだ?

984 :デフォルトの名無しさん:2013/01/23(水) 14:36:11.94
ただ、社会人になってからもみんな勉強してるってことも忘れないように
卒業したら終わりではないのです

985 :デフォルトの名無しさん:2013/01/23(水) 14:55:36.71
>>967
mac,linuxも考えるとjavaだとこれしかないですよね

986 :デフォルトの名無しさん:2013/01/23(水) 14:57:45.67
>>965
>>970
>>976

987 :デフォルトの名無しさん:2013/01/23(水) 14:58:16.62
ひどい自演をみたww

988 :デフォルトの名無しさん:2013/01/23(水) 15:01:54.38
>>970は別人と見た

989 :デフォルトの名無しさん:2013/01/23(水) 15:05:50.61
糞スレおつ

990 :デフォルトの名無しさん:2013/01/23(水) 15:06:40.70
次スレ
★★Java質問・相談スレッド159★★
http://toro.2ch.net/test/read.cgi/tech/1358921135/

991 :デフォルトの名無しさん:2013/01/23(水) 15:28:28.40
>>988
正解w

992 :デフォルトの名無しさん:2013/01/23(水) 15:37:15.09
指摘できるのも、それを正解と言えるのも



本人だから

993 :デフォルトの名無しさん:2013/01/23(水) 16:27:39.21
>>821
hogehoge()はスタティックメソッドでなければならないと思うけど、
メモリ上にロードはされるけどインスタンス化はされないで合ってる……かな?

994 :デフォルトの名無しさん:2013/01/23(水) 16:52:20.60
7

995 :デフォルトの名無しさん:2013/01/23(水) 16:54:43.05
8

996 :デフォルトの名無しさん:2013/01/23(水) 19:47:15.64
5

997 :デフォルトの名無しさん:2013/01/23(水) 20:14:33.18
9

998 :デフォルトの名無しさん:2013/01/23(水) 20:16:05.91
3

999 :デフォルトの名無しさん:2013/01/23(水) 20:17:03.49
14

1000 :デフォルトの名無しさん:2013/01/23(水) 20:19:04.96
5963

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

235 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)