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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語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
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

前スレッド
★★Java質問・相談スレッド163★★
http://toro.2ch.net/test/read.cgi/tech/1374769525/
2デフォルトの名無しさん:2013/09/03(火) 23:48:35.75
2 デフォルトの名無しさん sage 2013/07/26(金) 09:10:26.44
>>1 乙

>String に == は使うな。equals() を使え。
真に受ける人がいるからテンプレから削除するか
補足が必要

定数のcommand文字列と同一オブジェクトを比較する場合
==で比較するほうが可読性が良い場合がある
なんでもかんでもequals()つかってはいけない

同一クラス内において文字列リテラルは同一インスタンスである

String a = "adb";
String b = "adb";

a==bはtrueになるので初心者は罠にはまることがある


余談
1.7でスイッチ(String)が使えるようになったが
String key = null
swhich(key)はぬるぽになるのでcese null:とかできない
3デフォルトの名無しさん:2013/09/03(火) 23:52:59.51
>>2
>同一クラス内において文字列リテラルは同一インスタンスである
これって言語仕様で保障されてるの?
4デフォルトの名無しさん:2013/09/04(水) 01:03:37.07
言語仕様だと、同じ文字列定数式は全部同一インスタンス。
クラスやパッケージは関係ないだろ
5デフォルトの名無しさん:2013/09/04(水) 01:13:02.31
>>4
試してみたら本当だった。凄い仕様だな。
6デフォルトの名無しさん:2013/09/04(水) 01:13:44.24
== で比較するような文字列にはEnumを使うべきなので
Stringには何でもかんでも.equals()を使うのが正解
7デフォルトの名無しさん:2013/09/04(水) 01:21:01.74
equalsのデフォルト実装は真っ先に==チェックするんだが
8デフォルトの名無しさん:2013/09/04(水) 01:35:25.16
equals使えってのは"a" == new String("a")とういう場合があるからだろ。
実行時に作られた文字列は定数共有しないんだよ。
コンパイル時に作られたか実行時に作られたかは区別付かないだろ。
9デフォルトの名無しさん:2013/09/04(水) 01:40:28.32
javaドカタ第一の壁:for文
javaドカタ第二の壁:文字列
10デフォルトの名無しさん:2013/09/04(水) 01:54:21.89
いい忘れたけどinternしてもequals == true以外の時は共有されてないから
たまに見るs1.intern()==s2.intern()ってやるのは間違いだぞ。
11デフォルトの名無しさん:2013/09/04(水) 09:37:57.41
素直にequals使いなよ
そんなところで無駄に反抗することでアイデンティティを見出だしているのかな
素直になりなさい
12デフォルトの名無しさん:2013/09/04(水) 09:47:04.84
いやつまらんところでひっかからないように落とし穴を教えてくれる人に感謝を。
13デフォルトの名無しさん:2013/09/04(水) 10:11:10.71
ハード機器からmidi送信、サウンドAPIでPC内midi音源を再生
を無事できたのですが、レイテンシーがどうしても気になります
ASIOドライバ対応のオーディオインターフェイスを所持しているのでASIOを使いたいと考えています

しかしいくつかわからない点があります
例えば、オーディオインターフェイスとPCを繋ぎ、
コンパネのサウンド設定で初期のRealtook?等からASIO対応のオーディオインターフェイスに変更すると、
外部midi送信機器とPCをUSBで繋げばそれだけでASIOを使いmidiのやり取りができることが多い気がします

ASIO対応オーディオインターフェイス - PC間
midi送信機器 - PC間
をそれぞれ繋げばASIOが利用できるということは
midi情報をASIOに対応させたり?というのはPC内で勝手にやってくれているという認識でよろしいでしょうか?
また、その部分を制御できればレイテンシーを減らせないだろうかと考えていますがJavaでできるのでしょうか
14デフォルトの名無しさん:2013/09/04(水) 11:52:25.38
なぜ2を持ってきたんだ・・・
2の真意はpublic static final String ActionKey = "アクションA";

"アクションA".equals(getActionCommand())
ActionKey == getActionCommand() // 同じインタフェースだと解る

enumつかえるならそっち使うのがスマートだと思うし誤解も少ない
15デフォルトの名無しさん:2013/09/04(水) 12:01:53.01
ASIOは以下で取得する一覧に含まれるのかな
MidiSystem.getMidiDeviceInfo()
16デフォルトの名無しさん:2013/09/04(水) 12:13:43.98
>>10
>internしてもequals == true以外の時は共有されてないから

これは結構ディープだな。
String.classのライフがinternの()スコープだから普通はvmで一意だと思ってたけど、たとえばどうゆうときにそうなるの?
17デフォルトの名無しさん:2013/09/04(水) 12:26:43.53
>>9
文字列を理解できたらこのスレでは上位10%だよ
18デフォルトの名無しさん:2013/09/04(水) 12:40:33.07
>>13
Win用JREに無料で付いてくるOracle製ソフトMidiデバイスの遅延に不満があるのなら、
MIDI-PCM変換を自前のJavaで書いたところで、大して不満は解決しないと思う。
19デフォルトの名無しさん:2013/09/04(水) 12:58:10.25
// char c = '𠀋'; // 表示されるかわからないけど4byte文字
String s = "𠀋";
// System.out.println(c);
System.out.println(s);
System.out.println(s.length());
System.out.println(s.charAt(0) & 0xFFFF);
System.out.println(s.charAt(1) & 0xFFFF);

実はむつかしいString
20デフォルトの名無しさん:2013/09/04(水) 13:08:12.50
>>15
ASIOというか、ASIO対応のそのオーディオデバイス名がでます。
ですがレイテンシーから察するに、明らかにASIOが使えていないのが伺えますねー。。。
21デフォルトの名無しさん:2013/09/04(水) 13:13:29.84
WindowsだとMicrosoft MIDI Mapperが見えると思います
これでも遅延は発生するのかな
22デフォルトの名無しさん:2013/09/04(水) 13:16:29.45
マッパーだと切り分け出来んかった
Microsoft GS なんとか
こっちに該当するものだとどうなんだろ
2313:2013/09/04(水) 13:34:57.85
デバイスはローランドのオーディオインターフェースを選んでます。
というか、他を選んでしまうと意味が無いような・・・。

midi機器と接続できるようなソフトウェアって大抵はmidiのI/Oを設定できますよね。
そこではなくて、Device Type?

・ASIO
・Windows Audio
・DirectSound

こういった選択肢が、私の持っているソフトシンセであったりそういったソフトで選択可能なのですが、
この部分はサウンドAPIのmidi再生ではどのように扱われているかがわからないです。
2413:2013/09/04(水) 13:37:07.94
>>22
Microsoft GS・・はmidi音源ですよね確か。これは正常に音は鳴るのですが、やはりレイテンシーが酷いです。
なので音源が原因ではないと思います。(他の市販おソフトシンセ等でも試しました)
25デフォルトの名無しさん:2013/09/04(水) 14:08:06.59
サウンドフォントを再生するところで遅延している印象は薄いですね

ノートONするたびに標準出力を出力。その時点で遅延しているのであれば
Javaで介入できる場所は無いという結論に至ります

遅延というのがキーを押してベロシティ(キーを押す速さ)検出レベルの事だとしたら
ハードウェアのことなのでお手上げです
2613:2013/09/04(水) 15:01:01.94
>>25
鍵盤を押してからjavaプログラムを通してmidi音源が再生されるまでのレイテンシーです。
ちなみにjavaを通さずにASIOが設定できるソフトでは全く問題ないので外部機器のせいではないと思われます。
もう少し調べてみます。ありがとうございました。
27デフォルトの名無しさん:2013/09/04(水) 15:04:37.30
enumの引数にStringを入れた場合の比較って==で良かったのでしたっけ?
28デフォルトの名無しさん:2013/09/04(水) 15:18:15.20
ジャバ8のラムダで、_ アンダーバー(アンダースコア)の識別子をラムダ内に限って特別にキーワードとするようですけど、どういう機能を想定しているんですか?
本当は_ アンダーバーよりも$ ダラーをスペシャルにした方がよりジャバっぽいんですけど。
29デフォルトの名無しさん:2013/09/04(水) 15:21:58.38
アプリケーションにフォーカスがないときでもキーボード入力を監視する事ってできますかね
擬似スクリーンセーバ作ってるんですがマウス検知しかできないんです
30デフォルトの名無しさん:2013/09/04(水) 15:29:01.20
ソフト音源にこだわる >>13 のCPUは何使ってんのよ。

久しぶりに外部MIDI音源とか見てたらエントリクラスの新製品が壊滅状態で
どれもこれもCorei7より高くてびっくり
31デフォルトの名無しさん:2013/09/04(水) 15:30:51.03
>>29
java グローバルキーフック
これでggrといいかも
32デフォルトの名無しさん:2013/09/04(水) 15:34:07.20
enum同士なら当然 ==
そいつが持ってるプロパティのオブジェクト比較も == であるべき
33デフォルトの名無しさん:2013/09/04(水) 15:38:44.28
>>9
34デフォルトの名無しさん:2013/09/04(水) 15:46:26.79
i7とか   どんだけブルジョアなんだよ
35デフォルトの名無しさん:2013/09/04(水) 15:51:49.69
馬鹿には無理
36デフォルトの名無しさん:2013/09/04(水) 18:17:11.63
>>27
前スレからActionCommandの流れ引きづってんだろと思ってエスパーするが、
もう String 隠して Enum に isMyCommand(ActionEvent) とか作ればええやん。
37デフォルトの名無しさん:2013/09/04(水) 18:32:36.22
>>31
やはりdllを呼び出すことでしか実現できませんか・・・
情報提供感謝します
38デフォルトの名無しさん:2013/09/04(水) 20:30:46.16
>>37
JDialog dialog = new JDialog ();
dialog.setModal (true);
dialog.setAlwaysOnTop (true);
dialog.setModalityType (ModalityType.APPLICATION_MODAL);
39デフォルトの名無しさん:2013/09/04(水) 21:41:50.63
くだらないことですみません、
javaの総合的な情報を扱うような本スレは存在しないのでしょうか?
40デフォルトの名無しさん:2013/09/04(水) 21:53:44.73
ここです
41デフォルトの名無しさん:2013/09/04(水) 21:54:54.27
>>40
JNIやJNAの情報を仕入れたいんです><
42デフォルトの名無しさん:2013/09/04(水) 21:55:58.97
   \  丶       i.   |      /     ./       /
    \  ヽ     i.   .|     /    /      /
      \  ヽ    i  |     /   /     /
   \
                                  -‐
  ー
 __          こ こ  で す            --
     二          / ̄\           = 二
   ̄            | ^o^ |                 ̄
    -‐           \_/                ‐-

    /
            /               ヽ      \
    /                    丶     \
   /   /    /      |   i,      丶     \
43デフォルトの名無しさん:2013/09/04(水) 22:10:46.82
>>39
そう、ここは初心者スレ。
だけどここの住人はif文、for文一通りマスターしているのでドンと来い!
44デフォルトの名無しさん:2013/09/04(水) 22:29:47.09
JNI、RMIならおれにきけええええ
JNAは他の人にパス
45デフォルトの名無しさん:2013/09/04(水) 22:31:32.46
>>9
46デフォルトの名無しさん:2013/09/04(水) 22:34:14.84
>>41
情報は、英語のサイトで仕入れて、日本語でブログを書いてください
47デフォルトの名無しさん:2013/09/05(木) 00:17:37.41
「ピュアジャバじゃない」という理由でJNIは相手にしないのが真のjavaドカタ
でもandroidはやります
48デフォルトの名無しさん:2013/09/05(木) 11:45:30.82
49デフォルトの名無しさん:2013/09/05(木) 13:03:51.98
>>41
JNIは本嫁
50デフォルトの名無しさん:2013/09/05(木) 23:53:55.97
jspを書くときは手書きでやってますか?
51デフォルトの名無しさん:2013/09/06(金) 00:01:17.60
手書きじゃなくてキーボード使うよ
52デフォルトの名無しさん:2013/09/06(金) 00:05:54.14
コードスニペットとかパレットとか呼ばれる機能で貼り付けできるけど
うぃじうぃぐとかいうので見ながらやりたいわ
5350:2013/09/06(金) 00:17:43.03
やっぱり、手書きするんですねー
いつも作ってる業務システムも手書きだけどさ、めんどいな

>>52 サンク ユー
54デフォルトの名無しさん:2013/09/06(金) 01:46:41.31
jdk8のDP今日中に出るだろうか
55デフォルトの名無しさん:2013/09/06(金) 05:05:53.77
http://android2010.seesaa.net/category/12346444-1.html
ここ見て作ってたんだけど11桁以上入れるとバグるんだけどなんで?
56デフォルトの名無しさん:2013/09/06(金) 10:22:08.06
Integer -2,147,483,648 〜 2,147,483,647
オーバーフロー

ページ見てないけどたぶんこれ
57デフォルトの名無しさん:2013/09/06(金) 12:37:00.75
>>56
まさにこれっぽいありがとう
58デフォルトの名無しさん:2013/09/06(金) 13:24:21.45
なんというエスパー
59デフォルトの名無しさん:2013/09/06(金) 15:04:50.66
http://www.infoq.com/jp/news/2013/09/everything-about-java-8
Java 8のすべて
原文(投稿日:2013/08/30)へのリンク

ここまでに述べた以外のパッケージにも,まだ多数の追加機能がある。
長年の懸案だったStringJoinerとString.join(...)がJava 8で実現される。
Stringプールマップのサイズ既定値が25〜50K程度まで拡張された。
60デフォルトの名無しさん:2013/09/06(金) 15:38:34.82
List<JButton> buttons = new ArrayList<Button>();
buttons.add(new JButton....
....

これを別スレッドで
buttons.get(0).setText("asdf");
buttons.get(0).setPreferredSize(new Dimension...

等やる分にはArrayListの同期は必要ないのですよね?
別スレッドでaddやremoveをする場合は同期が必要という解釈でよろしいでしょうか?
61デフォルトの名無しさん:2013/09/06(金) 16:09:45.71
スレチかもしれないンですが、Eclipseで構文を実行しても
その実行ファイルが表示されません。正確には、いつもプログラムを書く欄の
したに実行ファイルが表示されるはずなのですが、表示されなくなりました。
構文は間違っていないと思うのですが一応記しておきます。
import java.io.*;

public class Copy2 {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println(e);
}
}
}
62デフォルトの名無しさん:2013/09/06(金) 16:15:30.20
しすてむ・あうと・ぷりんとるん
63デフォルトの名無しさん:2013/09/06(金) 16:47:15.76
>>61
実行ファイルってなにを指して言ってんの?
.classファイルのこと?んなもん表示されてたか?
64デフォルトの名無しさん:2013/09/06(金) 16:59:36.69
>>63
すいません正しくは実行結果です。実行ボタン(音楽プレーヤーの再生ボタンと同じ形)の上に
マウスを持っていったら「既に実行中」と表示されておりました。
これっておそらく実行結果は表示されているが、肝心の結果を表示する欄が
どこかに行ってしまったということではないでしょうか?
実行結果ってどこから呼び出すことができますかね
65デフォルトの名無しさん:2013/09/06(金) 17:05:55.55
>>60
しらんがな。同期が必要かどうかは君が判断するんだってば。

setTextとsetPreferredSizeの相手はそれぞれ別オブジェクトになってもいいんだね?
66デフォルトの名無しさん:2013/09/06(金) 20:07:36.51
JFrameを実装したFrame1は2つのテキストフィールドとそれぞれに対応したボタンを持っています
ボタンを押すとJFrameを実装したFrame2が生成されます
Frame2で特定の操作をして、その内容をFrame1の対応したテキストフィールドに入力したいのですが行き詰まってます
具体的にはFrame2にてsetTextを用いたいと思います
当たり前ですがFrame1とFrame2は異なるクラスです
新たにフレームを生成するのではなく、既に生成されているフレーム内のものを操作するにはどうすればいいでしょうか
67デフォルトの名無しさん:2013/09/06(金) 20:36:10.79
>>58
11桁っていうとまずチェックするとこだろ。
68デフォルトの名無しさん:2013/09/06(金) 20:44:52.28
>>54
楽しみですよね〜^^
69デフォルトの名無しさん:2013/09/06(金) 20:52:02.37
struts2のいい教材があったら教えて

日本語だとありがたい
70デフォルトの名無しさん:2013/09/06(金) 20:56:24.83
それセキュリティホールで死んだフレームワークじゃなかったか?
71デフォルトの名無しさん:2013/09/06(金) 21:14:10.81
どっかのメガネ屋のでしょ?
あれ本当にStruts2のバージョンが古かったからなの?
72デフォルトの名無しさん:2013/09/06(金) 21:26:18.31
>>65
addやremoveはこれ以降しないのでっていう理由で同期しないのって怠け者ですかね?
73デフォルトの名無しさん:2013/09/06(金) 22:01:31.49
Java8でラムダがどうの話題になっているけれど、
もしJava7以下のバージョンしか入っていない環境で実行するとどうなっちゃうわけ?
74デフォルトの名無しさん:2013/09/06(金) 22:02:22.24
バイナリが新しいぞコラってなるんじゃね?
75デフォルトの名無しさん:2013/09/06(金) 22:05:18.30
古いバージョンに合わせてコンパイルとか出来るんだっけ?
76デフォルトの名無しさん:2013/09/06(金) 22:06:08.37
馬鹿には無理
77デフォルトの名無しさん:2013/09/06(金) 22:11:50.46
新構文を旧バージョンに対応させるわけではないでそ
78デフォルトの名無しさん:2013/09/06(金) 22:14:56.68
旧環境ではコンパイルできないだけで実行は問題ないでしょ
79デフォルトの名無しさん:2013/09/06(金) 22:24:33.41
新しいクラスやメソッドなどのメンバを呼び出すことができないからつかえな
80デフォルトの名無しさん:2013/09/06(金) 22:45:04.24
>>79
それはクラスライブラリの問題だろ
構文には問題は生じない
81デフォルトの名無しさん:2013/09/06(金) 23:07:05.38
ラムダとキャプチャがよくわからなかった
実質的finalはコンパイラの静的チェックで引っかかるの?
82デフォルトの名無しさん:2013/09/06(金) 23:20:27.55
無名クラスに引き取られた変数はヒープに置けばいいんじゃないか
と思うのだがC#はどうなんだ?
83デフォルトの名無しさん:2013/09/06(金) 23:22:55.78
public class copy {
public static void main(String[] args) {
printGraph(10);
}
public static void printGraph(int x) {
for (int i = 0; i < x; i++) {
System.out.print("*");
}
System.out.println("");
}
}

この構文なのですが、(int i = 0; i < x; i++) でprintGraph(10)だとすると、
x = 10となり、出力される「*」の数は9個だと思うのですがなぜ10個なのでしょうか
84デフォルトの名無しさん:2013/09/06(金) 23:28:44.39
85デフォルトの名無しさん:2013/09/06(金) 23:32:59.11
>>83
ゼロオリジン
86デフォルトの名無しさん:2013/09/06(金) 23:34:56.55
>>82
C#がまさにそうやって「クロージャ」を実装してる
Javaのももともとクロージャにするつもりだったが、
ローカル変数はスタックに置くものという固定観念を捨てられず、
ある時期からクロージャという言葉を使わなくなり、しれっとラムダと呼ぶようになった
8783:2013/09/06(金) 23:35:49.37
あれ、ちょっと待ってください。
もしかしてint i = 0の段階でも既に「*」って出力されるんでしょうか
だとすると0、1、2、3、4、5、6、7、8、9の10個ですが・・・
88デフォルトの名無しさん:2013/09/06(金) 23:48:14.31
>>87
はい
89デフォルトの名無しさん:2013/09/06(金) 23:55:11.21
馬鹿には無理
90デフォルトの名無しさん:2013/09/06(金) 23:58:34.44
ありがとうございます。バカだけど分かりました
91デフォルトの名無しさん:2013/09/07(土) 00:09:27.45
>>87
x = 10 だと
i < 10

だから、
0 ≦ i ≦ 9

だよ。
9 - 0 + 1 = 10

小学生で習うのではなかろうか
92デフォルトの名無しさん:2013/09/07(土) 03:55:55.37
>>78
invokedynamic使ってるから無理
93デフォルトの名無しさん:2013/09/07(土) 04:28:11.62
「IOException出たけどとりあえず正常だったことにして処理続行しろ」
みたいなプログラミングがJava8のラムダでできるようになるの?
94デフォルトの名無しさん:2013/09/07(土) 04:49:32.21
実行時例外のIOExceptionが追加された
95デフォルトの名無しさん:2013/09/07(土) 08:18:27.44
>>94
冗談だろうと思ったらマジだった
いくらラムダと相容れないからって、標準ライブラリでこういうことやっちゃうと
みんな真似してほんとに誰も検査例外使わなくなるよ
素晴らしいことだけど
96デフォルトの名無しさん:2013/09/07(土) 10:45:47.34
jspってjavaのソースコードと連携できる、ただのテンプレートエンジンやん
これ、ただのテンプレートエンジンだからhtml5吐き出せるんだよね?
97デフォルトの名無しさん:2013/09/07(土) 10:58:43.21
>>96
なんでそんな当たり前のことを質問するのかわからない
98デフォルトの名無しさん:2013/09/07(土) 11:03:09.40
JSPは<%や%>の外側がブランクだったらその行を出力しないオプションが欲しい
99デフォルトの名無しさん:2013/09/07(土) 11:11:34.08
今週は 「ついったのTLは社員が人力でHTML書いてる」 とか
「lang="ja"なのはJavaな証拠」 とかいう議論があったりしてだな…
100デフォルトの名無しさん:2013/09/07(土) 16:40:25.78
ImageIO.read(new File("board.png"));
では通らないけど、
ImageIO.read(getClass().getResource("board.jpg"));
だとIIOExceptionが起こらず通るのはなぜなのでしょうか?
ちょうどこの方と同じ感じなのですが
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1152575411
101デフォルトの名無しさん:2013/09/07(土) 16:54:47.05
前者はコンピュータ上のファイルパスで
後者はJar内のリソースファイルじゃないの
102デフォルトの名無しさん:2013/09/07(土) 16:55:42.74
>>100
パスが違うんだろ
103デフォルトの名無しさん:2013/09/07(土) 17:12:31.43
理解出来ました
ありがとうございます
104デフォルトの名無しさん:2013/09/07(土) 17:18:52.47
>>97
ほんまでっか?
105デフォルトの名無しさん:2013/09/07(土) 20:09:41.70
jdk7, jdk8-eaではString#substringがコピー仕様になっていますが、以前はコピーではなく、char[]のrefを共有する方式(のpackageprivate constractor call)じゃなかったですか?
それとも気のせいですかね。
106デフォルトの名無しさん:2013/09/07(土) 21:14:51.50
char[] を共有する方式だと、超長い String に対して
substring 呼んだ短い String だけとっておきたい場合でも
元の超長い String の char[] が GC されないという
問題があったから、変更されたんじゃないの。
107デフォルトの名無しさん:2013/09/07(土) 21:22:36.65
いつの間にって感じでキョンとしてるんですが、共有してたのはjdk6ぐらいの時(jdk6 only)でしたっけ?
108デフォルトの名無しさん:2013/09/07(土) 21:38:19.36
>>9
109デフォルトの名無しさん:2013/09/07(土) 22:16:51.70
オブジェクト指向ってのがよくわからない
JavaにしろC++にしろ基本らしいけどどういうものなの?
110デフォルトの名無しさん:2013/09/07(土) 22:23:15.36
よく分かるようになりたかったらジャバとかシープラプラとかをしっかり勉強してください。
111デフォルトの名無しさん:2013/09/07(土) 22:23:24.48
>>109
ググってごらん
112デフォルトの名無しさん:2013/09/07(土) 22:24:52.11
>>109
Javaの仕事っていうのは基本的に単純な流れ作業なの。
ライン作業にはそのための設備が必要でしょ?
その設備を作るのに使われてる技術がオブジェクト指向なんです。
ライン工が設備の仕組みを理解する必要はないよね? だから気にしなくていいよ。
113デフォルトの名無しさん:2013/09/07(土) 22:28:01.97
馬鹿には無理
114デフォルトの名無しさん:2013/09/08(日) 02:35:16.58
>>95
いい流れだね
すぐに例外を潰さないと気がすまない人を突き放してくれている
IBMの記事にもあったように、そのような訛のあるコードはJavaでは異様に見える
115デフォルトの名無しさん:2013/09/08(日) 02:56:17.07
>>109
オブジェクト指向なんて、手続きとかデータの名前の付け方に一工夫しただけの技術だよん
116デフォルトの名無しさん:2013/09/08(日) 02:58:44.81
インスタンスという単位でグローバル変数を持てるようにしただけだよ
機能的にはね
117デフォルトの名無しさん:2013/09/08(日) 13:36:13.09
>>109
ざっくり言うと、
今まではまとまりに分けるときに流れとか機能などがあったが、それを対象物(オブジェクト)ごとに分ける(class)ひとつの手法。オブジェクト指向言語はその手法、または一部を言語としてサポートしているので楽。
実際に一人で全て開発するにはオブジェクト指向分析、設計の習得が必要。
118デフォルトの名無しさん:2013/09/08(日) 13:59:15.42
Javaドカタ第一の壁:for文
Javaドカタ第二の壁:文字列
Javaドカタ第三の壁:オブジェクト指向
119デフォルトの名無しさん:2013/09/08(日) 14:00:33.62
第一の壁がオブジェクト指向だろ
120デフォルトの名無しさん:2013/09/08(日) 14:03:21.01
クラスパス「呼んだ?」
121デフォルトの名無しさん:2013/09/08(日) 14:05:56.53
オブジェクト指向は立場で意味が変わるバズワードだからな
122デフォルトの名無しさん:2013/09/08(日) 14:06:41.99
123デフォルトの名無しさん:2013/09/08(日) 14:10:47.00
>>120
Eclipse「呼んでない」
124デフォルトの名無しさん:2013/09/08(日) 14:18:11.48
Javaドカタ第一の壁:for文と、ブロックスコープ、ブロック文break,continue
Javaドカタ第二の壁:文字列と、配列char[]の容量可変ロジック(StringBuilder)と、スレッドセーフ(StringBuffer,Vector)
Javaドカタ第三の壁:構造化系言語(ローカル変数・クラスの状態・意味論的ステート(クロージャ))と、関数系言語(関数・メソッド・関数ポインタ(メソッドリファレンス))
125デフォルトの名無しさん:2013/09/08(日) 14:21:31.95
くだらね
126デフォルトの名無しさん:2013/09/08(日) 15:10:04.78
public class tashizan {
public static void main(String[] args) {
int a = 100;
Integer b = new Integer(a);
System.out.println(a + b);
}
}

数値とオブジェクトでちゃんと足し算が成立して200って表示されるのは
オートボクシングのおかげってことですか?
127デフォルトの名無しさん:2013/09/08(日) 15:16:35.05
>>126
逆だな
アンボクシング
128デフォルトの名無しさん:2013/09/08(日) 15:31:56.68
>>127
ヒント: boxingとunboxingを自動でやってくれることをauto boxingといいます
129デフォルトの名無しさん:2013/09/08(日) 16:22:31.01
>>128
違う
逆はオートアンボクシングだ
130デフォルトの名無しさん:2013/09/08(日) 16:32:06.02
公式にも and を使って明確に用語を分けてる
http://docs.oracle.com/javase/tutorial/java/data/autoboxing.html
プログラミング的にも単純な対称操作ではないから別物と考えたほうがいい
131デフォルトの名無しさん:2013/09/08(日) 19:49:09.09
valueOfと**Valueで対になってるのかな
132デフォルトの名無しさん:2013/09/08(日) 21:20:30.10
java9か10だったかで数値がオブジェクトとして扱えるようになるからそのうち変換操作は気にしなくて良くなるよ。
それより、jdk8のM8/Developer Preview遅れてるな。まだ、b105のままだ。
133デフォルトの名無しさん:2013/09/08(日) 21:25:19.47
私はモジュール化を早くしろと思わなくもない
OSGi陣営が邪魔しなければもうちょっとクライアントも普及したんじゃないの?
134デフォルトの名無しさん:2013/09/08(日) 21:54:03.39
俺は早くProject Sumatraマージしてほしい。
135デフォルトの名無しさん:2013/09/08(日) 22:03:03.84
えっ、なんで?
ジャバはもうオワコンなんでしょ?!
136デフォルトの名無しさん:2013/09/08(日) 22:04:51.78
現代のCOBOLだからね
保守で20年はいけるよ
137デフォルトの名無しさん:2013/09/08(日) 22:08:04.29
>>134
ジャバで数値計算(bigdecimal?)とか並列タスクとかやってるんですか?
138デフォルトの名無しさん:2013/09/08(日) 22:32:39.17
10年くらい前からオワコン的な言葉で言われてきたけど、勢いを感じずにいられない
139デフォルトの名無しさん:2013/09/08(日) 22:34:58.38
>>138
クライアントじゃ完全に終わってるから、一般の人からすれば不思議に見えるだろうな
140デフォルトの名無しさん:2013/09/08(日) 22:44:44.25
もしウインドウズがなくても実際はあまり困らないんで、ウインドウズ・プラットフォームももうそろそろオワコンって話ですが、
開発プラットフォームとしてのジャバとドトネトではどちらがよりオワコンなんですか?
141デフォルトの名無しさん:2013/09/08(日) 23:04:30.33
>>140
似たり寄ったり
142デフォルトの名無しさん:2013/09/09(月) 00:22:26.42
javaはなくても困らないけどWindowsがなくなったら
十数年来のフリーソフトやらが動かなくなってつらいな
143デフォルトの名無しさん:2013/09/09(月) 00:24:04.08
仮想OSかwineで動かせ
144デフォルトの名無しさん:2013/09/09(月) 00:50:17.71
システムのセキュリティーホールについて考えるだけでも、プラットフォームの利用形態の根底の問題にぶつかるね
145デフォルトの名無しさん:2013/09/09(月) 01:35:23.76
>>144
それ言ったらjavaみたいに仮想化する実行環境でも結局プラットフォーム・ネイティブなコード呼び出す部分あるから同じじゃね?
javaでもJMFみたいに素直にDirectDrawのバグ踏むような実装あるぞ。
146デフォルトの名無しさん:2013/09/09(月) 02:36:37.62
Applet全盛がJavaの全盛だとすると、.NETの全盛っていつよ
147デフォルトの名無しさん:2013/09/09(月) 02:58:19.66
ゲイツがjava批判してた頃だろ。2k年代?盛り上がってたじゃん.net。
けど、Applet全盛がJavaの全盛はないだろ。一番ウザがられてた時期じゃん。
148デフォルトの名無しさん:2013/09/09(月) 03:26:54.15
>>142
マルチプラットフォームに移植されてないマイナーなフリーソフトがどうなっても、たいして困らない。
149デフォルトの名無しさん:2013/09/09(月) 11:48:26.11
1秒間に何度もファイルを読み書きするようなプログラムをずっと回してたらHDDの寿命縮むかな?
150デフォルトの名無しさん:2013/09/09(月) 11:57:15.45
実質はStruts全盛がJavaの全盛期
151デフォルトの名無しさん:2013/09/09(月) 14:40:48.30
>>149
キャッシュがあるからね。キャッシュの範囲内での読み書きならHDDの寿命は縮まないが
あんまりカリカリ音がするようだったらヘッドのモーターがいかれるかもね。
152デフォルトの名無しさん:2013/09/09(月) 15:30:06.70
>>150
それやったことないから、Java全盛期には俺はいなかったのか。
153デフォルトの名無しさん:2013/09/09(月) 16:00:12.44
>>149
OSやドライバがよきにはからってくれるんじゃねーの?
いちおー FileDescriptor#sync() とか FileChannel#force(boolean) とか強制書き込み用メソッドもあるけど。
154デフォルトの名無しさん:2013/09/09(月) 16:39:59.53
俺もサーバサイドがメインだけどStrutsは触ったことない
ジェネレーションギャップを感じる
155デフォルトの名無しさん:2013/09/09(月) 22:15:58.18
数値のキャスト変換で、valueOfとparseの二種類あるようですが、どんな違いがありますか?
156デフォルトの名無しさん:2013/09/09(月) 22:19:30.77
parse*は基数変換でvalueOfはラッパーオブジェクトのファクトリじゃん。用途がまるっきし違うよ
157デフォルトの名無しさん:2013/09/09(月) 22:22:23.54
>>155
valueOf
> 指定された String の値を保持する Integer オブジェクトを返します。引数は、符号付き 10 進数整数として解釈されます。
> これは、parseInt(java.lang.String) メソッドに引数が指定された場合とまったく同じです。
http://docs.oracle.com/javase/jp/7/api/java/lang/Integer.html#valueOf(java.lang.String)

>>156
( ´,_ゝ`)プッ
158デフォルトの名無しさん:2013/09/09(月) 22:26:25.71
初心者を卒業したかったら>>156のいう真意をしっかりと噛み締めた方がいい
159デフォルトの名無しさん:2013/09/09(月) 22:26:55.86
valueOfは整数の小さい値はstaticにキャッシュしてたような…
160デフォルトの名無しさん:2013/09/09(月) 22:29:43.60
>>158-159
> これは、parseInt(java.lang.String) メソッドに引数が指定された場合とまったく同じです。
161デフォルトの名無しさん:2013/09/09(月) 22:30:42.65
jdk1.7のjavadocの日本語はどこでダウンロードできますか?
162デフォルトの名無しさん:2013/09/09(月) 22:31:43.14
>>160
戻り値をちゃんと確認しろ
163デフォルトの名無しさん:2013/09/09(月) 22:32:00.41
戻り値がまったく違うだろザコ
164デフォルトの名無しさん:2013/09/09(月) 22:46:24.09
馬鹿には無理
165デフォルトの名無しさん:2013/09/09(月) 22:54:03.62
随分誤解を招く表現だなーと思ったらやっぱり英語の原文ではちゃんと表現されてた。

> The argument is interpreted as representing a signed decimal integer, exactly as if the argument were given to the parseInt(java.lang.String) method.
(引数は、parseIntメソッドに渡すのとまったく同じように、符号付き十進整数として解釈されます)

↓それがどうしてこう翻訳されるんだか…

> 引数は、符号付き 10 進数整数として解釈されます。
> これは、parseInt(java.lang.String) メソッドに引数が指定された場合とまったく同じです。

英語本文ではinterpreted-as ifで綺麗に対応してるけど、
日本語訳では「これ」という非常に広範囲な指示代名詞に直されちゃってるから、
「これ」が何を指すのかが極めてわかりづらくなっている。

・これ(valueOf)
・これ(文字列を整数に解釈する方法)

どちらの意味でも通っちゃうからな。
これは訳がよくない。
166デフォルトの名無しさん:2013/09/09(月) 22:54:22.06
>>159
>キャッシュしてたような…
java7未満は仕様じゃないからまだ普及しないんじゃないだろうか
167デフォルトの名無しさん:2013/09/09(月) 22:58:41.28
>>165
ちゃんと日本語でも続いてこう書いてあるべ。java6以下は昔の翻訳のままだから訳デタラメだ。

>生成された結果は、文字列により指定された整数値を表す Integer オブジェクトになります。
>
>つまり、このメソッドが返す Integer オブジェクトの値は、次の値に等しくなります。
>
> new Integer(Integer.parseInt(s))
168デフォルトの名無しさん:2013/09/09(月) 23:07:17.69
>>157
今どんな気持ち?
169デフォルトの名無しさん:2013/09/09(月) 23:16:10.59
バカにはムリムリw
170デフォルトの名無しさん:2013/09/09(月) 23:41:15.69
NumberFormatがどんなに頑張っても
valueOf(int) の結果をエミュレートできないのは、
いったいどうなのよと思うんだ。
171デフォルトの名無しさん:2013/09/10(火) 05:07:05.12
javaドカタでも回答できる質問だけにしてください><
172デフォルトの名無しさん:2013/09/10(火) 06:06:32.14
ボール画像のコンストラクタを作りたいのですが、
なぜかpaintの部分にエラーが出ます。
コンストラクタの囲いを消すとエラー表示も無くなりますが。

import java.awt.Color;
import java.awt.Graphics;

public class ball {

ball(){
public void paint(Graphics g){
g.setColor(Color.green);
g.fillOval(40, 40, 50, 50);
}
}
}
173デフォルトの名無しさん:2013/09/10(火) 07:58:36.93
>>172
仕様です。諦めてください。
174デフォルトの名無しさん:2013/09/10(火) 08:35:54.30
オブジェクト指向的にはこう
import java.awt.Color;
import java.awt.Graphics;

public class ball {

ball(){
/*
public void paint(Graphics g){
g.setColor(Color.green);
g.fillOval(40, 40, 50, 50);
}
*/
}
}
175デフォルトの名無しさん:2013/09/10(火) 11:44:21.50
Threadを停止する場合絶対にstopは使ってはいけないのでしょうか?

自作スレッドの正しい停止の仕方はどの方法がベストなのでしょうか?
176デフォルトの名無しさん:2013/09/10(火) 11:47:36.33
>>175
停止フラグが一番無難じゃねーかと。
177デフォルトの名無しさん:2013/09/10(火) 12:04:05.69
基本はフラグ
それでダメそうなのはinterrupt
178デフォルトの名無しさん:2013/09/10(火) 13:08:28.40
>>177
interruptの場合ってすぐ例外がすろーされないのですが、相手はsleepとかのwait状態を期待しないとダメですかね…
179デフォルトの名無しさん:2013/09/10(火) 14:15:31.74
Thread#interrupted()読ませとけば、自主的に判定可能だよ
180デフォルトの名無しさん:2013/09/10(火) 14:24:21.18
>>178
フラグでダメ(sleep/wait)ならinterrupt
それで事足りる
181デフォルトの名無しさん:2013/09/10(火) 14:43:36.90
スレッド終了と同時にゴミ箱行きになるオブジェクトしかいじらせてないのなら、
stop()しようがなんだろうが無問題。
182デフォルトの名無しさん:2013/09/10(火) 16:28:13.13
色々情報ありがとうございます。

Threadはrunで実行中は親Threadがインスタンスを握っているのでしょおうか?

自分で参照を持っていないときは、runが終了したらいずれガベレージコレクトされるのでしょうか?
183デフォルトの名無しさん:2013/09/10(火) 16:42:13.45
誰も参照握ってないスレッドって実行中でもガベコレされなかったっけか?
184デフォルトの名無しさん:2013/09/10(火) 17:01:45.33
そんな話聞いたことない
185デフォルトの名無しさん:2013/09/10(火) 18:40:40.69
JButtonでボタン作ってるんだけどそれの大きさと配置場所はどう書けばいいんですか?
あと、サイトによって書き方が違ったりするからオススメサイトとかあるとありがたいです
string argsの部分もどっちに[]つけるかサイトによって違うし
186デフォルトの名無しさん:2013/09/10(火) 19:17:42.66
開始しちゃったThreadは問答無用でGC対象外(GC Root)だ。
187デフォルトの名無しさん:2013/09/10(火) 19:25:34.69
建前が"WriteOnceRunAnywhere"な世界なので、
Swingプログラマはボタンの具体的な寸法とか配置とか書かなーい。
書いたとこで、意図したように見えるかどうかは環境依存。

長くやってくつもりならLayoutManagerの使い方覚えよう。
188デフォルトの名無しさん:2013/09/10(火) 20:38:19.06
run() {
while(true)
処理
}

mainからThread起動 mainはそのまま終了
プロセスには処理を続けるrunが残り続けるのでrunはプロセスキルする
セットデーモンしてあればプロセスキルするまでもなく止まって消える
189デフォルトの名無しさん:2013/09/11(水) 01:23:06.53
ThreadオブジェのGCの話とVM終了の話は別だろ。
190デフォルトの名無しさん:2013/09/11(水) 01:57:10.89
191デフォルトの名無しさん:2013/09/11(水) 16:58:59.54
Java勉強5日目。配列ムズすぎワロリング
192デフォルトの名無しさん:2013/09/11(水) 17:18:29.03
プログラマはIT土方云々って自虐をよく聞くけど、やさしい方らしいJavaでもろくなことができない俺って
193デフォルトの名無しさん:2013/09/11(水) 17:22:55.93
Javaドカタ第一の壁:for文と、ブロックスコープ、ブロック文break,continue
Javaドカタ第二の壁:文字列と、StringBuilder, StringBuffer
Javaドカタ第三の壁:オブジェクト指向と関数型系言語
194デフォルトの名無しさん:2013/09/11(水) 19:53:26.66
public class SelectGreeting {
public static void main(String[] args) {
String[] message;
message = new String[3];
message[0] = "おはよう";
message[1] = "こんにちわ";
message[2] = "こんばんわ";
if (args.length != 1) {
System.out.println("使い方:java SelectGreeting 番号");
System.exit(0);
}
int num = Integer.parseInt( args[0] );
if (0 <= num && num < message.length) {
System.out.println(message[num]);
} else {
System.out.println("番号は0〜" + 2 + "の範囲で指定してください。");
}
}
195デフォルトの名無しさん:2013/09/11(水) 19:54:15.20
上記の構文の
>int num = Integer.parseInt( args[0] );
のargs[0]の働きがわかりません。どこに掛かってどういう働きをするのでしょうか
196デフォルトの名無しさん:2013/09/11(水) 20:05:04.43
String args はコマンド実行で渡された引数の配列だよ

e.g.)
java -classpath . any.your.package.SelectGreeting 0
java -jar SelectGreeting.jar 1
197デフォルトの名無しさん:2013/09/11(水) 20:05:51.95
おっと、String[] args ね。
198デフォルトの名無しさん:2013/09/11(水) 20:33:17.70
Java SE 7 Update 40キター
199デフォルトの名無しさん:2013/09/11(水) 20:47:08.60
updateあったのか
200デフォルトの名無しさん:2013/09/11(水) 20:47:58.38
201デフォルトの名無しさん:2013/09/11(水) 20:48:35.35
25から飛んで40とかどういうことだよw
202デフォルトの名無しさん:2013/09/11(水) 21:06:22.35
Java SE DownloadのページにあるServer JREって何ですか?これもインストールしたほうがいいんですか?
203デフォルトの名無しさん:2013/09/11(水) 21:20:00.43
204デフォルトの名無しさん:2013/09/11(水) 22:02:14.97
>>202
SDKインストすれば、JREも入ってくるから、SDKだけインストすればいいよ。
205デフォルトの名無しさん:2013/09/11(水) 22:02:28.65
Server JREにjavacとか入ってるのかな?
もうJSPはjavacとか使ってないんだっけ?
206デフォルトの名無しさん:2013/09/11(水) 22:12:52.10
>>203
わかりづらい仕組みだな
207デフォルトの名無しさん:2013/09/11(水) 22:24:02.92
奇数がセキュリティパッチ、偶数がプラットフォーム拡張でしょ
割とすっきりしてると思うけど
208デフォルトの名無しさん:2013/09/11(水) 22:28:23.36
おまえ頭いいな
209デフォルトの名無しさん:2013/09/11(水) 22:39:54.77
で、Server JREってなんだ?
210デフォルトの名無しさん:2013/09/11(水) 22:40:15.44
アップデートがよく分からないんだけど、jdk1.7.0_40でコンパイルしたものは
jre1.7.0_01でも動作するの?クラスバージヨンは同じでもエラーになったりするの?
211デフォルトの名無しさん:2013/09/11(水) 22:46:21.96
jreの1.7.0の部分がjdkの1.7.0の部分と同じかそれ以上なら問題なく動くと考えていいよ
212デフォルトの名無しさん:2013/09/12(木) 00:24:05.61
u40の正式版が出たのかeaからアップデートしとこう
213デフォルトの名無しさん:2013/09/12(木) 09:11:06.35
public class showargs {
public static void main(String[] args) {
int[][] arr = {
{ 3, 1, 4, 1, },
{ 5, 9, 2, },
{ 6, 5, },
{ 3, },
};
printArray(arr);
}
public static void printArray( int [][] arr ) {
System.out.println("{");
for (int i = 0; i < arr.length; i++) {
System.out.print(" {");
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + "," );
}
System.out.println( "}," );
}
System.out.println("}");
}
}
214デフォルトの名無しさん:2013/09/12(木) 09:12:43.35
上の
for (int i = 0; i < arr.length; i++) {
System.out.print(" {");
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + "," );
}
の繰り返しの部分の仕組みがよくわからないんだが、誰かわかりやすく教えてくれないか?
図々しい質問ですまんマジでわからないんだ。
結城の参考書の問題って解答の解説が乗ってないんだよな
215デフォルトの名無しさん:2013/09/12(木) 10:04:26.96
System.out.print がわからないのか
for ループがわからないのか
配列がわからないのか
216デフォルトの名無しさん:2013/09/12(木) 10:35:26.00
名探偵は '}' がひとつ足りない所にこの事件の真相が隠されていると気づいた
217デフォルトの名無しさん:2013/09/12(木) 10:59:29.23
>>214
j < arr[i].length

にあえて冗長なカッコ付けると、こうなる↓。

(j < ((arr[i]).length))


arr[i][j] + ","

なら

(((arr[i])[j]) + (","))

だ。
218デフォルトの名無しさん:2013/09/12(木) 11:58:34.12
javaでStringの情報をUnicode(リトルエンディアン)形式でファイルに保存するにはどうすればよいでしょうか?
219デフォルトの名無しさん:2013/09/12(木) 12:10:33.81
UTF-16LEを使えばいいんじゃないかな
220デフォルトの名無しさん:2013/09/12(木) 12:22:08.96
221デフォルトの名無しさん:2013/09/12(木) 12:52:17.66
っていうか、すみません。ただ単純に思っただけのことです。悪口じゃないので
気を悪くしないでください。

C++とかBasicは普通に直感的にわかりやすく作ってあるんですが、Javaって真逆を行ってないですか?
222デフォルトの名無しさん:2013/09/12(木) 12:56:44.04
わかりやすいか?

とつられてみる
223デフォルトの名無しさん:2013/09/12(木) 13:02:17.33
言語のコンセプトというか、そこそこ低レベルのプログラマでも一定の品質のソフトをというのがJava
クソ融通がきかないのはそういう流れ
224デフォルトの名無しさん:2013/09/12(木) 13:11:13.59
C++は直観的じゃなくて、制御をバッサリ切るから淡白なだけ。
帰属意識がある俺でも、Javaのがわかりやすいと思うよ。
225デフォルトの名無しさん:2013/09/12(木) 13:33:04.88
>>220
ありがとうございます。

そしてすみません、Unicode(リトルエンディアンではなく、UTF-8のBOMありでした
m(_ _)m

javaではBOMなし固定と聞いて、対応方法をさ考えています。
226デフォルトの名無しさん:2013/09/12(木) 13:34:44.93
BOM書いたあとに足せばいいだけだろ
何を考える必要があるんだ?
227221:2013/09/12(木) 13:45:05.75
>>222
私はわかりやすいです。。
>>223
糞融通がきかないというより、どうしてもなじめません。。
>>224
Javaの方がわかりやすいっていうのが、ちょっとうらやましくおもいます・・

ありがとうございました。他人の意見を知れてよかったです。
228デフォルトの名無しさん:2013/09/12(木) 16:50:11.28
>>214です。具体的にはforループがわかりません。例えば
{ 3, 1, 4, 1, },
{ 5, 9, 2, },
{ 6, 5, },
{ 3, },
って配列要素で捉えると、それぞれ
00 01 02 03
10 11 12 13
20 21 22 23
30 31 32 33
だと思うのですが、だとすると例えば最初のfor文
>for (int i = 0; i < arr.length; i++) {
System.out.print(" {");
は、printされるのが" {"なので" {"を繰り返し出力する構文になってしまうのではないか
という疑問と、
>for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + "," );
という部分で[i]は例えば00,01,02,03の「0」の部分だと思うのですが、それでは
01になった時点で既にi<jになってしまい繰り返しの条件を満たさなくなってしまうのでは
ないのでしょうか。
大変わかりにくい文章だと思いますが、指定してくだされば詳細に私の考えを伝えたいと思いますので
よろしくお願いします。
229デフォルトの名無しさん:2013/09/12(木) 17:29:50.97
>>228
>01になった時点で既にi<jになってしまい繰り返しの条件を満たさなくなってしまうのでは
ないのでしょうか。
問題ないだろう。
むしろなぜ、そんな条件があると思ったのか気になる。
230デフォルトの名無しさん:2013/09/12(木) 17:32:10.20
forループはブロックで囲まれてればブロック全体を繰り返す。
ブロックが無ければ続く文を繰り返す。
先頭に "{" を出力して云々かんぬんという処理を繰り返すのであって
"{" を出力する処理だけを繰り返すのではない。

i < j の条件式はどこから出てきたんだ?
繰り返し条件は i < arr.length と j < arr[i].length の二つだけのはずだが。
231デフォルトの名無しさん:2013/09/12(木) 17:37:52.06
>arr[i]
上からi番目の配列

>arr[i][j]
上からi番目の配列のj番目の要素

>arr.length
配列の長さ (今回は4)

>arr[i].length
上からi番目の配列の長さ (上から4,3,2,1)

>for (int i = 0; i < arr.length; i++) {
iが全体の配列の長さ(4) 未満の間繰り返す、iは1ずつ増える

>for (int j = 0; j < arr[i].length; j++) {
jが上からi番目の配列の長さ未満の間繰り返す、jは1ずつ増える
232デフォルトの名無しさん:2013/09/12(木) 18:15:06.47
IDEとデバッガ覚えてもらった方が早くないか?
233デフォルトの名無しさん:2013/09/12(木) 19:16:41.04
>arr[i].length
上からi番目の配列の長さ (上から4,3,2,1)
これって上から4、3、2、1って数えるんですか?例えば
>for (int i = 0; i < arr.length; i++) {
だとすると、iは最初0のはずですがこのiとarr[i].lengthのiは別物なのでしょうか?
私は
>for (int j = 0; j < arr[i=0].length; j++) {
だと思い、だとするとjが0より上になった時点でもう繰り返しの条件は満たさないと思い
疑問に思ったのですが、そもそも
j<iとj< arr[i].lengthは全く別物なのでしょうか
234デフォルトの名無しさん:2013/09/12(木) 19:19:45.09
うざい
235デフォルトの名無しさん:2013/09/12(木) 19:42:02.78
>>233
arr[0].length は 4、
arr[1].length は 3、
arr[2].length は 2、
arr[3].length は 1、

これでわからんなら諦めてくれ。
236デフォルトの名無しさん:2013/09/12(木) 19:48:16.15
ゆとり乙
237デフォルトの名無しさん:2013/09/12(木) 20:06:51.19
わかりました。大変ありがとうございます
238デフォルトの名無しさん:2013/09/12(木) 21:25:30.75
jsp生産性低すぎだろ....
239デフォルトの名無しさん:2013/09/12(木) 21:25:54.35
すいません再三の質問になるのですが、
>for (int i = 0; i < arr.length; i++) {
からの
>for (int j = 0; j < arr[i].length; j++) {
って
i=0は要素としての0でありすなわち[0][1][2][3]を示しており、
arr[i].lengthのiも最初のforループはarr[0].lengthだけど、
配列の長さはarr.length=4まであるので例えばjの部分が1,2,3と
加算されて言っても長さの限界の4までは、要素としての[0][1][2][3]
とは異なるため、繰り返しが起こるという考えであっておりますでしょうか
240デフォルトの名無しさん:2013/09/12(木) 23:38:31.15
>>238
JSPとかは単価の安いウエブデザイナに投げるためのものだろ。
241デフォルトの名無しさん:2013/09/12(木) 23:39:45.18
Java言語仕様に「多次元配列」とかないからー。C言語と違うからー。
近い概念はせいぜい「配列の配列」ぐらいー。

少なくとも四角い保証はどこにもない。
242デフォルトの名無しさん:2013/09/13(金) 01:46:45.17
土日でやってるJAVAを教えてくれる学校ってない?
243デフォルトの名無しさん:2013/09/13(金) 01:47:03.09
javaドカタの鬼門その2。配列
244デフォルトの名無しさん:2013/09/13(金) 01:51:34.17
そんなとこで躓く奴はドカタ未満
245デフォルトの名無しさん:2013/09/13(金) 01:52:18.53
スレッドの途中とかにswingGUIコンポーネントを追加するとかできないのかな
246デフォルトの名無しさん:2013/09/13(金) 02:44:02.06
できる
247デフォルトの名無しさん:2013/09/13(金) 05:39:23.83
>>242
いいかげん諦めろ
248デフォルトの名無しさん:2013/09/13(金) 05:50:53.94
>>245
当然のようにできる。
ただしEDT等のお約束事を守らないとどうなっても知らない。
validate invalidate revalidate辺りがうまく使えるようになると動的にコンポーネント追加したり、動的なレイアウト変更が可能
249デフォルトの名無しさん:2013/09/13(金) 07:27:27.87
javaの教師をやってみないかという誘いで数冊の教科書を見たことがあるが基礎しか学べない。
その先に独学しなければいけないことが1000倍ある。
250デフォルトの名無しさん:2013/09/13(金) 08:02:53.41
教科書読んだら全部終わると思ってるようなアホに教師頼むのか
j
251デフォルトの名無しさん:2013/09/13(金) 08:59:11.60
>>249
それで、50万とか100万の授業料とるんだからなw
252デフォルトの名無しさん:2013/09/13(金) 10:45:22.10
すまんね主語を省略したから勘違いしたらしい。
「〜ことがあるが(教えられる側は)基礎しか学べない」
世の中には読解力の無い人もいるからちゃんと主語は書くべきだったな。
253デフォルトの名無しさん:2013/09/13(金) 11:44:01.27
馬鹿には無理
254デフォルトの名無しさん:2013/09/13(金) 12:16:45.56
>>252
伝わらない責任を相手の読解力に押し付ける人には、講師なんてムリムリ
255デフォルトの名無しさん:2013/09/13(金) 12:21:29.94
教科書程度では基礎しか学べない
なんてことを今更改めて認識するようなアホってことで筋通ってるんじゃないか?
256デフォルトの名無しさん:2013/09/13(金) 14:01:31.45
他人のお稽古事に線引きするほどヒマな男の人って…
257デフォルトの名無しさん:2013/09/13(金) 15:22:47.77
ここは釣堀かよ。くだらね。
258デフォルトの名無しさん:2013/09/13(金) 16:05:23.95
馬鹿には無理
259デフォルトの名無しさん:2013/09/13(金) 16:27:06.98
>>248
すいません、解説サイトもしくは書籍など紹介していただけませんか?
ググってみたもののイマイチピンときません
260デフォルトの名無しさん:2013/09/14(土) 13:09:38.10
マルチプラットフォームって労多くして幸少ないような
261デフォルトの名無しさん:2013/09/14(土) 13:21:36.63
慣れた windows 環境でデバッグしたものが
そのまま linux 環境で動かせるだろ
262デフォルトの名無しさん:2013/09/14(土) 13:30:33.72
Windows環境ならJavaはもうオワコンだからC#をやった方がいいよってよく聞きますよね
263デフォルトの名無しさん:2013/09/14(土) 13:31:47.52
アセンブラ全盛時代にPERLは革命的だったろうし
マルチプラットフォーム対応の幸が少ないとは思わない
264デフォルトの名無しさん:2013/09/14(土) 17:33:35.02
>>263
個人で作るアプリケーションの話なんですが、文脈ってわかります?
265デフォルトの名無しさん:2013/09/14(土) 17:49:34.09
ジャバはオワコンだよ!?
266デフォルトの名無しさん:2013/09/14(土) 19:51:43.92
本当に終わらせて欲しいわー
Javaを終わらせる言語が出て欲しいわー
267template:2013/09/14(土) 21:37:11.36
XXXはオワコン
268デフォルトの名無しさん:2013/09/14(土) 22:11:58.33
windows環境でJavaはオワコンって、どういうところがそう思うのかな。
むしろwindowsが一番安定してる気がしてならんのだが。特に描画周り。
269デフォルトの名無しさん:2013/09/14(土) 22:16:58.53
windows使ってるのにc#やらないのはマヌケ
270デフォルトの名無しさん:2013/09/14(土) 22:17:27.85
C#そんなすごいん
271 ◆khwKd8pYFQ :2013/09/14(土) 22:22:54.02
>>266 期待して待ってな。全部終わらせてやるから。
272デフォルトの名無しさん:2013/09/14(土) 22:27:37.47
Java勉強しだして一ヶ月くらい経ってようやく基礎的なものがわかってきたんだけど、
この後どう勉強すればいいの?

例えばforとか配列の意味はわかったけど、使い方がわからない。
forで九九計算ができると言われても直ぐわからんかったし、
カードのシャッフルも配列使うって言われてもどうすればいいかわからん

サンプルはあるけどわかりにくい部分がある

俺はどうすればいいと思う?
273デフォルトの名無しさん:2013/09/14(土) 22:29:31.20
諦めて英語なり数学なりを勉強するのがいいと思うよ
274デフォルトの名無しさん:2013/09/14(土) 23:01:21.68
>>272
まず基礎を勉強しよう
275デフォルトの名無しさん:2013/09/14(土) 23:25:21.03
>>270
マイクロソフトでしか動かないんだからすごいに決まってるんじゃん
276デフォルトの名無しさん:2013/09/14(土) 23:36:00.34
>>272
就職したらいいと思うよ
自分でなにをするか決められないなら、仕事として課題を与えてもらえばいいじゃん
277デフォルトの名無しさん:2013/09/14(土) 23:49:26.01
>>272
どんなプログラムを書くか決めるには設計が必要。
どんな設計をするか決めるには分析が必要。
278デフォルトの名無しさん:2013/09/14(土) 23:50:42.94
>>274
俺も基礎は重要だと思う
どういったことすれば力つく?

>>276
今まさに仕事の一環でやらされてる途中
来年4月からAndroidのアプリの簡単なのでいいから作れるようにしとけとさ
無茶を言いなさる;;
279デフォルトの名無しさん:2013/09/15(日) 00:05:05.15
>>278
コード書いて覚えるしか
280デフォルトの名無しさん:2013/09/15(日) 00:05:13.48
Collections.shuffle使ってList<String>か自作のCardをList<Card>で
シャッフルするのがてっとりばやい。

基礎練習ならトランプゲームを頭から通して再現してみなら?
ぜんぜんインタラクティブじゃなくていいからポーカーとかさ、
シャッフル→(配布→交換カードを選ぶ→カード交換)×n、最も得点の高いユーザを表示
281デフォルトの名無しさん:2013/09/15(日) 00:05:55.94
>>278
じゃあAndroidアプリ作るための勉強すりゃいいじゃん
本屋に行けば初心者向けの本が山ほどあんだろ
282デフォルトの名無しさん:2013/09/15(日) 00:07:26.70
アルゴリズムの勉強が必要
283デフォルトの名無しさん:2013/09/15(日) 00:21:33.71
みんなありがとう
とりあえず書店言って自分にあった本探してくるよ
284デフォルトの名無しさん:2013/09/15(日) 02:30:54.91
仕事ならWebベースでいいじゃん
なんでAndroidネイティブ?
285デフォルトの名無しさん:2013/09/15(日) 07:07:12.85
来年4月までかかって
Androidのアプリの簡単なの
すら作れないって犬より頭悪いぞw
286デフォルトの名無しさん:2013/09/15(日) 11:12:01.22
>>285
通常業もあるし
これからガンガン忙しい時期になってくるんだよ
勉強時間なんて家にいられる時間くらいしかない;;
287デフォルトの名無しさん:2013/09/15(日) 12:29:07.75
>>286
なかなか良い会社だな。即戦力重視の会社なんて1週間以内に作れって言われる。
288デフォルトの名無しさん:2013/09/15(日) 12:32:47.27
C#はアンドロイドアプリ作れないからな・・・ 残念!!
289デフォルトの名無しさん:2013/09/15(日) 12:57:49.04
Xamarinあるだろ
290デフォルトの名無しさん:2013/09/15(日) 13:37:47.27
>>288
AndroidのアレはJavaじゃないよ
海賊版裏ビデオ自慢ww
291デフォルトの名無しさん:2013/09/15(日) 14:26:36.31
javaが出来てないのにいきなりandroidは無理じゃないか?
さっさとdalvik滅んでjava meに戻らんもんか・・・。
292デフォルトの名無しさん:2013/09/15(日) 14:31:29.76
androidってjava6相当でしょ
293デフォルトの名無しさん:2013/09/15(日) 14:32:58.87
>>290
JVMじゃないだけで言語はJavaだろ
Javaとは言えない具体的な理由は?
294デフォルトの名無しさん:2013/09/15(日) 14:33:57.79
Javaなんて言語自体は簡単なもんで周辺技術の学習が全てでしょ
その点カオスなサーバーサイドJavaと比べればAndroidのJavaモドキは
覚えるべきことがコンパクトにまとまってて学習が容易だと思う
295デフォルトの名無しさん:2013/09/15(日) 14:34:41.80
>>293
GoogleがJavaじゃないと言ってるからね
JavaとJava言語は別だよ(とGoogleが言っている)
296デフォルトの名無しさん:2013/09/15(日) 14:39:02.71
Oracle:それJavaだろライセンス料寄越せよ
Google:JavaじゃねえしwwwJava言語とJavaAPIを実装しただけwww
297デフォルトの名無しさん:2013/09/15(日) 14:49:10.59
298デフォルトの名無しさん:2013/09/15(日) 15:55:20.31
ビル○○
299デフォルトの名無しさん:2013/09/15(日) 15:58:12.92
>>293
dxツールを通した段階で理屈の上ではJavaと全く関係ないバイトコードに変換されてる
http://itpro.nikkeibp.co.jp/article/COLUMN/20091208/341738/fig4.jpg

でもJavaのAPI使えるじゃんって話だけど、それはGoogleが「Java SE APIと同じパッケージ名のAPIを再実装した」から
Apache HarmonyというオープンソースのJava実装があり、AndroidのAPI群はその実装を再利用して提供されている。
オープンソースだからOracleに金を払う必要もないというカラクリ。
OpenJDKは商用だと何か制限が入ったはずだからそれでApache Harmonyを選んだらしいことがどっかに書いてあった。
300デフォルトの名無しさん:2013/09/15(日) 16:29:41.88
ところで裁判はどうなったの?
301デフォルトの名無しさん:2013/09/15(日) 16:46:44.33
JavaのArrayListにおいて、C#のようにメソッドチェーンで抽出や写像をするにはどうすればよいのでしょうか?

例えばlstの中から要素が3の倍数であるものを削除し、残ったものを2倍したリストを返す処理を
ArrayList lst2 = lst.remove(x => (x % 3 == 0)).map(x => x * 2);
のような感じに書くというものです。
302デフォルトの名無しさん:2013/09/15(日) 16:56:54.98
>>301
その処理と同じ結果を返す手続きを書いてください
今のところはそれがJava流です
303デフォルトの名無しさん:2013/09/15(日) 17:00:08.40
>>301
C#ができるならJavaをやる必要はないので、こっちにはもう来ないでください
304デフォルトの名無しさん:2013/09/15(日) 17:00:18.49
Streamはラムダ式が導入されるからこそって感じのAPIだからな
楽しみである
305デフォルトの名無しさん:2013/09/15(日) 17:02:33.39
Javaって高階関数書けないんですか・・
306デフォルトの名無しさん:2013/09/15(日) 17:05:37.41
interfaceがあるのに何いってるんだ?
根本的なレベルであほなんだな
307デフォルトの名無しさん:2013/09/15(日) 17:08:12.87
interfaceが高階関数とか言ってるとお里が知れるぞ
Java8のラムダ式使え
308デフォルトの名無しさん:2013/09/15(日) 17:10:33.59
309デフォルトの名無しさん:2013/09/15(日) 17:13:07.43
だからラムダ式はシンタックスシュガーだろ、天然か
310デフォルトの名無しさん:2013/09/15(日) 17:17:53.35
今のラムダはもはや簡略じゃなくて独立した構文みたいな扱いですよ
311デフォルトの名無しさん:2013/09/15(日) 17:18:26.49
>>301
現行のJavaでは無理なので開発版のjdk8を入れれば使える
312デフォルトの名無しさん:2013/09/15(日) 17:19:46.97
>>301
Java8まで待ってラムダ使え。
313デフォルトの名無しさん:2013/09/15(日) 17:20:35.28
事実上のfinalとかいうfinal付いてないfinalもOKってだけだろw
314デフォルトの名無しさん:2013/09/15(日) 17:21:56.43
315デフォルトの名無しさん:2013/09/15(日) 17:24:11.30
>>301
ところで、listと書けばいいところを、わざわざiだけ省略するのはダサいのでやめてください
316デフォルトの名無しさん:2013/09/15(日) 17:26:31.98
>>306
interfaceが高階関数の代わりになるならmap,filter等各種関数が用意されていないのは何故なのでしょうか?
317デフォルトの名無しさん:2013/09/15(日) 17:31:44.32
ラムダ用interfaceはProducerだのConsumerだのやたらあるんだったか
C#みたいにふたつに纏めればいいのに何やってんだろうな
318デフォルトの名無しさん:2013/09/15(日) 17:32:31.42
無くても書けるだろ
以上
319デフォルトの名無しさん:2013/09/15(日) 17:38:25.48
320デフォルトの名無しさん:2013/09/15(日) 17:38:48.81
インターフェースの呪縛がある限り
どこまで行っても偽lambda
321デフォルトの名無しさん:2013/09/15(日) 17:45:25.80
C++みたいに仕様が肥大化するのが目に見えている
くだらねぇ仕様追加はやめて欲しいね。原始人用であるjava1.4が最も美しい。
322デフォルトの名無しさん:2013/09/15(日) 17:59:07.39
ラムダイラネ
323デフォルトの名無しさん:2013/09/15(日) 18:00:21.55
いまだに1.4の書き方をしている俺をjava原人と命名する。
324デフォルトの名無しさん:2013/09/15(日) 18:03:03.52
1.4からは構文糖ばっか増えてるからな
言語としては完成されてると言っても良い
325デフォルトの名無しさん:2013/09/15(日) 18:04:12.16
モダンなスタイルはScalaに任せて、Javaは原始人用のままでいいよな
326デフォルトの名無しさん:2013/09/15(日) 18:05:14.70
知るか、俺はまだまだ現代っ子で居続ける
327デフォルトの名無しさん:2013/09/15(日) 18:08:16.16
その原始人のせいでバックポートを作り続けなければならないのか
328デフォルトの名無しさん:2013/09/15(日) 18:41:37.88
interface Function<TResult, T> { TResult apply(T x); }
interface Function<TResult, T1, T2> { TResult apply(T1 x, T2 y); }

メソッドのオーバーロードは出来てもこういうことは出来ないんですね
329デフォルトの名無しさん:2013/09/15(日) 18:51:48.39
>>328
このスライドJavaでの高階関数にも言及されているから参考になるかもよ

http://www.slideshare.net/s_kozake/ss-15327269
330デフォルトの名無しさん:2013/09/15(日) 19:23:07.46
Javaドカタ第一の壁:for文とブロックスコープ、ブロック文break,continue
Javaドカタ第二の壁:文字列と配列、StringBuilder, StringBuffer
Javaドカタ第三の壁:コレクション・データ構造とプロシージャ・アルゴリズム手続き
Javaドカタ第四の壁:オブジェクト指向と関数型系言語、ファンクタ(内部クラス)とラムダ(無名クロージャ)
331301:2013/09/15(日) 19:32:44.46
interface Func1<TResult,T> {
TResult apply(T x);
}

class Util {
public static List map (Func1 f, List list) {
List result = new ArrayList();
for (int i = 0; i<list.size(); i++) {
result.add(f.apply(list.get(i)));
}
return result;
}

public static List filter (Func1 f, List list) {
List result = new ArrayList();
for (int i = 0; i<list.size(); i++) {
if ((Boolean) f.apply(list.get(i))) {
result.add(list.get(i));
}
}
return result;
}
}
332301:2013/09/15(日) 19:34:48.91
public class Test {
public static void main(String args[]){
Func1<Boolean, Integer> f0 = new Func1<Boolean, Integer>(){
public Boolean apply(Integer x) {
return x % 3 != 0;
}};

Func1<Integer, Integer> f1 = new Func1<Integer, Integer>(){
public Integer apply(Integer x) {
return x * 2;
}};
List list = Util.map(f1, Util.filter(f0,Arrays.asList(1,2,3,4,5,6,7,8,9,10)));

for (int x : (List<Integer>)list) {
System.out.println(x);
}
}
}

//=> 2 4 8 10 14 16 20
333301:2013/09/15(日) 19:37:38.20
listの中から要素が3の倍数であるものを削除し、残ったものを2倍したリストを返す、
ArrayList lst2 = lst.remove(x => (x % 3 == 0)).map(x => x * 2); 相当の処理を
Util.map(f1, Util.filter(f0,Arrays.asList(1,2,3,4,5,6,7,8,9,10)));
と書くことが出来ました。みなさんレスありがとうございました。

>>329
わかり易かったです!
334デフォルトの名無しさん:2013/09/15(日) 19:41:29.40
それ即時評価になるからC#と全然違うよ
335デフォルトの名無しさん:2013/09/15(日) 19:49:00.37
Arrays.asListなんてあるんだ
336デフォルトの名無しさん:2013/09/15(日) 19:50:14.85
337デフォルトの名無しさん:2013/09/15(日) 21:46:20.34
Androidどころか、iPhoneまでかけるQt最強だろ(´・ω・`)

あとは、得意のC++でWebフレームワークもやっちゃえ。俺はJavaが嫌いだ。
338デフォルトの名無しさん:2013/09/15(日) 21:48:04.90
339デフォルトの名無しさん:2013/09/15(日) 22:35:49.03
MS土方の壁:意味不明なAPI
MS土方の壁:有料
MS土方の壁:互換性なし

後よろしく
340デフォルトの名無しさん:2013/09/15(日) 22:44:10.04
MS土方の壁:布教活動
341デフォルトの名無しさん:2013/09/15(日) 22:49:05.83
342デフォルトの名無しさん:2013/09/16(月) 00:37:47.74
>>301
enum使うとうまくかけるようなことをどっかの本で見た覚えがある
写像じゃなくて転移か
343デフォルトの名無しさん:2013/09/17(火) 08:18:41.63
MS土方の壁:コメント書かないと誰もわからないような引数名
344デフォルトの名無しさん:2013/09/17(火) 10:31:19.64
おれは、Javaがすきだ
345デフォルトの名無しさん:2013/09/17(火) 11:11:29.77
しかしjvaではwebとかスマホのドカタ仕事しか来ない
346デフォルトの名無しさん:2013/09/17(火) 18:38:46.25
2つの内容が異なるxmlをマージするライブラリクラスはあるでしょうか?
サードパーティーのライブラリでも良いのですが…

あるxmlの内容を変更するときに、元のxmlはそのままにして、変更する箇所だけを取り出したxmlを別途用意し
それをマージしたxmlファイルを読み込んでくれと言われています。

●元ファイル
<data>
<line key="aa">
<data>aa</data>
</line>
<line key="bb">
<data>bb</data>
</line>
</data>

●上書き用ファイル
<data>
<line key="bb">
<data>変更しました</data>
</line>
</data>

●プログラムで使用するデータ
<data>
<line key="aa">
<data>aa</data>
</line>
<line key="bb">
<data>変更しました</data>
</line>
</data>
347デフォルトの名無しさん:2013/09/18(水) 00:24:53.39
Java8かなり変わったね…Java8勉強中…
348デフォルトの名無しさん:2013/09/18(水) 00:27:06.58
ラムダ式以外で大きな変化あったっけ?
標準APIでラムダ対応で追加されたAPIは一覧して欲しいな
JavaInTheBoxさんとかでw
349デフォルトの名無しさん:2013/09/18(水) 06:53:00.66
>>346
xmlファイルを比較するのはあるが、マージは自作だろう
350デフォルトの名無しさん:2013/09/18(水) 10:22:12.20
>>349
やっぱり自作ですよね…

ちなみに比較するを教えていただけないでしょうか?
351349:2013/09/18(水) 11:56:32.85
352デフォルトの名無しさん:2013/09/18(水) 13:40:28.95
>>347
いつごろのJavaをやっていたんですか?
353デフォルトの名無しさん:2013/09/18(水) 14:41:59.98
>>346
業務なのか学校の課題なのか知らんけど
もし業務だとしたらそのレベルで引き受けたことをお互いに後悔する羽目になるぞ
354デフォルトの名無しさん:2013/09/18(水) 15:53:42.26
>>353
もう既にはまってしまいました…

自作でも意外と簡単とおもいきや、めんどくさい

ちょっと下のノードのこの名前のを含むものを削除、ってのがxmlだとめんどくさすぎで…
355デフォルトの名無しさん:2013/09/18(水) 16:13:48.24
そろそろスレ違いだが、その案件でJavaプログラミング始めるのは、
XSLTやXQueryを検討してからでも遅くはない
356デフォルトの名無しさん:2013/09/18(水) 16:36:49.75
>>346
「マージ」と一言で言うけれども、その定義がすごく曖昧だからなぁ。

[削除]
●元ファイル
<data>
<line key="aa">
<data>aa</data>
</line>
<line key="bb">
<data>bb</data>
</line>
</data>

●上書き用ファイル
???

●プログラムで使用するデータ
<data>
<line key="aa">
<data>aa</data>
</line>
</data>

の場合は「上書き用ファイル」の内容はどうなるの?
他にも要素の内容は変更せずただ並べ替えをした場合とか。

keyでlineを特定して上書きするというのもXMLの規格から出てくる自明な
操作ではなく、この問題特定の仕様だよ。
357デフォルトの名無しさん:2013/09/18(水) 16:40:14.99
まあその程度のレベルでの質問なのだろう
358デフォルトの名無しさん:2013/09/18(水) 17:18:47.59
359デフォルトの名無しさん:2013/09/18(水) 19:33:25.42
自己解決しました
360デフォルトの名無しさん:2013/09/18(水) 19:54:27.50
JAXB使えば速攻で終わりそうな課題だな
DataがlinesというMapを持ってるだけだし
361349:2013/09/18(水) 20:01:22.44
???
362デフォルトの名無しさん:2013/09/18(水) 21:06:19.40
>>349
復習がてら作ってみた。後は好きにしろ。サポートはせん。
http://ideone.com/0CijO2
363デフォルトの名無しさん:2013/09/18(水) 22:04:59.76
>>362
ありがとう
でも俺は346でない
364デフォルトの名無しさん:2013/09/18(水) 22:34:32.13
html5やるなら、jettyとtomcatどっちがいい?
365デフォルトの名無しさん:2013/09/18(水) 22:37:26.23
どっちでも
366デフォルトの名無しさん:2013/09/18(水) 22:40:53.30
>>364
馬鹿なの?
367デフォルトの名無しさん:2013/09/18(水) 23:49:12.52
console.readLine()でコンソール画面に文字入力って
Eclipseでは不可能なのでしょうか?
368デフォルトの名無しさん:2013/09/19(木) 01:56:00.17
>>355
XSLTは違うだろ。DOMかXSL-FOで持ってXQueryで指定くらいがいいんじゃない。

>>346,354
どっちにしてもこの程度のこと思いつかんならxml知らなすぎるな。
369デフォルトの名無しさん:2013/09/19(木) 02:41:23.12
>>368
XMLなんか知るかよw
ドヤ顔気持ちわりぃ
370デフォルトの名無しさん:2013/09/19(木) 07:29:33.42
>>369
XML知らんのは問題ない
XML知らんのにXML案件を請け負うのは非常に問題
371デフォルトの名無しさん:2013/09/19(木) 11:54:01.45
>>369
ドヤ顔乙
372デフォルトの名無しさん:2013/09/19(木) 12:49:36.91
>>369
iniファイルがいいんだろう、わかります
373デフォルトの名無しさん:2013/09/19(木) 14:30:07.64
>>372
おいおい、propertiesだろ。
374デフォルトの名無しさん:2013/09/19(木) 15:42:00.24
あ?レジストリだわ。ボケ。
375デフォルトの名無しさん:2013/09/19(木) 16:08:36.93
自己解決しました
376デフォルトの名無しさん:2013/09/19(木) 21:33:42.73
>>369
知らんくせに受けるなよ馬鹿か
377デフォルトの名無しさん:2013/09/19(木) 21:34:43.28
恐れ入ります。
いま、とある翻訳された文章で

「バイトコードのスピードが劣る」

という表現が出てきたのですが、これってどういうことでしょう?
バイトコードに翻訳するスピードが劣る、とかならわかるのですが。
一体、どういう意味なのでしょうか?
378デフォルトの名無しさん:2013/09/19(木) 21:41:28.50
実行速度が劣るってことだろ
379デフォルトの名無しさん:2013/09/19(木) 21:51:06.18
ソースコードをネイティブコードにしないでバイトコードにして仮想マシンで動作させてるから遅いって話だろ
380デフォルトの名無しさん:2013/09/19(木) 22:26:05.22
>>377
文脈が分からんと解るわけない。原文か訳文の全文うp
381デフォルトの名無しさん:2013/09/19(木) 22:42:30.87
馬鹿からかっただけだからもういいです
382デフォルトの名無しさん:2013/09/19(木) 23:09:33.30
>>378-380
レスありがとうございます。
原文を貼らせていただきます。
翻訳といっても、友人の訳なので不安です。

JavaScript should not be confused with Java. JavaScript, which originated at Netscape,
is interpreted at a higher level, is easier to learn than Java, but lacks some of the
portability of Java and the speed of bytecode. Because Java applets will run on
almost any operating system without requiring recompilation and because
Java has no operating system-unique extensions or variations,
Java is generally regarded as the most strategic language in which
to develop applications for the Web. (However, JavaScript can be useful for
very small applications that run on the Web client or server.)
383デフォルトの名無しさん:2013/09/19(木) 23:15:01.20
jar.Manifest.class APIのバグを見つけた。こういうすぐ発見できるバグは早々に直してほしい。
Manifest man=new Manifest();
man.getMainAttributes().put(Attributes.Name.MANIFEST_VERSION,new Date().toString());
man.getMainAttributes().putValue("k0", "注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください");
man.getMainAttributes().putValue("k1", "a注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください");
man.getMainAttributes().putValue("k2", "aa注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください");
man.getMainAttributes().putValue("k3", "aaa注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください");
man.getMainAttributes().putValue("k4", "aaaa注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください");
man.getMainAttributes().putValue("k5", "aaaaa注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください");
man.write(System.err);

Manifest-Version: Thu Sep 19 23:10:08 JST 2013
k0: 注意:詳細は、-Xlint:deprecationオプションを指定し?
?再コンパイルしてください
k1: a注意:詳細は、-Xlint:deprecationオプションを指定し?
??再コンパイルしてください
k2: aa注意:詳細は、-Xlint:deprecationオプションを指定し
て再コンパイルしてください
k3: aaa注意:詳細は、-Xlint:deprecationオプションを指定?
?て再コンパイルしてください
k4: aaaa注意:詳細は、-Xlint:deprecationオプションを指定?
??て再コンパイルしてください
k5: aaaaa注意:詳細は、-Xlint:deprecationオプションを指定
して再コンパイルしてください
384デフォルトの名無しさん:2013/09/19(木) 23:19:42.97
$ java -version

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b106)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b48, mixed mode)

両方とも発生する。
385デフォルトの名無しさん:2013/09/19(木) 23:25:46.63
マニフェストファイルって折り返しで改行入るだろ
改行部分がエンコード文字を分割してコマンドプロンプトでバグってるだけじゃね?
386デフォルトの名無しさん:2013/09/19(木) 23:29:56.89
>>385
多分そんなところでしょう。
解決方法も出たので、次の7u40.nextとjava8では早々に直しておいてください。
387デフォルトの名無しさん:2013/09/19(木) 23:33:26.34
だからバグじゃねーだろ
388デフォルトの名無しさん:2013/09/19(木) 23:33:54.11
>>382
JavascriptとJavaの実行速度の比較か
ブラウザの実装の話だね
389デフォルトの名無しさん:2013/09/19(木) 23:36:57.69
>>387
jar仕様ではutf8サポートなので、改行途中挿入の処理でおかしくなるならライブラリのバグですよ。
390デフォルトの名無しさん:2013/09/19(木) 23:43:09.69
manifestか、Java EE 6で分からんところがあったなー
391デフォルトの名無しさん:2013/09/19(木) 23:48:10.48
>>382
>「バイトコードのスピードが劣る」
たしかに"javascriptはjavaより学習は簡単だがjavaの移植性とバイトコードの速度を欠いている"って書いてあんね。

>interpreted at a higher level
て言ってるからもしかしたらこれが著者がjsがより低レベルな「マシン語吐かない」インタプリタだと思ってることを指してるのかもしれない。
要するにjsの方がVMが遅いって言いたいんだろう。話全体はjavaはWORAだからjsよりwebアプリケーション作るのに最適って話だね。
392デフォルトの名無しさん:2013/09/19(木) 23:51:19.22
バイトコードと比べたらテキストのパースはコストが高いってことじゃなくて?
393デフォルトの名無しさん:2013/09/19(木) 23:52:33.57
最近のは、jsもJITでコンパイルするんじゃないの?
394デフォルトの名無しさん:2013/09/20(金) 00:01:56.64
言い忘れたけどこの文だけだと"interpreted at a higher level"が何を言っているのか不明瞭だから完訳は無理。

>>392
jsの欠点が"speed of bytecode"と言ってるからそれはないんじゃない?
"portability of Java"が後ろの方にある再コンパイルなしにあらゆるOSで動く〜に繋がってるし。

>>393
それを著者が知らないか、大昔のインタプリタだった時代に書かれた文章かもしれん。
395デフォルトの名無しさん:2013/09/20(金) 10:54:20.84
TCPがどこでUTF8ぶったぎろうが誰も困らないのと同様、
ManifestがどこでUTF8ぶったぎろうが誰も困らないだろ。

MakeとFORTRANの悪いとこ継ぎ合わせたような分割行仕様は不可解だが
396デフォルトの名無しさん:2013/09/20(金) 12:33:40.66
どこでぶったぎっても誰も困らないようにライブラリは作っておかないといけません。
397デフォルトの名無しさん:2013/09/20(金) 15:30:18.13
JavaのDOMで.netでいうところのouterXMLって無いでしょうか?
Node hoge = hage.firstChild();
System.out.println(hoge.outerXML());
みたいなことができたらうれしいのですが。
398デフォルトの名無しさん:2013/09/20(金) 15:36:33.90
OuterXml javaでググったら一番最初にヒットしたけど
http://chicknet.blogspot.jp/2007/05/outerxml-for-java.html
399デフォルトの名無しさん:2013/09/20(金) 15:41:40.49
>>398
神!
Sleipnirだとググっても全然出てこなかったのにorz
400382:2013/09/20(金) 21:02:14.91
解答いただいた皆様。
ありがとうございます。
やはり難しいですね。
401デフォルトの名無しさん:2013/09/21(土) 00:04:13.66
>>399
は?ブラウザ関係あるの?
402デフォルトの名無しさん:2013/09/21(土) 00:42:44.34
ブラウザごとに検索してみ
403デフォルトの名無しさん:2013/09/21(土) 00:44:33.00
意味がわからん
検索エンジンとブラウザになんの関係が
404デフォルトの名無しさん:2013/09/21(土) 00:45:25.61
ひとまず騙されたと思って試してみいや
405デフォルトの名無しさん:2013/09/21(土) 00:54:14.40
Yahoo!でググれ!
406デフォルトの名無しさん:2013/09/21(土) 06:59:25.89
msnでggr!
407デフォルトの名無しさん:2013/09/21(土) 07:24:37.29
a
408デフォルトの名無しさん:2013/09/21(土) 07:35:27.59
ブラウザによって検索結果が変わるのは常識。
特にsleipnirのような検索結果で利益を得ているような会社は
違って当然だろう。
409デフォルトの名無しさん:2013/09/21(土) 08:12:34.40
質問させてください。
今、eclipseでjavaserver facesとTOMCATのwebアプリケーションを作成しています。
TOMACATのSSL通信と、レルム方式のユーザ認証を使用しています。
DBはoracle express edition 11g(フリー)です。

サーバとクライアントのSSLの環境は、TOMCATサーバにはキーストファイルを配置していますが、
クライアントには特にキーストアファイルは置いていません。
そのためクライアントがアクセスしたときにブラウザに警告が出ます。

そこで質問なのですが、ログインとログアウトを7回繰り返した後、
8回目のログインでなぜかフリーズして、ログイン後のTopページに移動しません。
TOMCATのコンソールのログには、特にエクセプションなどのエラーメッセージはありませんでした。
7回は正常にログインして、TOPページに遷移して、ログアウトが行えるのですが、
8回目でログインしたとき必ず、フリーズしてTopページに遷移しません。
TOMCATのメモリの設定に問題があるのでしょうか。
これの対策はどうすればよろしいでしょうか。ご教示をお願いいたします。
410デフォルトの名無しさん:2013/09/21(土) 08:38:12.34
ブラウザとtomcat間の問題だろう
ブラウザは何?
411デフォルトの名無しさん:2013/09/21(土) 10:07:59.36
apacheのpreforkの初期値が8なのと関係するんじゃね?
412デフォルトの名無しさん:2013/09/21(土) 10:25:39.98
そうきたか
413デフォルトの名無しさん:2013/09/21(土) 11:32:26.85
>>383
マルチバイトのUTF8が扱えないって話かと思ったら途中で改行するって話かよ。
1section72byteまでだから>>385が正しい。
414デフォルトの名無しさん:2013/09/21(土) 12:44:00.66
リソースを読み込む際に
this.getClass().getClassLoader().getResource("xxx");
とする作法を知ったのですが
staticメソッド内でthisが使えない場合は
Objectのようなクラスから適当に
Object.class.getClassLoder().省略 としてしまっても良いのでしょうか?
415デフォルトの名無しさん:2013/09/21(土) 12:58:18.61
416デフォルトの名無しさん:2013/09/21(土) 13:01:46.31
アプリケーション側ならgetClassLoaderは不要。ライブラリ側だけ必要
417デフォルトの名無しさん:2013/09/21(土) 16:28:34.49
>>389
System.getProperty("line.separator") を使わないあなたが悪い。
418デフォルトの名無しさん:2013/09/21(土) 17:43:41.49
>>414
あまり良くない。複数のクラスローダーが走っている環境でトラブルになるよ。

例えばそのstaticメソッドがクラスCの中で定義されていて、そのクラスCが
読み込まれたのと同じクラスパスやjarの中にあるリソースを読みたいとする。

その場合は、そのクラスCをロードしたのと同じクラスローダーを使ってリソース
も読み込むのが確実。
この場合はC.class.getClassLoader()... とするのが良い。
419デフォルトの名無しさん:2013/09/21(土) 18:38:12.10
ラムダなんかいいから thisclass キーワードはよ
420デフォルトの名無しさん:2013/09/21(土) 18:49:33.46
アルファー了解
チャーリー了解
421デフォルトの名無しさん:2013/09/21(土) 18:51:57.25
>>419
同じファイルにはデフォルトアクセスクラスも定義できるし特定できんぞ
422デフォルトの名無しさん:2013/09/21(土) 18:57:52.41
JAVA3DでTextureLoader使ってテクスチャ張ったものに光を当てることってできますか?
平行光源とやらを使ってるんですが、張ったところだけ光沢なくてどうにかならないものかと。
423デフォルトの名無しさん:2013/09/21(土) 20:53:02.58
>410さんへ
409です。ブラウザはIE8です。TOMCATは7.0.39です。
424デフォルトの名無しさん:2013/09/21(土) 20:53:36.93
Manifest#cloneってCloneable実装の割にはsuper.clone() でObjectのnative void clone()をコールしてないね。
欠陥だらけだからそろそろ作り直したほうがいいかもしれない。
425デフォルトの名無しさん:2013/09/21(土) 20:59:35.04
>>423
クライアントとサーバのログとパケットのダンプを眺めたの?
まずクライアントがあやしいと思うけど
426デフォルトの名無しさん:2013/09/21(土) 21:02:14.26
Cだと配列のメモリ確保ってmallocとかで記述しないといけないけど
javaだと勝手にしてくれるのですか?
427デフォルトの名無しさん:2013/09/21(土) 21:08:25.92
配列コンストラクタか配列初期化子呼ばないと確保してくれないよ
428デフォルトの名無しさん:2013/09/21(土) 21:18:28.92
>>426
freeの必要がない、VMがやってくれる
429デフォルトの名無しさん:2013/09/21(土) 21:26:04.43
複数のframeworkがあるのはいいけど、情報が飛散してるなー
430デフォルトの名無しさん:2013/09/21(土) 21:31:02.15
yet another frameworkだから
ツールなんてそんのものだろう
431デフォルトの名無しさん:2013/09/21(土) 21:43:39.41
JavaEEは中々使い勝手がいいのだけどオミットすべき機能が互換のために残されまくってるからな
432デフォルトの名無しさん:2013/09/21(土) 22:21:18.83
ラムダねたはもういいから、js (rhino) のgenerator-yield-continuation パラダイムとクロージャ(js function object)がほしい
433デフォルトの名無しさん:2013/09/21(土) 23:15:46.25
もう意味がわからん。イライライリアリアリアイリイライリアリアr
以下の文章をどなたか、初心者に分かりやすいように訂正しては頂けませんでしょうか?

 「静的」というキーワードは、特定の変数のインスタンスがクラス用に一つだけ存在することを意味する。
これはしばしば定数定義に使用されるが、それはクラスをインスタンス化せずにクラスを呼び出すことで、
その値が取り出せるためである。よって “Math.PI” とあれば、変数 ‘PI’ を伴う ‘Math’ オブジェクトがあり、
変数 ‘PI’ が一つだけ存在し、クラスをインスタンスを作成せずに Math オブジェクトを呼び出すことで、
その PI 値を取り出せることが分かるはずである。

>クラス「を」インスタンス「を」作成せずに Math オブジェクト「を」呼び出す
とか、もう完全に意味不明です。
434デフォルトの名無しさん:2013/09/21(土) 23:19:43.74
>>433
それ間違った説明だよ。
どこからコピってきたのか知らんけど、本なら破り捨てて著者に送り付けたほうがいい。
435デフォルトの名無しさん:2013/09/21(土) 23:22:56.89
Javaのクラスはオブジェクトじゃないよ
>>433は思いっきり間違い
436デフォルトの名無しさん:2013/09/21(土) 23:26:40.43
437デフォルトの名無しさん:2013/09/21(土) 23:59:31.41
>>433
訳が変なだけで間違ってはなさそう。
つーか原文で嫁。

public class Math {
 public static final double PI = 3.142592;
public double e;
public Math(){ e = 2.71828; }
}

eの値を取り出すには、一度 Math m = new Math()などとし、
インスタンス化した後、m.eとして取り出す必要がある。
また、(newした)インスタンスの数だけ存在する事になる。

しかしPIは、インスタンス化(new)せずとも、
Math.PIとすれば取り出すことができる。
しかし、Mathクラス用に一つだけしか存在しない変数となる。

このように、クラス内のstaticキーワード付きの変数は、
クラスそのものに付随する変数を意味する。
また、定数の定義で使われる事が多い。
438デフォルトの名無しさん:2013/09/22(日) 00:00:42.64
>>433
これでも読みなよ。
しかし、staticというキーワードを静的と訳す翻訳者もアホだな。

「static」でクラス共有の変数・メソッドを使いこなせ!
http://www.atmarkit.co.jp/ait/articles/0910/07/news107.html
439デフォルトの名無しさん:2013/09/22(日) 00:02:20.44
すまん。添削せずに途中で送信してしまった。
PIの値以外は間違ってないとは思うが。
440デフォルトの名無しさん:2013/09/22(日) 00:02:22.20
441デフォルトの名無しさん:2013/09/22(日) 00:07:51.66
>>437
「特定の変数のインスタンスがクラス用に一つだけ存在する」とか、
「Math オブジェクトを呼び出すことで、」と書いてあるけど、
この説明は変じゃないか。
Mathはクラスだろ。
初心者には分かりづらい。
442デフォルトの名無しさん:2013/09/22(日) 00:11:21.41
>>441
変だとは言ってるだろ。
なんで俺に噛み付くんだよw
443デフォルトの名無しさん:2013/09/22(日) 00:16:20.08
>>442
これは訳だけじゃなく原文もおかしいんだよ。
444デフォルトの名無しさん:2013/09/22(日) 00:16:30.96
>>433
> クラスをインスタンス化せずにクラスを呼び出すことで、その値が取り出せるためである。

って書いてあるのに

> Math オブジェクトを呼び出すことで、その PI 値を取り出せることが分かるはずである。

とおかしなことが書いてある。オブジェクトが存在する時点でインスタンス化されたクラスを呼び出していることになるのではないか?
445デフォルトの名無しさん:2013/09/22(日) 01:07:23.21
「呼び出す」ってなんじゃいな。invokeの訳かな?
446デフォルトの名無しさん:2013/09/22(日) 01:26:33.33
もうこれは破り捨てて、訳したやつに送りつけだな。
447デフォルトの名無しさん:2013/09/22(日) 01:27:34.76
訳者なんて文系だし、プログラマの監修もつければいいだけ。
448デフォルトの名無しさん:2013/09/22(日) 06:51:49.26
ラムダ、クロージャてそんなにいいもの?
449デフォルトの名無しさん:2013/09/22(日) 08:57:25.21
「いいもの」の定義による
450デフォルトの名無しさん:2013/09/22(日) 09:55:56.88
>>449
単純にいいてんは?
451デフォルトの名無しさん:2013/09/22(日) 10:12:21.69
コードが小さくなる
452デフォルトの名無しさん:2013/09/22(日) 10:21:58.03
他の言語のそれと比べればゴミカス
今までのJavaと比べれば大分マシになる
453デフォルトの名無しさん:2013/09/22(日) 10:35:05.78
>>421
パッケージやクラス名変えても安全な自クラス参照式、
これでうまくいくかな?

static Class<?> MYCLASS = new Object(){}.getClass().getEnclosingClass();
454デフォルトの名無しさん:2013/09/22(日) 12:51:33.66
ジャバは「オワコン」ですからね〜
455デフォルトの名無しさん:2013/09/22(日) 13:04:24.45
Javaをオワコンにしたくて必死な人が数年前から湧いているが、
有効な成果は上がらずAndroidのJava採用でますますJava利用者は増えるばかり、ですからね〜
456デフォルトの名無しさん:2013/09/22(日) 13:11:43.07
ジャバとは「アンドロイド」なんですか?!
457デフォルトの名無しさん:2013/09/22(日) 13:16:22.06
アンドロイドは人型のロボット、ジャバはインドネシアを構成する島の一つです。全然違います
458デフォルトの名無しさん:2013/09/22(日) 13:17:48.39
>>455
サーバサイドJavaとAndroid Javaを同じスキルと思ってるのは採用担当だけ。
459デフォルトの名無しさん:2013/09/22(日) 13:26:25.06
>>453
ためしてないけどリフレクションじゃできない?
460デフォルトの名無しさん:2013/09/22(日) 14:55:21.85
Javaとはコーヒー豆の産地です
コーヒーはmochaに限る
461デフォルトの名無しさん:2013/09/22(日) 17:21:58.91
JavaにWin32APIのmouse_eventに相当するようなものありますか?画面上の任意の位置(アプリがフォアグラウンドになってなくても)にクリックイベントを発生させられるみたいなもの
462デフォルトの名無しさん:2013/09/22(日) 17:25:30.42
463デフォルトの名無しさん:2013/09/22(日) 17:47:24.75
>>461
java.awt.event.MouseEvent
java.awt.event.MouseListener
じゃないの?
464デフォルトの名無しさん:2013/09/22(日) 18:06:04.34
>>461
画面の定義は何?スクリーン上ならMouseInfo.getPointerInfo().getLocation()
465デフォルトの名無しさん:2013/09/22(日) 18:36:27.51
>>463-464
Javaで作ったアプリから
ブラウザとか他のアプリケーションに対してクリックイベントを発生させたいのです
466デフォルトの名無しさん:2013/09/22(日) 18:37:53.27
Win32APIはmouse_eventはマウスカーソルが存在する位置にクリックを発生させる(実際にマウスのボタンを押したのと同じ)ものです
467デフォルトの名無しさん:2013/09/22(日) 18:44:44.46
ふむふむ、それは明らかにネイティブな部分を扱うっていう自覚はもってますか?
それをやるとJavaで作る利点が怪しくなってくるが、やるならJavaからWIN32APIを使えばいいじゃん
468デフォルトの名無しさん:2013/09/22(日) 18:47:12.59
一応 java.awt.Robot というものはあるが・・・
469デフォルトの名無しさん:2013/09/22(日) 18:51:27.63
>>467
キモい死ね
470デフォルトの名無しさん:2013/09/22(日) 19:00:24.84
キレる若者
471デフォルトの名無しさん:2013/09/22(日) 19:41:43.85
そんなに切れるとは思えないが
472デフォルトの名無しさん:2013/09/22(日) 20:05:00.61
自己解決しました
473デフォルトの名無しさん:2013/09/22(日) 20:56:52.71
マウスダウンやマウスアップのウィンドウメッセージを送る機構はPureJAVAには無い
474デフォルトの名無しさん:2013/09/22(日) 21:05:58.24
475デフォルトの名無しさん:2013/09/22(日) 21:23:18.28
メッセージ送るのはSWTにネイティブメソッドなかったっけか?
476デフォルトの名無しさん:2013/09/22(日) 21:29:16.90
C++かC#でやれ
477デフォルトの名無しさん:2013/09/22(日) 21:42:30.43
478デフォルトの名無しさん:2013/09/22(日) 21:57:19.30
>>474
naive
479デフォルトの名無しさん:2013/09/22(日) 21:58:11.71
superクラスのsynchronizedメソッドに処理を追加したい&スレッドセーフにしたい場合は

@Override
public void method() {
// 前処理
...

super.method();

// 後処理
...
}

みたいな感じでよろしいですか?
synchronizedであれば良いのはsuperのメソッド群なので、子クラスでは明記しなくてよいという認識は間違ってますでしょうか
480デフォルトの名無しさん:2013/09/22(日) 22:05:33.20
>>437-439
kimoi
481デフォルトの名無しさん:2013/09/22(日) 23:37:39.11
Google Web Toolkitに注目しているんですが、これと同じようなメジャーなframeworkってありますか?
482デフォルトの名無しさん:2013/09/22(日) 23:56:33.68
>>461,466
Frameが非アクティブなときにイベント操作なら無理。そういうこと出来ないプラットフォームもあるから。

>>468
Robotもプラットフォームがそういうこと出来ることに依存してるからAWTException投げる
48310:2013/09/23(月) 02:35:46.02
初心者です。教えてください
String list[] = new String[5];
この記述の仕方は、
String[] list= new String[5];と全く同じと考えてよろいでしょうか?
484デフォルトの名無しさん:2013/09/23(月) 03:18:06.97
>>483
はい。
485483:2013/09/23(月) 03:59:54.75
>>484
ありがとうございます。
486デフォルトの名無しさん:2013/09/23(月) 06:38:19.55
>>481
Amazon EC2
487デフォルトの名無しさん:2013/09/23(月) 07:33:52.16
>>486
嘘を書くな嘘を。
488デフォルトの名無しさん:2013/09/23(月) 08:02:40.83
>>487
ばれたか
489デフォルトの名無しさん:2013/09/23(月) 21:07:40.43
8kbを超えるサイズのメソッドはJITコンパイルすると却って遅くなるからJITコンパイルしないってマジっすか
490デフォルトの名無しさん:2013/09/23(月) 21:26:44.93
そんなバカでかいクソをする奴の書くコードはJITコンパイルの有無にかかわらず遅いよ
491デフォルトの名無しさん:2013/09/23(月) 21:49:22.89
手書きではなく自動生成したコードなんで多くのメソッドが64kbの上限ぎりぎりです

elonaというHSP製ゲームの中間コードをhspletでJavaだけで動作するように変換できるツールを見つけたんですが
描画周り以外の計算処理も死ぬほど遅くてメモリも大量に消費するのはこのせいかと思って
492デフォルトの名無しさん:2013/09/23(月) 22:49:11.50
それはjavaがうんこだからです
493デフォルトの名無しさん:2013/09/23(月) 23:35:54.60
>>489
実際にするかどうかは実行時に決めるけどでかすぎるメソッドと小さすぎるメソッドはJITコンパイルしてないよ。
つーか、鯖環境以外じゃウォームアップしないだろうからJITコンパイルされてないから普段の実行速度が最適化されてない状態でのパフォーマンス。
494デフォルトの名無しさん:2013/09/23(月) 23:37:27.33
それはHSPが○んこだからです
495デフォルトの名無しさん:2013/09/23(月) 23:56:25.50
単にトランスレータ使う事自体が駄目なだけ
あとHSPは○んこ
496デフォルトの名無しさん:2013/09/24(火) 00:04:09.33
お前ら何ならうんこじゃないって言うんだよ
497デフォルトの名無しさん:2013/09/24(火) 00:13:05.51
C++はちんこ
C#はまんこ
498デフォルトの名無しさん:2013/09/24(火) 00:16:23.64
ベーゴマはペチャにまんこな俺へたれ
499デフォルトの名無しさん:2013/09/24(火) 00:39:12.81
>>481
「同じような」がajaxを指しているなら間違いなくgwtが最強
500デフォルトの名無しさん:2013/09/24(火) 00:54:55.01
PointやVectorクラスのような、計算幾何で頻繁に使われるクラスを自作する場合、
メンバ取得にメソッドを介すようなインターフェースや継承構造はできるだけ避けた方が良いんでしょうか?
vecmathやその他のライブラリもかなりfinalのガチガチで設計してるように思えます。
自分の環境で試したところ、メンバアクセスにメソッドを介すと所要時間がわずか増し(5%程度)でしたが
コンパイラの最適化の具合とかわかってないので、有用なテストであったかどうかも判断つかないところです
501デフォルトの名無しさん:2013/09/24(火) 00:58:48.04
そんなもん後でフィールド変更するとかありえないだろ
不便なだけだから全部publicフィールドでいい
あと、値クラスは厳密に言えばfinalにするのが正式
継承できてしまうとequalsの結果が矛盾するからね
502デフォルトの名無しさん:2013/09/24(火) 01:27:20.35
値クラスは単なるプリミティブな値と割り切って使うのが、設計を必要以上に複雑にしないコツだよ
複雑な振る舞いを持つクラスとは分けて考えろ
503デフォルトの名無しさん:2013/09/24(火) 02:46:30.47
>>500
メソッドコールのオーバーヘッドはあんまり気にしなくていいぞ。
それに比べてインスタンス化は結構時間がかかるので出来るだけ動的生成は減らす設計をしたらいい。
504デフォルトの名無しさん:2013/09/24(火) 13:03:29.43
1.0のjava.awt.Point#xがpublicフィールドなのはびみょいかもしれないけど。
1.2でスーパークラスPoint2D導入しました、みたいなことやってもいいのよ?
505デフォルトの名無しさん:2013/09/24(火) 15:21:56.64
for(){
処理1
for(){
処理2
}
}


と、forを入れ子にしてあります。実際のところはrssのパースをしてます
処理1でrss内検索条件に当てはまるモノを見つけ出し、
それを処理2で処理しています。

そして処理2が終わると、次の検索条件に合うものを探しに行くため処理2を抜ける予定です

が、処理2が終わると処理1も終わってしまいます。
forってこういう仕様だったりしますか?

違うのであれば、処理1・2を再検討いたします。
処理1の中で
506デフォルトの名無しさん:2013/09/24(火) 15:39:47.22
>>505
処理2を関数に切り出して、ループの中から呼び出すだけにしろ
507デフォルトの名無しさん:2013/09/24(火) 17:26:06.65
>>505
普通はそういう挙動にはならないよ
for2が終わった後もfor1の次の要素に行く

そうならないってことはイテレータ周りの使いまわしでおかしなことが起きてるとか
そのコードだけではわからない場所で何かが起きてる
508デフォルトの名無しさん:2013/09/24(火) 17:39:20.52
>>501-504
ありがとうございます!
>>504氏の通り、インターフェース(あれは抽象クラスだけど)になるような部分があると
他で作られたライブラリなんかと連携するのに便利だと思い、そういう構成も魅力的で悩んでました
インスタンスの生成は極力ない方がいいんですね、公式ライブラリのように、
getterのインテーフェースがあるだけでも便利なのでgetterを追加する方向にしたいと重います!
509書き込みテスト:2013/09/24(火) 20:45:47.56
インタフェースや抽象クラスは、使い方を想定せずに適切な粒度を決めることはできない。

不変性はマルチスレッド間で同期を不要にしたり、
防御的コピーなどをしないでそのまま晒せたりする都合の良い要素であるが、
インタフェース等を使った場合はせいぜいコメントで注意書きする程度にしか縛りができない。

使う側に柔軟にすれば作る側の柔軟性はその分失われるのが常。
インタフェース等を使った場合は、
作る側で新しいメソッドを追加するなどをすると基本的に互換性が失われる。
510デフォルトの名無しさん:2013/09/24(火) 20:58:07.42
二次元ベクトルなんて値レベルで変換すりゃいいだけだからな
インターフェイスなんて要らん
511デフォルトの名無しさん:2013/09/24(火) 21:03:10.79
馬鹿には無理
512デフォルトの名無しさん:2013/09/24(火) 21:16:44.08
ある日突然 CharSequence の子になった String のせいで
以前との互換性が失われたとか言う話、聞いたことないんですけど
513デフォルトの名無しさん:2013/09/24(火) 21:41:27.84
互換性が失われたかどうか知らんが。CharSequence.getLength()はlength()にするべきだったかもね。
514デフォルトの名無しさん:2013/09/24(火) 21:48:45.44
というかむしろgetLength()が無い方がよかった。わかるかな?
515デフォルトの名無しさん:2013/09/24(火) 22:13:43.07
Stringはインタフェースとかじゃないのに
互換性が失われないとか言われても

         ____
       /      \
     /  _ノ  ヽ、_  \ そんなこと言われても
    /  (●)  (●)   \    どうすりゃいいのさ
    |     (__人__)    |
    \     ` ⌒´     /
   /´           `\
  /  /          l  l   .
__l  l_.[] _____/_/__
  \, ´-'ヽ
    ヾ_ノ
     |
     |
     |__   コロ・・・・
    _____\    コロ・・・・
   ()__)」
516デフォルトの名無しさん:2013/09/24(火) 23:43:24.24
とりあえず言語仕様13章「バイナリ互換性」、嫁。
特に13.5「インタフェースの変更」
517デフォルトの名無しさん:2013/09/24(火) 23:50:45.18
汎用性を考えてCharSequenceで受けるようにしても気づいたらStringに修正してるわ
そもそも文字列バッファを他のAPIに渡した記憶があんまりないんだよな
518デフォルトの名無しさん:2013/09/25(水) 01:52:41.05
それよりもうサロゲートペアが嫌。UTF-32こそ正義
519デフォルトの名無しさん:2013/09/25(水) 06:25:17.53
>>500
アクセッサメソッドが一番素直
加えてfinalつけられるのならつけて当たり前(フィールドなら)
520デフォルトの名無しさん:2013/09/25(水) 07:36:14.90
Pointの実装をx,yから他のに変更するか?
どう考えてもありえないだろ
ならpublicフィールドの方がコードが簡潔になり、生産性や可読性、保守性が上がる
インターフェイス使いたいならアクセサを定義してもいいが、だからってフィールドを隠蔽する必要はない
521デフォルトの名無しさん:2013/09/25(水) 08:11:48.01
この場合フィールドをfinalにするのは避けるべき
こういうのをイミュータブルにしてしまうと計算中にオブジェクトの生成が多発し、それこそとんでもなく遅くなる
522デフォルトの名無しさん:2013/09/25(水) 08:57:37.95
>>521
たいして変わらんのじゃないか。小さいし。
523デフォルトの名無しさん:2013/09/25(水) 09:04:27.51
>>500
無駄だと思う
最適化はすべてプログラムができてから実行時間を計測して問題があったら行うもの
524デフォルトの名無しさん:2013/09/25(水) 09:15:57.04
>>523
取り扱う計算によるだろ
525デフォルトの名無しさん:2013/09/25(水) 09:43:43.93
>>524
???
526デフォルトの名無しさん:2013/09/25(水) 11:06:59.25
馬鹿には無理
527デフォルトの名無しさん:2013/09/25(水) 12:08:00.40
>>526
お前は黙っとけゴミ
528デフォルトの名無しさん:2013/09/25(水) 13:02:20.06
初歩的な質問ですみません

Java 7 Update 40をインストールしたのですが、いつも見ているJavaを使ったページにアクセスすると

「このアプリケーションを実行しますか。
次の場所にある署名されていないアプリケーションが実行権限をリクエストしています。
場所:http://○○○
このような署名されていないアプリケーションの実行は安全ではなくセキュリティ上のリスクが生じる可能性があるため、将来のリリースではブロックされます。」

という警告が毎回出るようになりました。いちいちチェックを入れて実行ボタンを押すのが非常に面倒です。

いつも見ているページではこの警告を表示しないようにする方法はありませんか???
529デフォルトの名無しさん:2013/09/25(水) 14:16:58.66
5%増しって計算量によっては影響大きいじゃん
530デフォルトの名無しさん:2013/09/25(水) 14:18:32.11
7u40から利用者側操作での警告抑止はできなくなったと聞いてるよ。
ttp://www.java.com/ja/download/help/appsecuritydialogs.xml
「将来ブロックする」てのもたぶん脅しではないんだろうな。

発信側も巻き込んで警告消す方法は

・信頼できる証明書買わせて署名させる。
・オレオレ証明書送りつけて署名させ、
 自端末のJavaコントロールパネルにもオレオレ証明書を潜り込ませる。

のいずれか。
531デフォルトの名無しさん:2013/09/25(水) 15:04:23.66
色々な詐欺やワームが流行っている以上、将来的にはDL元の信用度を知らせる事は面倒だけどしょうがない感じもする。
532デフォルトの名無しさん:2013/09/25(水) 15:26:11.28
>>528
何のブラウザ使っているが知らないが、セキュリティ例外とかないの。
ただその警告はそのアプリが、ウイルスに感染したりして改変されてるかもしれないよってことだから、同じページだから安全てわけじゃない。改変されていないことを証明するためにはサービス側の署名が必要。
533デフォルトの名無しさん:2013/09/25(水) 15:27:08.88
>>532
ああ、Javaのか。間違ってた。
534デフォルトの名無しさん:2013/09/25(水) 16:32:08.43
>>530
どうもありがとうございます。
535デフォルトの名無しさん:2013/09/25(水) 18:46:01.63
NetscapeプラグインAPI、廃止へ
http://news.mynavi.jp/news/2013/09/25/010/

もし完全に廃止されたらJavaアプレットもなくなるの?
536デフォルトの名無しさん:2013/09/25(水) 19:53:34.93
>>527
馬鹿には無理
537デフォルトの名無しさん:2013/09/25(水) 20:32:35.49
>>520
>ならpublicフィールドの方がコードが簡潔になり、生産性や可読性、保守性が上がる

そんなことはあまり無いと思う。
実際Pointクラスのフィールドx,yにpublicでアクセスできることで煩雑になったコードは山ほどあるのだが。
setLocationメソッドの存在を知らないんじゃ?と思うようなみ辛いものだったり、
フィールドをpublicにすることで煩雑になる例は多々あると思うよ。
538デフォルトの名無しさん:2013/09/25(水) 20:39:07.02
値型修飾子とかあったら面白そうだな
transient変数以外は不変でコンストラクタで初期化するしかないみたいな
539デフォルトの名無しさん:2013/09/25(水) 21:25:32.98
Javaのコントロール・パネルについて質問をさせてください。

つい先日コントロール・パネルでJavaを開いたところ
このような状態で文字が化けておりました。
http://i.imgur.com/K6mtJNe.jpg

OSはWindows8 64bitでJava 7 Update 40 (64-bit)をインストールしています。
再インストールしても再起動しても治りませんでした。
文字化けはJavaだけでその他のソフトは正常に文字を表示しています。
解決する方法をご存知でしたら教えてください。
よろしくお願いします。
540デフォルトの名無しさん:2013/09/25(水) 22:24:14.35
>>537
今時プロパティが使えない言語の方が珍しいというのに大した自信だな
JavaScriptですら使えるんだぞ
541デフォルトの名無しさん:2013/09/25(水) 22:25:37.41
542デフォルトの名無しさん:2013/09/25(水) 22:28:01.68
プロパティって何ぞ
Javaでプロパティっていうとjava.util.Propertiesを指すと思うのだが。
543デフォルトの名無しさん:2013/09/25(水) 22:30:40.51
>>542
JavaScriptですら使えるって言ってんだからそれじゃないことはわかるだろアスペ
544デフォルトの名無しさん:2013/09/25(水) 22:32:35.65
さすがにJava以外でプロパティというとどういうものを指すのかはJava使いでも常識的に知っているべきだろ
オブジェクト指向の理念がどうのと反論するのかと思ったら斜め下だったな
545デフォルトの名無しさん:2013/09/25(水) 22:34:39.07
jspのデバッグするときに、毎回手動でブラウザを開くのが面倒です(eclipse)
デバッグを開始した時に、自動でブラウザを起動できませんか?
546デフォルトの名無しさん:2013/09/25(水) 22:44:38.84
たしか昔Java7にgetter/setterを統合したフィールド様のメンバ(一般的にはプロパティと呼ぶ)を導入しようという話が出たとき
Javaの偉い人達もそれを普通に思いっきりプロパティと呼んで議論してたよ
547デフォルトの名無しさん:2013/09/25(水) 22:52:23.68
ブールを返す関数fとある配列arrayがあって
arrayの中から関数fが最初に真を返す要素が欲しいのですが
var = findIf(f,array)というような関数はどうすれば定義出来ますか?
548デフォルトの名無しさん:2013/09/25(水) 23:00:39.34
Java8なら標準で用意されていて
array.filter(x -> f(x)).findFirst()
今のJavaならインターフェイスと無名型を使うことになるが
findIf(array, new Predicate {
 @Override public boolean apply(String x) { return f(x); }
})
こんな冗談みたいなことになるので実用的ではない
549デフォルトの名無しさん:2013/09/25(水) 23:43:53.08
おまえらって古いJDKやJREをローカルに保存してたりするの?
550デフォルトの名無しさん:2013/09/25(水) 23:56:54.12
別のパソコンにはいってる
551デフォルトの名無しさん:2013/09/26(木) 00:05:10.99
公式からは古いのダウンロードもうできないんだっけ?
552デフォルトの名無しさん:2013/09/26(木) 01:30:56.69
数ヶ月前までは古いのもダウンロードできたけどな。
個人情報入力するのが面倒だけどね。
553デフォルトの名無しさん:2013/09/26(木) 10:34:50.61
554デフォルトの名無しさん:2013/09/26(木) 10:45:01.40
>>1
555デフォルトの名無しさん:2013/09/26(木) 13:01:35.48
556デフォルトの名無しさん:2013/09/26(木) 16:33:51.48
>>555
557デフォルトの名無しさん:2013/09/26(木) 16:38:27.06
馬鹿には無理
558デフォルトの名無しさん:2013/09/26(木) 17:06:05.60
不動点プログラムみたいだなw
559角谷:2013/09/26(木) 17:21:56.71
呼んだか?
560デフォルトの名無しさん:2013/09/26(木) 17:27:37.02
561デフォルトの名無しさん:2013/09/26(木) 17:31:41.54
562デフォルトの名無しさん:2013/09/27(金) 00:13:25.10
>>558>>330みてラムダよりコンビネータの方が楽でいいのになぁと思ったけどjavaって関数ファーストクラスじゃなかったな・・・
563デフォルトの名無しさん:2013/09/27(金) 11:02:34.87
Java言語のオブジェクト仕様の制約から、単一関数(functional)であっても関数は(内部)クラスのメンバとして拘束されて、その意味で関数も、メソッドの地位でファーストクラス(特に匿名クラス)です一応。
564デフォルトの名無しさん:2013/09/27(金) 11:41:58.61
関数にファーストクラスがあるんだ。
一度は乗ってみたい。
565デフォルトの名無しさん:2013/09/27(金) 21:37:12.70
>>521-522
試してみたけど
フィールドにdoubleのx,yを持つクラスをPointとすると

@Point copyPoint_new();
↑メソッド内でnewして、thisのx,yを代入してreturnする

Avoid copyPoint_to(Point p);
↑メソッド内で引数インスタンスにthisのx,yを代入する

これを一億回ループさせるの繰り返して平均とったら
@:A = 3600:2800 (ミリ秒)くらいだった
俺のPCポンコツだから、比で見て頂戴。
でももっと桁が違うくらいの想像してたんだけど、これくらいだとGCの時間の差だけなんだろうか
566565:2013/09/27(金) 21:51:15.58
あと、それ以上の差が出た結果として、
インターフェースを実装させたクラスで
インターフェースの変数にキャストしてsetメソッド使うのと、
自クラスの型のままでsetメソッド使うのでは、自クラスのままの方が3倍ほど早かった
(400:130(ミリ秒)くらい)
ちなみにフィールドをpublicにして直接アクセスした場合も後者と同じくらいだった
567デフォルトの名無しさん:2013/09/27(金) 22:05:27.14
Donald Knuth made the following two statements on optimization:

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil"[2]

"In established engineering disciplines a 12 % improvement, easily obtained, is never considered marginal and I believe the same viewpoint should prevail in software engineering"[2]
568デフォルトの名無しさん:2013/09/27(金) 22:15:38.36
Javaはもうイヤ…
569デフォルトの名無しさん:2013/09/27(金) 22:17:24.63
570デフォルトの名無しさん:2013/09/27(金) 22:23:37.06
571デフォルトの名無しさん:2013/09/27(金) 22:31:19.17
俺が学生の頃に試した記憶では仮想関数の呼び出しよりもsqrtの方が速くてビビった気がする
572デフォルトの名無しさん:2013/09/27(金) 22:39:51.19
serial experiments lain

作品概要
『存在は認識=意識の接続によって定義され、人はみな繋がれている。記憶とはただの記録にすぎない。』
という世界観のもとで繰り広げられる、14歳の少女・玲音(lain) をめぐる物語。
リアルワールドとコンピュータネットワーク・ワイヤード(Wired = 繋がれたもの)に遍在する「lain」という存在について。

概要
高度に発展したネットワーク社会 - 現実と区別のつかない仮想空間 といったよくある物語と逆に、本作は「仮想世界(ワイヤード)と区別のつかない曖昧な現実(リアルワールド)」に注目する。
各登場人物が語る「真実」も、それが事実の保証はない。
主人公玲音の世界は、身近な人間や友人に関する内容で占められており、作品そのものが玲音自身の主観の影響下にある構造である。
こうした客観の不在性は、ネットワーク、コミュニケーションといったものの性質をリアルに描出しており、視聴者もまたlainという作品、岩倉玲音と繋がった『ネットワーク』にコネクトしていくことを強いられる。

あらすじ
コミュニケーション用コンピュータネットワーク端末「NAVI」(ナビ)が普及した現代、中学生の岩倉玲音は、死んだはずの四方田千砂からのメールを受け取る。
その日以来、玲音は見えないはずのものを見るようになる。四方田千砂のメールの言葉に興味を持ち、大型の「NAVI」を手に入れるが、それ以来更に奇怪な事件に巻き込まれていく。
物理世界(リアルワールド)と電脳世界(ワイヤード)、二つの世界・二人の玲音(lain)が混濁し錯綜する果てにあるものは?−人は誰しも“繋がれて”いる−・−私は遍在する−
573デフォルトの名無しさん:2013/09/27(金) 23:46:12.20
574デフォルトの名無しさん:2013/09/27(金) 23:53:19.27
575デフォルトの名無しさん:2013/09/27(金) 23:59:41.88
576デフォルトの名無しさん:2013/09/28(土) 01:26:38.60
殺伐としてきましたな。
得た知識を自演してまでお披露目したいのかい?
577デフォルトの名無しさん:2013/09/28(土) 01:48:38.70
>>563
そういうのファーストクラスとは言わないから。名前空間に紐付けられてるだけ。
クロージャも高階関数も出来ないじゃん。
578デフォルトの名無しさん:2013/09/28(土) 01:55:49.73
579デフォルトの名無しさん:2013/09/28(土) 02:01:45.28
>>561,574
有効性
アメリカ国立精神衛生研究所(NIMH)が出資し、統合失調症に対して、複数の種類の抗精神病薬が1493人にランダムに割り付けられた研究において、
古い定型の抗精神病薬と、新世代の非定型の抗精神病薬の有効性は同等で、非定型の抗精神病薬は体重増加のような代謝異常に関連していることが見出された[80]。
インセルによれば、4つのこのような大規模比較試験から、抗精神病薬の新しい世代のものは、古い第一世代のものを上回ることを見いだせていない[28]。
非定型の抗精神病薬は、大脳辺縁系に集中して作用するために錐体外路症状が少ないとされていたが、そのような特性は観察されていない[81]。
代謝異常の副作用は第二世代の非定型抗精神病薬のほうが多い[82]。

抗精神病薬も増量するほど効果が高まるわけではない。
観察から、抗精神病薬の反応がみられる受容体占有率は65%であり、副作用の可能性が高まるのは高プロラクチン血症では72%、錐体外路症状は78%以上である[83]。
統合失調症に対して、リスペリドン(リスパダール)の最適量はそれ以上では副作用の発現率のみが上昇するため1日4mgである[84]。
同様にクエチアピン(セロクエル)では1日300mg[85]、オランザピン(ジプレキサ)では1日10mg[86]である。
580デフォルトの名無しさん:2013/09/28(土) 17:24:08.14
クラスライブラリで、親がimplementsしてるクラスを、
継承先の子クラスで明示的にimplementsしてるのは冗長だろ(javadocのためと思ってた)
とか思ってたんだけど、あれやっておくと小クラスをそのインターフェースに入れるときに
キャストする速度とか、IF経由でメソッド呼び出しするのとかが速くなるんだな、知らなかったわ
581デフォルトの名無しさん:2013/09/28(土) 18:07:15.03
そーゆートリビア的な速度向上は二次的なもんで単に冗長さが重視される事も多いが。
582デフォルトの名無しさん:2013/09/28(土) 19:41:26.39
そんなところがボトルネックになるような設計がまずおかしい
583デフォルトの名無しさん:2013/09/28(土) 20:17:13.82
>>579
お薬だしときますね
584デフォルトの名無しさん:2013/09/28(土) 20:39:51.66
>>577
それじゃあ、ジャバではもともこもありませんね。
もうすこしおもしろいおはなしを拝聴できるかなあとおもってたんですが残念ですです。
585デフォルトの名無しさん:2013/09/29(日) 12:34:14.91
馬鹿には無理
586デフォルトの名無しさん:2013/09/29(日) 21:13:09.21
すみません。初心者で本当に初歩的な質問です。

@Override
Public void hoge()〜

みたいなのを見るのですが

@ってなんですか?
587デフォルトの名無しさん:2013/09/29(日) 21:19:19.53
アノテーション。
588デフォルトの名無しさん:2013/09/29(日) 21:20:09.28
>>586
アノテーションです。オーバーライドしますよーという目印です。
もしオーバーライドされてなかったらコンパイラーが教えてくれます。
いかしたやつです。
589586:2013/09/29(日) 21:56:07.42
なるほど。ありがとうございます。
590デフォルトの名無しさん:2013/09/30(月) 12:59:30.97
アップルエンジニア「Javaプログラマはレゴを使って何かを作れる人。Cプログラマはレゴを作れる人。」
http://engawa.2ch.net/test/read.cgi/poverty/1380499319/
591デフォルトの名無しさん:2013/09/30(月) 13:04:46.32
>>590
今日はビパー
592デフォルトの名無しさん:2013/09/30(月) 14:27:24.18
>>590
じゃあJavaもCも両方使える俺はかm、うわ何をする…
593デフォルトの名無しさん:2013/09/30(月) 14:30:15.56
ガラスの剣でなぐられるわけか
594デフォルトの名無しさん:2013/09/30(月) 14:37:02.15
それはマルチランゲージプログラマじゃなくシングルランゲージプログラマの話では
595デフォルトの名無しさん:2013/09/30(月) 17:19:45.79
http://translate.google.co.jp/translate?sl=en&tl=ja&prev=_t&hl=ja&ie=UTF-8&u=http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-0-preface1.html&act=url


>Java仮想マシンは、ほぼすべての型チェックはコンパイラによって一般的に、時間を実行する前に行われることを期待して、
>Java仮想マシン自体によって行われる必要はありません。

JVMが型チェックしないなら危ないclassファイル仕込まれたらアウトってこと?
596デフォルトの名無しさん:2013/09/30(月) 17:59:30.13
アウトだね。
intelだってARMだってCPUは型チェックしない
597デフォルトの名無しさん:2013/09/30(月) 18:06:04.47
数値型の話が気になって調べてたけど、フィールドを全部finalにしたのと非finalのを比べると、
finalの方はnewする速度が上がって、非finalのsetメソッド呼び出すのと同じくらい速くなるのかよ
598デフォルトの名無しさん:2013/09/30(月) 18:51:04.35
ならんよ
エスケープ解析を当てにしてコードを書くと痛い目にあう
599デフォルトの名無しさん:2013/09/30(月) 20:06:44.90
>>595
JVM仕様書初版の序文にそんなこと書いてあるわけないだろ。
どこのi-modeだよ
600デフォルトの名無しさん:2013/09/30(月) 20:35:16.84
>>590
大分前からCはプラットフォームを作るための言語であって
アプリケーションを作るための言語では無くなってたから今更
601デフォルトの名無しさん:2013/09/30(月) 21:38:30.59
Javaの尻拭いはたまらんぜ。

MFCやOpenCLのようにGUIをサポートするライブラリも沢山あるしな。Javaコード捨てて
C++で書き直した方がラクなくらいだ。
602デフォルトの名無しさん:2013/09/30(月) 21:45:54.78
そうして尻拭いしてやっても出来るソフトは遅い、ショボイ、操作が分かりにくいの三拍子だもんな
603デフォルトの名無しさん:2013/09/30(月) 22:00:25.17
GUIはswingのインパクトもあって全滅
webものなら通信速度のおかげで遅いのばれないから大丈夫
604デフォルトの名無しさん:2013/09/30(月) 22:04:55.29
Javaアプレットなら否定はしないよ。ブラウザ上でActiveXが動かれたら恐ろしいわ
605デフォルトの名無しさん:2013/09/30(月) 22:41:49.31
JavaのGUIはしょぼいよ。遅さが一層ショボく感じさせる
606デフォルトの名無しさん:2013/09/30(月) 22:42:19.58
現在midiキーボードの鍵盤を叩くとそれに対応した音が鳴るプログラムを作ったのですが
打鍵から発音までのタイムラグが気になっています
原因は恐らくデフォルトで使われているWindowsオーディオドライバのせいで、
ASIOドライバというものを使用することにより発音までのタイムラグが少なくなるのですが
Javaでのオーディオドライバの指定?の方法がわかりません、どなたか教えてもらえないでしょうか

ASIOドライバ対応のオーディオデバイスはUA-25というものを使用しています
よろしくおねがいします
607デフォルトの名無しさん:2013/09/30(月) 22:45:48.43
>>605
どのtkのことを言っているのだか。そういうの理解てきてないのか。
608デフォルトの名無しさん:2013/09/30(月) 22:54:27.98
PCが速くなったのをJavaが速くなったと勘違いしてない?
609デフォルトの名無しさん:2013/09/30(月) 22:57:35.27
コーディングがうまくなったと思ってました
610デフォルトの名無しさん:2013/09/30(月) 23:01:53.37
>>607
現に使われてないのだから何言っても無駄だろう
JavaはWeb専用
611デフォルトの名無しさん:2013/09/30(月) 23:02:59.22
>>605
ビルゲイツがいんですね、わかります
612デフォルトの名無しさん:2013/09/30(月) 23:03:46.31
>>611
モチーフの方がマシだったぜ
613デフォルトの名無しさん:2013/09/30(月) 23:07:47.78
614デフォルトの名無しさん:2013/09/30(月) 23:09:19.34
コントロールが環境依存になるからSwing開発したって話だが、たとえばVBのコントロールは
環境依存じゃなくてウィンドウを独自にカスタマイズしたもんだぞ。X-Windowだってウィンドウは
どうにでも使える。何でそうなるんだ?
615デフォルトの名無しさん:2013/09/30(月) 23:18:21.58
>>612
なつかし
616デフォルトの名無しさん:2013/09/30(月) 23:21:50.58
来年javaFX3.0が来るじゃないか
617デフォルトの名無しさん:2013/09/30(月) 23:24:19.59
古来、FXと名のつくものはよろしくない
618デフォルトの名無しさん:2013/09/30(月) 23:29:30.53
>>616
で、俺が尻拭いをすると?
619デフォルトの名無しさん:2013/09/30(月) 23:31:55.30
wikipediaで何度もamd fxを調べてると、yahooのパーソナイズド広告が金融商品やFXもの、土地投信になる。
620デフォルトの名無しさん:2013/09/30(月) 23:37:54.75
>>612
MToolkitの古い方だと、Java上で日本語入力(awt component?)ができなかったよね?
linuxでのawt,swingの挙動はかなりいい加減だったから後回しなんだろうね。
621デフォルトの名無しさん:2013/09/30(月) 23:39:34.18
>>610
androidは。
あとOlacleの管理ツールのJavaGUIはもうなくなったのかな。
制御系とかJava webでって来るけど、要求がまんまGUIだったりするのでswingで作ったりした。
あなたが見てるのは世界の一部でしかないのでは。
622デフォルトの名無しさん:2013/09/30(月) 23:40:59.63
>>617
F-35:
外国為替
Fuji-Xerox
東海テレビ

あやしいな
623デフォルトの名無しさん:2013/09/30(月) 23:51:12.13
624デフォルトの名無しさん:2013/09/30(月) 23:56:52.63
>>1
625デフォルトの名無しさん:2013/10/01(火) 00:04:49.50
626デフォルトの名無しさん:2013/10/01(火) 00:42:49.20
>>606
ttp://music.geocities.jp/kgmshv/javamidi.html
こことか参考にしてMIDI Yoke使え
627デフォルトの名無しさん:2013/10/01(火) 00:55:52.13
質問したものだけど、MIDI Yoke使う意味はどうして?
仮想MIDIケーブルを使わないといけない理由がわからないなぁ・・・。

鍵盤−[USB]→PC←[USB]−オーディオI/F
MIDI Yoke使ってもASIOに関係なくないですか?
628デフォルトの名無しさん:2013/10/01(火) 01:18:36.11
606の質問は
サウンドフォントの再生をWindowsDirectSound?(俺は知らん)ではなく
ASIOに送るにはどうしたらって事だよね?


javax.sound.midi.MidiSystem.getMidiDeviceInfo()
これで取れないなら
これが何のDLL呼んでいるか、DLLは何をしているのかを調べたら解決すると思われ
getメソッドしてリフレクションしてるところが多分あるはず
629デフォルトの名無しさん:2013/10/01(火) 01:20:00.14
>>627
遅延が少ないから
630デフォルトの名無しさん:2013/10/01(火) 01:30:18.02
それっぽい語句を並べてggってみよう
stackoverflow java midi ASIO

エディタ開こうと思ったけどもう寝るので
検索結果をひたすら翻訳してみたらどこかに糸口がみつかるかもしらん
見つからなければ628やるかかstackoverflowで質問すればいいと思う
631デフォルトの名無しさん:2013/10/01(火) 03:40:49.77
>>628
もちろんそれでオーディオI/F(UA-25EX)を選んでいるよ
でもレイテンシーが酷い
つまりデバイスも音源も正しく選べているのだけど、どうやらASIOが使えていない?のだと思う

ttps://java.net/downloads/gervill/fosdem/fosdem2011/slides.pdf
この4ページ目のAudio Driverにあたる部分が機能していないからだと予想している
632デフォルトの名無しさん:2013/10/01(火) 12:03:47.22
おはよう
接続の構成は以下で合ってるのかな
[鍵盤]→midi→[PC]→PCM→[UA-25EX]
PC上で再生した場合、レイテンシは発生しないか小さい

[PC]→PCM→[UA-25EX]
[UA-25EX]にPCMを転送するときバッファが必要で、バッファ量の分レイテンシが発生しているのが現状だと推察
ASIOだとバッファは小さいか、無しで行けると質問者は考えていると認識していいのかな

俺は今、MixerからPCMをスマートフォンに転送するアプリケーションを作っていて、そのレイテンシを小さくしたいと考えていました
ASIO使えそうですね。ちょっと本気で調べてみます
633デフォルトの名無しさん:2013/10/01(火) 17:55:21.36
オープンソースでjsasioってあるからそれ調べてみたら
634デフォルトの名無しさん:2013/10/02(水) 02:13:14.01
>>620
MToolkitはse6から使ってないぞ
635デフォルトの名無しさん:2013/10/02(水) 03:28:03.29
昔、
PHPの開発環境をインストールすると、ハックされやすくなる、
と聞いたことがあるのですが、
ジャバの開発環境をインストールすると、ハックされやすくなる
ってありますか?
636635:2013/10/02(水) 03:28:50.32
winXPのパソコンです。
637デフォルトの名無しさん:2013/10/02(水) 04:12:55.79
開発環境に限らず
どんなアプリでも言えることだけど
そのアプリの脆弱性を突こうっていう攻撃が存在しうるわけだから
何らかのアプリをインストールすればそれは脆弱性が高くなるのは必然
638635:2013/10/02(水) 04:23:56.27
>>637
なんか、ポートを開く、とかってありますか?

やりたいことは、
とあるデータベース的なサイトから、
ソフト的にクリックして、ページをインクリメントしていき、
欲しいデータだけをcsvファイルに書き出す
なんですけど。
639635:2013/10/02(水) 04:57:17.26
つか、↓をインストールすれは>>638の作業が出来る、でいいでしょうか?

http://www.java.com/ja/download/help/windows_manual_download.xml
640デフォルトの名無しさん:2013/10/02(水) 08:05:40.08
あんたには無理だわ
641デフォルトの名無しさん:2013/10/02(水) 08:29:23.03
自分のやりたいことがわかってないのね、かわいそー
642デフォルトの名無しさん:2013/10/02(水) 10:21:19.38
>>635
デバッガが入るからハックしやすくなるね。IDEだとコードリーディングもしやすいし。
643デフォルトの名無しさん:2013/10/02(水) 11:26:30.62
>>638
開発環境なんかいらんやん。
JSPって今でもJDK必須だったりするの?
644デフォルトの名無しさん:2013/10/02(水) 12:01:20.60
つっこめるぞ
645デフォルトの名無しさん:2013/10/02(水) 12:19:58.44
「社内アプレットはWebでなくJDKのappletviewerで動かしてください」
とかお願いする懸念も、割と現実味を増してきた今日この頃…
646デフォルトの名無しさん:2013/10/02(水) 12:32:50.09
647デフォルトの名無しさん:2013/10/02(水) 13:20:36.57
struts1.xに一番近いwebのフレームワークは何に当たるでしょうか?
648デフォルトの名無しさん:2013/10/02(水) 14:15:13.25
struts2.x
649635:2013/10/02(水) 14:43:04.77
>>643
> 開発環境なんかいらんやん。

じゃ、 >>638をやりたいのですが、とりあえずどうすればいいか教えて下さい。
https://i.tipness.co.jp/pc/schedule/registration/
この全店のレッスン時間割を1つの csvファイルに書き出したいのです。
650635:2013/10/02(水) 14:49:26.00
しかし、Javaは >>638ぐらいの仕事をするのにコンパイルしなきゃダメって思ってたんだけど、
コンパイル不要なのかな?
651635:2013/10/02(水) 14:51:40.17
JavaスクリプトとJavaは別物だと、どこかで見たけど。
652デフォルトの名無しさん:2013/10/02(水) 15:00:57.56
JavaScriptはJavaとはまったく別物で、コンパイル不要のよくあるスクリプト言語(インタプリタ言語)
653デフォルトの名無しさん:2013/10/02(水) 15:02:27.36
Win32APIのmouse_eventのやつか?
654デフォルトの名無しさん:2013/10/02(水) 15:08:54.43
スクリプトといえば、Windowsコマンドバッチで数行で済む処理も、VBScript等だとやたら長くなるケースも多い
まあ、ケースバイケースだが
655デフォルトの名無しさん:2013/10/02(水) 15:21:07.80
>>649
俺ならC#でやるかな。
ブラウザコンポーネントにHTML取得すればDOMでアクセスできるから
CSV化も簡単。
656デフォルトの名無しさん:2013/10/02(水) 15:21:36.05
>>649
1.別マシンのIDEでJava開発。
2.起動クラスを指示したJARファイル生成。
3.JARファイルを目的マシンにコピーしてJREで実行。

本番系にEclipse入れて構いませんか−、な話じゃないのかよ
657デフォルトの名無しさん:2013/10/02(水) 15:25:06.01
658デフォルトの名無しさん:2013/10/02(水) 15:57:41.80
みんなよく>>638でわかるな。

データベース的なサイト
ソフト的にクリック
ページをインクリメント
欲しいデータ

意味わからん。
659デフォルトの名無しさん:2013/10/02(水) 16:02:50.60
C#スレにはそういうことやりたいやつばっかりくるからなw
660デフォルトの名無しさん:2013/10/02(水) 16:50:39.64
>>649
そのデータを取得して何をする気なんだ。
なんか性犯罪者の匂いがする。
661デフォルトの名無しさん:2013/10/02(水) 17:15:15.76
>>655
す れ ち
662デフォルトの名無しさん:2013/10/02(水) 20:31:34.82
データベース的って表現が笑えるんだが2chのDATか株価あたりか?w
663デフォルトの名無しさん:2013/10/02(水) 20:51:35.04
664デフォルトの名無しさん:2013/10/02(水) 21:29:43.35
665635:2013/10/02(水) 23:07:19.40
つかC#ってマイクロソフトの製品でしょ?有料でしょ?

>>660
> そのデータを取得して何をする気なんだ。
だから、俺はダイエットでティプネスの会員になったわけ。
で、関東の20店舗ぐらいの全部のレッスンが受けられるわけ。
で、それの一覧表を作りたいわけ。

> なんか性犯罪者の匂いがする。
ふざけんなw
666635:2013/10/02(水) 23:11:44.56
>>656
つかもう、このパソコンでやります。
とりありず何をインストールしたらいいか教えて下さい。
667635:2013/10/02(水) 23:15:15.85
つか、言い方をかえれば、
https://i.tipness.co.jp/pc/schedule/registration/
これだと、1度に10個のレッスンしか表示出来ないでしょ。
これを、1度に500個ぐらいベーっと表示出来ればそれで事足りるんだけど。
668デフォルトの名無しさん:2013/10/02(水) 23:21:07.62
図書館サイトでそれやって手が後ろに回りそうになった騒ぎもあるので、
トラフィック量の見定めは慎重になー

手元のパソコンならJDKでもeclipseでも気軽に入れればいいじゃん。
669デフォルトの名無しさん:2013/10/02(水) 23:25:29.34
.NetFrameworkにはC#の開発環境がある。SharpDevelopは無料の統合環境
670デフォルトの名無しさん:2013/10/02(水) 23:32:07.38
ちゃんとUser-Agentヘッダで連絡先送信しとけよー。
もしもの時の量刑が軽くなるかもしれない。

どっかの開発現場に放り込まれる予定がないなら、Netbeansがお気軽。
671635:2013/10/03(木) 00:25:28.29
いま、これの、
https://netbeans.org/downloads/
無償, 204 MB のヤツをdownloadしていますw

つか、ページの要求を1秒間に10個ぐらいしちゃうと、相手のサーバーの負荷になる。
ということでしょ?
しかし、そんなんで犯罪になるのかな?
672635:2013/10/03(木) 00:33:55.20
つか、今
http://www.oracle.com/technetwork/java/javase/downloads/jdk-7-netbeans-download-432126.html
これの
Windows x86 219.81 MB jdk-7u40-nb-7_3_1-windows-i586.exe
これをdownloadしています。
673デフォルトの名無しさん:2013/10/03(木) 01:54:08.00
>>645
webstart使えよ
674デフォルトの名無しさん:2013/10/03(木) 03:09:57.04
>>665
ウェブスクレイピングを行いたいと言うとこかな。
ちゃんとしたXHTMLでもない限り、Javaは向いていない。テキスト処理の得意なrubyあたりでcvsなりなんなりに加工してから、別途ビュワーなりを作ることをお勧めする。
675デフォルトの名無しさん:2013/10/03(木) 03:59:51.28
俺もJavaで一からプログラム書くよりRubyかPerlの方がいいと思う。
Grasemonkeyではできないか?使ったことないけど。
データだけcsvに落として、あとはExcelで見ればいいのだが。

それから>>671>>672はほとんど同じものや。>>672だけでいい。
676デフォルトの名無しさん:2013/10/03(木) 06:07:48.55
仕事だとJavaだけどこの手の作業にはサクッとRubyその他を使うな。

ruby -e '(1..4970).each{|i| html = `wget --quiet --no-check-certificate -O - \
https://i.tipness.co.jp/pc/schedule/registration/?page=#{i}`; \
html.sub(/.*<td><p class="mb5">/m, "").split("\n").each{|l| next unless l.start_with?("<td>"); \
l.strip!; print l == "<td>" ? "\n" : l.gsub(/<\/?td>/, "") + "\t" }; \
sleep 2}'

色々手抜きだけどTab区切り(TSV)で標準出力に出力するからExcelでも読めるはずだよ。
677デフォルトの名無しさん:2013/10/03(木) 08:00:44.31
a
678デフォルトの名無しさん:2013/10/03(木) 08:04:49.53
最近java勉強しはじめでwebアプリですが、
例えばユーザが画面からユーザ登録などする場合に
文字を打ち込みますよね。
その文字がエラーであるかどうかを、普通に処理の中でifを使い、
エラーかどうか判断してたんですが、
そういうexceptionを作って例外投げたりするほうがいいんでしょうか?
一概にはこっちが良いとか言えないかもしれませんが、
教えていただけますと嬉しいです。
679デフォルトの名無しさん:2013/10/03(木) 08:08:09.85
フレームワークに任せる
680デフォルトの名無しさん:2013/10/03(木) 08:28:26.54
ログに残すくらいかな
681デフォルトの名無しさん:2013/10/03(木) 09:15:48.72
ログに残すのみってwebアプリでありえなくね
682デフォルトの名無しさん:2013/10/03(木) 09:20:18.03
入力文字のエラーでスレッド落とすのか、ふーん
683デフォルトの名無しさん:2013/10/03(木) 13:15:47.26
むしろこのスレは落とすどころか保守されたよね
684デフォルトの名無しさん:2013/10/03(木) 14:09:14.16
685デフォルトの名無しさん:2013/10/03(木) 14:27:38.56
>>678
ガチレスすると、
人間の入力なんて、しょっちゅう間違える可能性があるわけで…。
(仕様によるが)エラーメッセージを画面に表示してやるのがよいのではないか?

Exceptionはシステム障害等のときだけ投げてやる。
686635:2013/10/03(木) 15:50:32.35
>>676
ありがとうございます。
では、ルビーでやりますw
そうすると、
https://www.ruby-lang.org/ja/downloads/
ここから落とした物をインストールするだけで、
ルビーがインストール&ルビーでネットにアクセス可能
になるのでしょうか?
687デフォルトの名無しさん:2013/10/03(木) 15:54:11.53
オーバーライドとスーパーがよく分かりません。

例えば、バイクをカスタマイズして機能を追加することがオーバーライドで、純正仕様に戻したように使うのにはスーパーを使うのでしょうか?
688デフォルトの名無しさん:2013/10/03(木) 16:16:21.28
>>686
ルビーの質問はルビーのスレでやれや
689デフォルトの名無しさん:2013/10/03(木) 16:22:51.54
>>687
Javaの本を開いてみましょう
690デフォルトの名無しさん:2013/10/03(木) 16:24:26.94
691デフォルトの名無しさん:2013/10/03(木) 16:29:34.39
692デフォルトの名無しさん:2013/10/03(木) 16:31:38.72
>>689
本が今は少しイメージを持つだけでいいって言って説明してくれないんです
693デフォルトの名無しさん:2013/10/03(木) 16:33:13.78
>>692
kwsk
694デフォルトの名無しさん:2013/10/03(木) 16:59:17.35
>>692
その本の名前は?
695デフォルトの名無しさん:2013/10/03(木) 18:13:47.56
>>694
はじめてのandroidプログラミングかな。
javaの入門書も必要だわなー
696デフォルトの名無しさん:2013/10/03(木) 18:18:04.74
馬鹿には無理
697デフォルトの名無しさん:2013/10/03(木) 19:13:52.38
>>678
開発手法とポリシーによると思うが、うちは設計でシナリオを書いている時に例外シナリオが出てきて、そこは例外を使う。メインシナリオで言及してたら使わない。
C#だと標準であった気がするが、RuntimeExceptionを継承したUserExceptionというのを作って、何の操作をしたら、どうなったから、どうしてね。というのを持たせるようにして、ユーザに一貫した400系エラーページを提供できるようにしてる。
あと例外内部でログをとって改善に役立ててる。
698デフォルトの名無しさん:2013/10/03(木) 23:49:18.46
クライアント側からIf-Modified-Sinceを送ってもらって、(jQueryのajax通信)
サーバー側で@HeaderParameter("If-Modified-Since")で取得し、
DBから取得したある値と比較して処理をスル・・・的なことをしたいのですが、
choromeで色々テストしてみても、クラ側からIf-Modified-Sinceを送信できません

考え方的にはこういう方法で実現出来ますよね?
ちなみにクラ側からは
settings["ifModified"] = true
settings["If-Modified-Since"] = "日付"
て感じで日付送信してます
699デフォルトの名無しさん:2013/10/03(木) 23:52:38.41
うわぁぁぁぁぁぁぁぁぁぁラムダ式で環境閉じてぇぇぇぇぇぇぇ
700デフォルトの名無しさん:2013/10/04(金) 00:56:39.50
>>698
JAX-RS実装の何かだとは思うけれども具体的にどのフレームワークをつかってやるのか
書かないとなんとも。というか普通に出来る。

If-Modified-Sinceを送らないのは基本的にクライアント側のJavaScriptのコードを
ちゃんと書けていないだけだと思う。
ChromeならDeveloper ToolのNetworkタブで実際に送信されているリクエストヘッダの
内容を確認。で、If-Modified-Sinceがそこにないのであればスレ違いなので余所へ。
701698:2013/10/04(金) 08:10:44.40
>>700
レスありがとう
フレームワークはspringだ
テベロッパーツール見てみたらそもそも送れてないみたいだ
クライアント側の実装を確認してみるよ
702デフォルトの名無しさん:2013/10/04(金) 09:35:36.44
ヘッダーを独自に読み取るなんて危ないことするねぇ
ときどきHTTPのRFCを無視した異常なヘッダの使い方をしてブラウザ間の互換性を失わせているWebアプリケーションを見かけるが、
そういうのはこういう人たちが作ってるのかねぇ
703デフォルトの名無しさん:2013/10/04(金) 10:39:54.99
意味不明
704デフォルトの名無しさん:2013/10/04(金) 11:14:54.63
独自のヘッダを使うのなんて普通
705デフォルトの名無しさん:2013/10/04(金) 11:25:25.77
X-MYHEADERがわからん、てことか、了解
706デフォルトの名無しさん:2013/10/04(金) 18:35:54.84
>>703-705
「独自のヘッダ」じゃねえだろ。If-Modified-Sinceみたいに既存のヘッダを独自に読み取って解釈するなってことだ
例えば複数の同名ヘッダが存在した場合の挙動などはRFC違反を混入させやすい
707デフォルトの名無しさん:2013/10/04(金) 19:43:19.99
javaで音楽プレイヤーを作りたいのですが低音だけ大きくしたり、エコーかけたりするライブラリってありますか?
どんなキーワードで探せばいいかわからず
java 音楽とかで調べた限りでは音楽を単純に再生する例しかなかったので
708デフォルトの名無しさん:2013/10/04(金) 19:55:18.76
そんなもんJavaで作るな
709デフォルトの名無しさん:2013/10/04(金) 20:18:04.50
イコライザやリバーブの話ならAndroidスレの方が反応いいかも
710デフォルトの名無しさん:2013/10/04(金) 20:23:44.21
Process.exe(音楽プレイヤー)
startActivity(音楽プレイヤー)
711デフォルトの名無しさん:2013/10/04(金) 20:24:51.68
Androidでもそういうの拘るならNDKだよ
712デフォルトの名無しさん:2013/10/04(金) 20:26:36.53
デコーダとかでどうせネイティブコード使いまくることになるからなあ
Javaで作る意味はない
713デフォルトの名無しさん:2013/10/04(金) 20:27:15.18
714デフォルトの名無しさん:2013/10/04(金) 20:31:36.81
自己解決しました
715デフォルトの名無しさん:2013/10/04(金) 20:39:00.07
>>706
二行目が意味不明
716デフォルトの名無しさん:2013/10/04(金) 20:43:56.73
>>715
複数の同名ヘッダが存在した場合にどういう挙動をするのかはRFCで決められてる
717デフォルトの名無しさん:2013/10/04(金) 21:47:31.20
>>716
だれが「If-Modified-Sinceを追加する」と書いてるのか、と聞いてるんだよ
718デフォルトの名無しさん:2013/10/04(金) 21:58:56.64
Baseクラスを継承したSubクラスがあるとして
List<Sub>のインスタンスをList<Base>にキャストする方法ってないんでしょうか?
719デフォルトの名無しさん:2013/10/04(金) 21:59:11.16
プログラマって人種は俺こそが正しいってヤツが多いんだな
720デフォルトの名無しさん:2013/10/04(金) 22:17:10.94
>>719
とりあえず正しいと信じないとプログラム書けないからな。

プログラムは正しい事に使え。少なくとも自分がそう信じられる事に。ディンゴ イーグリッド
721デフォルトの名無しさん:2013/10/04(金) 22:20:03.33
>>718
ワイルドカードを使う
722デフォルトの名無しさん:2013/10/04(金) 22:33:55.86
>>721
あー、List<? extend Base>みたいなやつですかね?
なるほどこういう時に使うのか、ありがとう!
723デフォルトの名無しさん:2013/10/05(土) 01:58:14.62
>>722
そのためのパラメタ型というか型タグだしな。javaは型消去するけど。
724デフォルトの名無しさん:2013/10/05(土) 08:39:52.25
eclipseでメソッドなど補完機能で追加した後、引数部分を選択状態にしたいのですが、ショートカットはありますか?

引数部分をダブルクリックするのと同じ挙動のショートカットです。
あと、それを入力したあと、次の引数に移って、なおかつ選択状態にするショートカットはありますか?
725デフォルトの名無しさん:2013/10/05(土) 08:47:35.47
>>717
ブラウザだよ。一行のヘッダフィールドはブラウザの都合によって任意に複数行に分割することができる(RFCで定義された挙動)。
それを考慮せずに「必ず一行で送られてくるはず」という思い込みでプログラムを作ると↓のようなバグが混入する。
https://issues.apache.org/bugzilla/show_bug.cgi?id=48839

If-Modified-Sinceの挙動もRFCで決められているから勝手に独自の使途に用いるなという話だ。
726デフォルトの名無しさん:2013/10/05(土) 08:48:33.56
>>724
Tabキー
727デフォルトの名無しさん:2013/10/05(土) 09:20:33.90
>>726
ありがとうございます!
728デフォルトの名無しさん:2013/10/05(土) 09:34:44.29
javaは何を学習すればいいのか。
テキストエディタでプログラム書いて、コマンドプロンプトで実行して、文字や
数値を計算ものを表示してそれで終わり、というのは勉強の中の狭い一部分に
すぎないんだろうし、プログラム会社の仕事って、それだけでは通用しないん
だろうし。
イクリプスとかトムキャットとかアプレットとかサーブレットとかジェーエスピー
とかマイエスキューエルとかストラッツとかのように、知らない言葉が一杯
出てくるな。
javaの絵本で勉強した次は、何勉強したらいいのかいな。
729デフォルトの名無しさん:2013/10/05(土) 09:40:23.45
勉強の仕方を勉強すればいいんじゃないかな
730デフォルトの名無しさん:2013/10/05(土) 09:40:42.22
>>725
わりー、分割するもしないもねーや、元にはどこにも書いてねーし
脳内完結、ご苦労さん
731デフォルトの名無しさん:2013/10/05(土) 09:57:18.03
>>728
学生?
そんなドカタ技術はみんな未経験で会社入ってから覚えるもんだ
完全にテンプレ化されてて誰にでもできる流れ作業だからね
プログラミングの勉強するのはいいが、やるならもっと最新のとんがった技術とか
理論的なところへ踏み込むとか、今しかできないことをやれ
732デフォルトの名無しさん:2013/10/05(土) 10:28:32.17
>>728
奴隷を使う側のまともな会社なら未経験からしっかり教えてくれる
そういうところへ入れるよう、今やるべきことを精一杯やれ
733デフォルトの名無しさん:2013/10/05(土) 10:37:48.89
>>725に対する>>730

客観的に見て負けてるのはどっちだろうかw
734デフォルトの名無しさん:2013/10/05(土) 10:49:46.84
負けたお(^ω^)
735デフォルトの名無しさん:2013/10/05(土) 11:13:52.73
ジェネリクスのsuperって何に使うんだい?
ダウンキャストは基本的に否定されるし扱い方が分からない
736デフォルトの名無しさん:2013/10/05(土) 11:47:57.92
入力用の型(つまりメソッドの引数の型)として型パラメータを使いたいときに使う
void hoge(A<? super B> x) {
 B y = new B();
 x.foo(y); // (? super B)型を引数にとるメソッド
}

x.foo(y)でアップキャストが安全に行えるための条件が ? super B なわけ
C#だとジェネリクスの方向指定はin/outと書くから分かりやすいんだけどね
737デフォルトの名無しさん:2013/10/05(土) 11:57:11.95
>>732
>今やるべきことを精一杯やれ

中学二年生が言いそうw
738デフォルトの名無しさん:2013/10/05(土) 12:08:29.07
JavaのワイルドカードはC#のin/outよりずっと柔軟なんだが
とにかくわかりづらいのが欠点
表記だけでもC#風に
A<? extends B> → A<out B> // Bは戻り値に使う
A<? super B> → A<in B> // Bは引数に使う
ならまだマシなのにな
739デフォルトの名無しさん:2013/10/05(土) 12:44:37.00
例はandroidなんですけど

【A】ここらへんの変数を
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
【B】ここらへんで使いたい

ときって、結局メンバ変数経由でやるしかないんでしょうか?
それとも根本的に考えが間違ってるんでしょうか?
【B】のところってメンバ変数にアクセスしないとほとんど何もできないような
740デフォルトの名無しさん:2013/10/05(土) 13:07:36.28
739ですけどとりあえず中身いじるのはメンバ変数で
いじらないのはローカルにfinalつけるようにして解決しました
741デフォルトの名無しさん:2013/10/05(土) 13:18:11.45
よかったね、本も読もうね
742デフォルトの名無しさん:2013/10/05(土) 13:26:46.99
743デフォルトの名無しさん:2013/10/05(土) 13:26:51.65
写真などからスライドショーのような動画を作成したいのですが、
動画を扱うクラスってありますか?
もしかしてOpenGLとか使わないといけませんか?
744デフォルトの名無しさん:2013/10/05(土) 13:29:16.05
例外を記述してテストしてて思ったんですが
setメソッドの中で、if文で引数の違反をチェックして、
該当した場合にifブロックの中でthrough new Exceptionとやると
そのメソッドの速度が著しく低下してしまうのですが
もしかして、if文は該当のブロックを通らない場合にもnewが評価されてしまうんでしょうか?

また、例外を定数としてメンバ変数内にstatic final Exceptionで予めnewしておいたら、
速度が回復したのですが、この対応は正しいのでしょうか?
745デフォルトの名無しさん:2013/10/05(土) 13:35:16.70
>>744
try-catchイディオムのコストが高いからそっちじゃね?
746デフォルトの名無しさん:2013/10/05(土) 13:55:40.85
try-catchブロックに入るコストがJVMオペコードレベルで通常ブロックの4ー10倍ぐらいのはず。
747デフォルトの名無しさん:2013/10/05(土) 14:17:51.62
>>744
>また、例外を定数としてメンバ変数内にstatic final Exceptionで予めnewしておいたら

おいこらやめろw

う〜ん、この対応は、普通は無しかなぁ。例外オブジェクトは投げ飛ばされる度に
スタックトレースその他の情報ががんがん中に書き込まれる。マルチスレッドだと
確実にはまるし、そうでなくとも次回使用時に中身が綺麗にする手間を考えると
使い回しは良くない。

例外はその名の通り例外的なケースを扱う場合にのみ使うべき。
通常の動作時の振る舞いの一部にしない、大域ジャンプの代わりに流用しないと
いうのがよく言われるね。
748デフォルトの名無しさん:2013/10/05(土) 14:22:56.31
749デフォルトの名無しさん:2013/10/05(土) 15:15:20.97
ふーん
750デフォルトの名無しさん:2013/10/05(土) 16:52:14.72
>>745-747
ありがとうございます
しかしすみません、いろいろ試していたところ例外がどうこうというよりも
どうもコンパイラのことをよくわかってない私のテストのやり方が良くなくて、
ある条件下でメソッド呼び出しが最適化されていない(?)感じで遅くなってたみたいで。。。
751デフォルトの名無しさん:2013/10/05(土) 23:26:16.46
というかJITなんてほとんどしてないしjavacは最適化しないし遅いのが普通だって
752デフォルトの名無しさん:2013/10/06(日) 01:09:45.25
1つのファイルにByte配列の中身を1つずつ書き込み方法ありますか?
間に処理をはさみたいのでforとかwhileを使った方法が知りたいです。
753デフォルトの名無しさん:2013/10/06(日) 01:14:31.11
OutputStream#writeじゃいけない理由でもあんの?
DataOutputStreamってのもあるからそれ使ってもいいよ
754デフォルトの名無しさん:2013/10/06(日) 02:17:45.00
配列をラップしたByteBufferで少しずつ出力範囲を移動させながら
FileChannel.write(ByteBuffer src)

とエスパー回答
755752:2013/10/06(日) 10:50:16.76
みなさまありがとうございます。
やりたいこととしては1ファイルの書き込み進捗をprintlnで出力したいので
printlnの処理以外の箇所で箇所で一気にファイル出力した場合と速度的に劣らない方法が知りたいです。
756デフォルトの名無しさん:2013/10/06(日) 10:58:08.94
>>755
BufferedOutputStreamを使えばループでやっても処理速度はあまり遅くならないだろうけど
ファイルに1バイトずつ書き込むってのと矛盾しそうな気もしないでもない。
757デフォルトの名無しさん:2013/10/06(日) 11:01:29.64
1バイト出力でprintlnしてたらprintlnのコストが馬鹿高くて糞遅いことになりそうだな
758752:2013/10/06(日) 11:22:05.44
>>757
printlnは仮実装なのでこの部分はパフォーマンスの考慮に含めないでください
759752:2013/10/06(日) 11:23:43.43
ファイルの書き込み進捗表示は通常何のタイミングで更新するのかわからないのですが
760デフォルトの名無しさん:2013/10/06(日) 11:28:48.02
ファイルに1バイトずつ書き込んでたら遅いからBufferedOutputStreamがある
BufferedOutputStreamじゃ要件を満たさないというなら「知るか!」でFA
761デフォルトの名無しさん:2013/10/06(日) 11:34:27.54
>>755
PipedOutputStreamとPipedInputStreamで
監視スレッドに横取りさせる方式を推してみる。
パイプサイズは監視側が勝手に決めればOK!
762デフォルトの名無しさん:2013/10/06(日) 11:56:53.25
書き込みの進捗をシークバーで徐々にふやすなら

セクタサイズ程度のバイト数で割り算してみる
bufferを512のbyte配列で用意して、全サイズで割り算したものをシークバーの刻み数にする
2セクタで1KBなので10KBなら21刻みのシークバーになる
大きければbufferの桁を変えればいい
763デフォルトの名無しさん:2013/10/06(日) 12:13:07.64
javaドカタには難しい質問でしたね
764752:2013/10/06(日) 12:22:39.71
みなさまありがとうございます!
頂いたアドバイスを1つずつ試してみます
765デフォルトの名無しさん:2013/10/06(日) 12:25:40.57
設計が間違ってそう
766デフォルトの名無しさん:2013/10/06(日) 13:39:39.06
馬鹿には無理
767デフォルトの名無しさん:2013/10/06(日) 23:04:17.60
BufferedOutputStreamで包んだByteArrayOutputStreamをForkJoinすればいいだけじゃないの?
768デフォルトの名無しさん:2013/10/07(月) 05:57:17.67
JUnitの存在意義がわかりません。

同じテストをビルドするたびに毎回実行できるからって何の意味あるんですか?

コードを修正するのは仕様が変わるなり追加されるなりしたか、結合テストで出たバグの修正ぐらいのもんで
そのときは結局テストクラス側も修正が必要になります。

また、ちょっとしたことだけれども広範囲で結果が変化するような仕様変更の場合(共通のメッセージ変更とか)、
膨大なテストケースの修正が必要になって生産性がひどいことになります。

自前のテストクラスで必要なときに必要なところだけテストするほうが
ずっと安くつくように感じるのですが
テストのつくり方がおかしいんでしょうか?
769デフォルトの名無しさん:2013/10/07(月) 06:11:00.90
>>768
>必要なときに必要なところだけテスト

必要なときと範囲が常に確実に特定できるのであればそうだろうね。
770デフォルトの名無しさん:2013/10/07(月) 07:35:46.55
テスト駆動開発について調べるといいんじゃないかな
771デフォルトの名無しさん:2013/10/07(月) 07:38:22.29
>>768
つかわなきゃいい
772デフォルトの名無しさん:2013/10/07(月) 07:42:23.84
>>768
君が失踪した後にその自前のテストクラスのデバッグからやらされるの、俺はゴメンだよ。Junitなら受けてもいい。
773デフォルトの名無しさん:2013/10/07(月) 08:31:42.06
テストのつくり方がおかしいんじゃないの?
774デフォルトの名無しさん:2013/10/07(月) 17:23:20.67
・詳細仕様とテストのエビデンスがまとめてあること
・しかも常にプログラムと同期がとれていること

という青果物の寒天からみるべき
775デフォルトの名無しさん:2013/10/07(月) 17:30:57.60
なるほど、フルーツ餡蜜ということだな
776デフォルトの名無しさん:2013/10/07(月) 19:26:18.93
JUnitも更新するのだるいけど
人材が一斉に置き換わったときとか
JUnitなかったら、仕様書はソースコードです。ってなことになる
777デフォルトの名無しさん:2013/10/07(月) 22:11:11.01
>>774
詳細仕様とかjavadocでいいよ。というか、いちいちMS-Wordとかやめて。コメントすら同期取られてないことがあるけど。
ユニットテストが同期されてないのも困る。pythonにはdoctestという、コメントに書いとくと単体テストしてくれる仕組みがあるのだけど、ちょっとしたものだと便利。
778デフォルトの名無しさん:2013/10/07(月) 22:13:20.36
医療機器とか原発制御とかのプログラムもJava製なんですか?
779デフォルトの名無しさん:2013/10/07(月) 22:16:38.81
たぶんつかってはいけないだろう
780デフォルトの名無しさん:2013/10/07(月) 22:20:20.38
>>778
組み込みでggrと幸せになれると思う
781デフォルトの名無しさん:2013/10/07(月) 22:21:05.46
手術中にぬるぽでストップw
782デフォルトの名無しさん:2013/10/07(月) 22:31:55.95
人の命が関わるような重要な仕事に携わりたくないな
783デフォルトの名無しさん:2013/10/07(月) 22:34:41.65
単なる仕事だろう
784デフォルトの名無しさん:2013/10/07(月) 23:12:49.21
泥のDalvikって、由来は何でしょうか・・・開発者の人物名なんですか?
785デフォルトの名無しさん:2013/10/07(月) 23:22:15.30
>>784
アイスランドの漁村らしい
ttp://www.techopedia.com/definition/4262/dalvik
786デフォルトの名無しさん:2013/10/07(月) 23:25:36.23
DukePadとか普通に売れそうだがお遊びのままお茶を濁すのかな
787デフォルトの名無しさん:2013/10/07(月) 23:28:43.02
>>785
ありがとうございます。これで安心して眠れます。
788デフォルトの名無しさん:2013/10/07(月) 23:32:18.12
>>787
おやすみ
789デフォルトの名無しさん:2013/10/07(月) 23:43:53.77
790デフォルトの名無しさん:2013/10/07(月) 23:47:45.97
791デフォルトの名無しさん:2013/10/08(火) 01:58:45.60
>>778
BD-JはJavaTV+JMFでごく普通のXLetだが
792デフォルトの名無しさん:2013/10/08(火) 14:42:21.94
>>778
ホントにクリティカルなとこは、複数の実装の結果を比較して決定したいな。
793デフォルトの名無しさん:2013/10/08(火) 14:56:11.56
おまえのバグのせいで人が死んだんだぞ!
794デフォルトの名無しさん:2013/10/08(火) 14:59:01.19
795デフォルトの名無しさん:2013/10/08(火) 15:46:15.74
たいへんだ、謝罪と賠償を求める
796デフォルトの名無しさん:2013/10/08(火) 15:50:29.82
プログラムミスで爆発事故で人が死亡した
797デフォルトの名無しさん:2013/10/08(火) 15:53:47.27
馬鹿には無理
798デフォルトの名無しさん:2013/10/08(火) 16:00:04.63
プログラマというのは重要な仕事なんです!
政府はそれが分かっておらんのです!
プログラマの待遇改善に政府は全力を尽くすべきなんです!
799デフォルトの名無しさん:2013/10/08(火) 16:10:52.46
「残業規定が無いな」
「あんなの飾りです 偉い人にはそれがわかっとるのですよ」
「はっきり言う。気に入らんな」
「どうも。気休めかもしれませんが、終電前には多分帰れますよ」
800デフォルトの名無しさん:2013/10/08(火) 16:11:07.88
Aできるプログラマの待遇を改善すべきか
Bできないプログラマの待遇を改善すべきか
A,Bではまったく方針が異なる。
801デフォルトの名無しさん:2013/10/08(火) 16:13:50.29
>>778みたいな重要なプログラムを孫請けとか下請けにどんどん回してたら嫌だな
802デフォルトの名無しさん:2013/10/08(火) 17:14:44.76
まわすだろ普通
803デフォルトの名無しさん:2013/10/08(火) 21:03:37.54
質問と言うか、ご意見を伺いたいです。

抽象クラスにcloneを実装して、サブクラスをディープコピーしたいのですが、

1.Cloneableを使って実装する
2.独自のclone(E newInstance)クラスでコピー処理を実装する

どちらの手法が適切だと思われるでしょうか?
804デフォルトの名無しさん:2013/10/08(火) 21:10:43.76
コンストラクタ使うのがいいよ
Hoge copy = new SubHoge(hoge);
805デフォルトの名無しさん:2013/10/08(火) 21:32:28.65
>>804
サブクラスにはあまり実装したくないのです。
面倒くさいので。

値自体は親クラスに持ってるので、コピーの実装も親にしたいのです。
806デフォルトの名無しさん:2013/10/08(火) 22:05:35.04
javaのジェネリクスはそのへんゴミだから期待しないほうがいい
807デフォルトの名無しさん:2013/10/08(火) 22:50:32.55
Javaはコードの見通しが物凄く悪い。C++で陥りたくなくて注意してる事が桁違いの規模で起こる。
それも2桁違い
808デフォルトの名無しさん:2013/10/08(火) 23:09:44.17
C++の事は良くわかりませんが、結局何れの方法も大差ないって事なんでしょうか?

ジェネリクスが期待したような動きをしないのは嫌になるほど実感したので、
インスタンス化だけ呼び出し元に任せてしまおうかと思って2を考えました。

Cloneableでも出来るのは確認したんですけどね。
何か冗長で不快だったので他の方法がないかと思ったのですが…。
809デフォルトの名無しさん:2013/10/08(火) 23:11:15.51
質問だけだと本当の意図が分からないときがあるけど、
結局自分が本当はどうしたいのか、どういう面を最優先したいかによるな。
810デフォルトの名無しさん:2013/10/08(火) 23:15:00.59
>>808
リフレクション使えばいい
811デフォルトの名無しさん:2013/10/08(火) 23:17:51.44
Object clone() {

return this.getClass().newInstance();
}
812デフォルトの名無しさん:2013/10/08(火) 23:18:42.27
>>809
ぶっちゃけると、インスタンスコピー機能の実装がしたいんです。
でも、Cloneable使うと何か気に入らなくて…。
なので、他の方はどんな風にしてるのか伺いたいのです。

自分ならこうするとか、このやり方は嫌いとか、
そんな意見が聞けたらな、と思いまして。
813デフォルトの名無しさん:2013/10/08(火) 23:23:37.48
>>810-811
まあ、その手を使えば取れるのですよね。
ただ、ソースがばっちい。
814デフォルトの名無しさん:2013/10/08(火) 23:47:43.79
http://ideone.com/saLOt7
ほんとだーこんなこと出来るんだー知らんかったわー
815デフォルトの名無しさん:2013/10/08(火) 23:59:46.02
ばっちぃ
816デフォルトの名無しさん:2013/10/09(水) 00:04:14.25
ばっちい設計を実装しようとしているからだ
仕方なかろう
817デフォルトの名無しさん:2013/10/09(水) 00:44:54.90
818デフォルトの名無しさん:2013/10/09(水) 01:48:54.82
ぶっちゃけJavaでは美しいコードは最初から諦めてる
819デフォルトの名無しさん:2013/10/09(水) 05:23:45.38
非static内部クラスはメモリリークにつながるらしいと聞きました。

では、無名(匿名)クラスの場合はどうなのでしょうか?
820デフォルトの名無しさん:2013/10/09(水) 06:27:41.95
何だったら美しいコード書けるのさ
821デフォルトの名無しさん:2013/10/09(水) 06:41:18.86
>>819
非staticの名前付き内部クラスと同じ。

メモリリークにつながる「らしい」じゃなくて、「非staticの内部クラスの
インスタンスはその外側のクラスのインスタンスへの参照を持ち続けるから」
というそもそもの理由をちゃんと理解しないと意味が無いよ。
メモリリークさせずに非staticな内部クラスを使うのも十分に可能。

ただベストプラクティスとしては名前付き内部クラスは特別な必要が無い限り
まずstaticで宣言しておくと良いと思う。
822デフォルトの名無しさん:2013/10/09(水) 06:47:36.62
C++なら美しいコードが書けます、キリィ、てか
823デフォルトの名無しさん:2013/10/09(水) 09:41:28.40
彼はブス専なのでVBだろう。
824デフォルトの名無しさん:2013/10/09(水) 10:53:41.73
DecimalFormat df = new DecimalFormat("#0.0#");
上記で#0.0#と##0.0#でどちらが正しいってありますか?
結果はどっちも同じなので悩んでます
825デフォルトの名無しさん:2013/10/09(水) 17:06:01.63
>>824
整数部に#を複数指定するたった一つの理由は、
#,###みたいにコンマ位置を指定するためじゃないかと
826デフォルトの名無しさん:2013/10/09(水) 18:46:39.59
Java に参照渡しがあれば‥‥
827デフォルトの名無しさん:2013/10/09(水) 18:54:11.32
javaをはじめて勉強するんですがこの本で学習したら間違いないっていうのおしえて
828デフォルトの名無しさん:2013/10/09(水) 18:57:17.88
どうせC++では3つも4つも出力引数取るようなメソッド作ってたんだろう
Java様に矯正されてしまえ
829 ◆QZaw55cn4c :2013/10/09(水) 19:03:32.68
>>827
自分は
http://www.amazon.co.jp/dp/4797359277/
の後
http://www.hyuki.com/dp/dpinfo.html
の書籍版で磨きをかけた,参考になるかね?
830デフォルトの名無しさん:2013/10/09(水) 19:10:16.58
831826:2013/10/09(水) 19:17:33.37
>>828
なんとかなりませんかね?
832デフォルトの名無しさん:2013/10/09(水) 19:18:55.90
833デフォルトの名無しさん:2013/10/09(水) 19:28:34.91
>>831
C#でいいじゃん。あれJavaだよ。
834デフォルトの名無しさん:2013/10/09(水) 21:11:57.84
プリミティブの参照渡しあったとしたら、final様にようやっと出番が訪れるか
C++から移ってきた時にfinal引数のインスタンス参照が当然のように中身書き換えられた時は愕然とした

まぁ、クラスならread_onlyなインターフェース用意すれば良いみたいだけど
こんなことでいちいちパフォーマンス下げたくないよなぁ
835デフォルトの名無しさん:2013/10/09(水) 21:19:40.55
836デフォルトの名無しさん:2013/10/09(水) 21:20:57.49
Javaはうんこだと思っても我慢して使うもの
837デフォルトの名無しさん:2013/10/09(水) 21:29:03.49
プリミティブを参照渡ししてfinalにする意味がわからん値渡しでいい
インターフェース作ってもダウンキャストされたら余裕で書き換えられる
インターフェース作ったぐらいでパフォーマンス下がらない

知ったげに言ってることがことごとくおかしい
838デフォルトの名無しさん:2013/10/09(水) 21:41:09.61
うんこうんこ
839デフォルトの名無しさん:2013/10/09(水) 22:41:55.00
ローカル変数が絶対によそから書き換えられないJavaの言語仕様
がもたらす恩恵には計り知れないものがあるのだが
840デフォルトの名無しさん:2013/10/09(水) 22:46:58.81
意味不明
841デフォルトの名無しさん:2013/10/09(水) 22:51:18.03
842デフォルトの名無しさん:2013/10/09(水) 23:01:58.29
>>837
たぶんC++の参照渡しと勘違いしてるのかと
843デフォルトの名無しさん:2013/10/09(水) 23:18:51.64
>>839
お前C++分かってないだろ
Hoge hoge = new Hoge(); method(hoge);
これ呼び出し先でhogeの指すオブジェクトの中身が書き換えられる可能性があるだろ?
必要に応じてそれを防ぐことができるのがC++のconst参照渡しだ
俺はこんなもん要らないと思ってるが、相手を知らないのにJavaが優れてると思い込んでるとかさすがJava使いは違うな
844デフォルトの名無しさん:2013/10/09(水) 23:21:45.01
845デフォルトの名無しさん:2013/10/09(水) 23:23:06.13
プリミティブの参照渡しの話はどこいったの・・・
846デフォルトの名無しさん:2013/10/09(水) 23:37:13.75
そんな参照渡しが大嫌いなJava使い達もスクリプト言語やScalaに行ったらtuple使いまくるんだろうな
847デフォルトの名無しさん:2013/10/09(水) 23:43:30.75
C++の参照渡しが糞なのは呼び出してる側のコードを見ただけでは
値が書き換えられるかどうか分からないこと
C#みたいに呼び出す側で明示的に指定するんならそう悪いもんじゃないよ
848デフォルトの名無しさん:2013/10/09(水) 23:49:41.78
849デフォルトの名無しさん:2013/10/09(水) 23:53:16.41
454に参照してる奴、おまえは俺以外にはスルーされている。
850デフォルトの名無しさん:2013/10/09(水) 23:54:19.20
>>847
そんなんmutable渡したらJavaでも同じやろ
851デフォルトの名無しさん:2013/10/09(水) 23:58:48.63
うんこうんこ
852デフォルトの名無しさん:2013/10/10(木) 00:00:16.25
どうでもいいが、「ジャバ」の話をしてくれ
853デフォルトの名無しさん:2013/10/10(木) 00:09:58.03
「ジャバ」の話なら、土方は余計なこと考えなくていいから
黙って仕様書をジャバに翻訳する作業に戻れとしか
854デフォルトの名無しさん:2013/10/10(木) 00:13:38.61
>>845
何をしたいのかしらんが
配列にぶち込むなりそれ用のクラス作るなりどうにでもなるだろ
ちょっとは自分で考えれ
855デフォルトの名無しさん:2013/10/10(木) 00:17:10.09
856デフォルトの名無しさん:2013/10/10(木) 00:41:33.48
>>843がfinalがconstだと思ってるだけのバカでFAじゃん
857デフォルトの名無しさん:2013/10/10(木) 07:28:43.28
n しか合ってないじゃん
858デフォルトの名無しさん:2013/10/10(木) 15:11:03.06
int n = 0;
if (ある条件) {
n = 1; // もしくは n++
} else if (別の条件) {
n = -1; // もしくは n--;
}

という具合に n の値が変わる場合、 n = 1; と n++; とどっちの処理のほうがいいのかな、可読性では前者だけど、
ヘボいマシン上で走らせるから処理性能が良いほうを採用したいんだけど
859デフォルトの名無しさん:2013/10/10(木) 15:17:17.79
初心者が性能を理由に基本から外れた思いつきを試したところで大抵はろくなことは
無いというのがプログラミングの言語や分野を問わず概ね成り立つ経験則だと思う。
860デフォルトの名無しさん:2013/10/10(木) 15:27:49.49
いちおう-1から5までのint値ロードのための専用命令がVMにある。
861デフォルトの名無しさん:2013/10/10(木) 16:41:09.79
>>858
性能を気にするのに、なぜ0を代入する?
862デフォルトの名無しさん:2013/10/10(木) 16:41:13.14
>>858
nを使う必要が分からん
複数の場合に分ける必要があるならインクリメントやデクリメントは使えないし、
二つの場合だけでいいならブール値で事足りる

つまり問題が問題として成立してない
863デフォルトの名無しさん:2013/10/10(木) 17:00:09.71
パフォーマンスチューニングを知らないのだろう
864デフォルトの名無しさん:2013/10/10(木) 17:20:37.20
>>674-676
お前らマジで死んで

rubyスレがひどいことになった
865デフォルトの名無しさん:2013/10/10(木) 17:24:51.88
わろーた
866デフォルトの名無しさん:2013/10/10(木) 18:03:06.44
676を書いた本人です御免なさい。

でも別に676は普通に走るんだけどなぁ。自分のOSXでは。
というわけでWindowsに関しては検証もサポートもできないので申し訳ありませんが
Rubyスレの皆様に丸投げです本当に御免なさい。
867デフォルトの名無しさん:2013/10/10(木) 18:15:40.17
rubyはWindowsでは素だとまともに動かせないという認識って業界にはないのだろうか
スレチでどうでもいいがそこだけ不思議だわ。言語の中でWindowsをないがしろにする言語ってありえんだろ
868デフォルトの名無しさん:2013/10/10(木) 18:35:48.38
いやrubyの部分は完璧に動くはずで、単純に手抜きで自分がwgetを使ったせいではまっていると思われます。
869デフォルトの名無しさん:2013/10/10(木) 18:57:37.81
Windowsでまともに動く言語って何があるんだ?
Basicか?
870デフォルトの名無しさん:2013/10/10(木) 19:13:29.79
Perlも動くぞ
871デフォルトの名無しさん:2013/10/10(木) 19:17:18.45
872デフォルトの名無しさん:2013/10/10(木) 19:24:38.48
VC++も
873デフォルトの名無しさん:2013/10/10(木) 20:04:13.32
へ、headersをちゃんと設定すればJavaでも動くもん
874デフォルトの名無しさん:2013/10/10(木) 22:14:49.62
javaの可読性が酷い。スパゲティをメンテしてるのよりも
875デフォルトの名無しさん:2013/10/10(木) 22:19:09.80
どんな言語でも無茶苦茶なコードは書けるでしょ
javaはドカタばっかりだから読みにくいだけで
876デフォルトの名無しさん:2013/10/10(木) 22:20:27.67
MS厨は土型
877デフォルトの名無しさん:2013/10/10(木) 22:20:56.29
可読性の高いJavaコードを見たことがない
878デフォルトの名無しさん:2013/10/10(木) 22:21:02.28
うんこうんこ
879デフォルトの名無しさん:2013/10/10(木) 22:35:54.38
どんなスパゲティでも処理を追えば不要なコードと必要なコードが分かるが、javaはスレ乱立で
どのスレがどこのコード走ってるか分からん。
コードで一番偉いのはVM様で他のあらゆる物を犠牲にしてるだけでマルチ環境って言い張るんだから
パスは五月蝿いし、手元にあるファイルしか読まねえよって態度
880デフォルトの名無しさん:2013/10/10(木) 22:48:59.71
スレ?
881デフォルトの名無しさん:2013/10/10(木) 22:52:55.02
一番驚いたのはコンテナにintは格納できないのでラッパクラス使ってください
882デフォルトの名無しさん:2013/10/10(木) 23:26:42.14
日本語でおk
883デフォルトの名無しさん:2013/10/10(木) 23:32:45.19
>>881
まじ?
884デフォルトの名無しさん:2013/10/10(木) 23:45:49.89
これマジ
885デフォルトの名無しさん:2013/10/10(木) 23:48:11.63
コンテナって何?Vectorクラスとか?
886デフォルトの名無しさん:2013/10/11(金) 00:00:22.09
あれとんでもなく非効率なんだよな
.NETも昔はJavaと同じやり方だったが、Javaのハリボテジェネリクスとは違って
値型にも対応した本当のジェネリクスが付いたことで桁違いに速くなった
887デフォルトの名無しさん:2013/10/11(金) 00:03:31.68
速さとかどうでもいいわ
Javaでゲームでも作ってんのか?
888デフォルトの名無しさん:2013/10/11(金) 00:13:59.68
ボタンを押しても反応が鈍くて
889デフォルトの名無しさん:2013/10/11(金) 01:07:33.09
>>887
javaでゲーム作ったらNIOでメモリ扱うからラッパーなんて使わんよ。GPUにメモリ渡せないだろ

>>881,886
Unified Typeが入ってプリミティブがオブジェクトとして扱えるようになるからどうでもいい
890デフォルトの名無しさん:2013/10/11(金) 01:13:24.65
出来損ないのラムダを導入するだけで5年かかったんだぞ
いつになるやらw
891デフォルトの名無しさん:2013/10/11(金) 01:18:14.70
変数渡したい え?クラスにしないといけないの?
関数渡したい え?クラスにしないといけないの?
これがJava
892デフォルトの名無しさん:2013/10/11(金) 01:20:27.72
馬鹿には無理
893デフォルトの名無しさん:2013/10/11(金) 01:24:34.74
JigsawもUnified TypeもC#/.NETが15年前に実現したものの丸コピーだよ
まあそれでもあと5年はかかるだろうけどな
894デフォルトの名無しさん:2013/10/11(金) 01:26:30.55
>>889
そんなハードべったりなものをそもそもJavaで作らないでしょ
895デフォルトの名無しさん:2013/10/11(金) 01:32:19.17
NIOって何?
896デフォルトの名無しさん:2013/10/11(金) 01:46:27.22
>>894
Minecraftがjavaだしjavafxがjoglとnative window protocolのプライベート実装だからハードベッタリだぞ。組み込みだとガチガチだし。
897デフォルトの名無しさん:2013/10/11(金) 01:50:24.37
Native Input Output
898デフォルトの名無しさん:2013/10/11(金) 02:26:21.82
うんこうんこ
899デフォルトの名無しさん:2013/10/11(金) 03:00:14.97
MSはwindows以外でもまともに動くものを潰そうとする。じゃないと独占できないじゃないか。
それがなかったら、Javaはもっと成功していただろう。
900デフォルトの名無しさん:2013/10/11(金) 04:07:01.82
VMなんてちゃっちいことやってないでJavaOSのパソコン作っちゃえばいいのよ
901デフォルトの名無しさん:2013/10/11(金) 04:19:20.37
>>881
必要なプリミティブ型の組み合わせ全てについて個別にコンテナクラス作れば全く無問題。

http://trove4j.sourceforge.net/javadocs/
902デフォルトの名無しさん:2013/10/11(金) 04:25:14.26
作るたってPureJavaで作っても遅いだけだし
Java以外でコンテナ実装しちゃうと他のOSに対応できないわけだし
903デフォルトの名無しさん:2013/10/11(金) 04:56:33.00
「俺たちのJavaは、まだまだこれからだ」未来の鍵はInternet of Thingsにあり?〜JavaOne 2013まとめレポート(前編) (1/3) - @IT
http://www.atmarkit.co.jp/ait/articles/1310/09/news127.html
904デフォルトの名無しさん:2013/10/11(金) 07:39:34.89
>>901
それで問題ないと思える君にはジェネリクスも継承もinterfaceも要らない
905デフォルトの名無しさん:2013/10/11(金) 07:44:02.62
>>904
ネタのつもりだったのに・・・この力業なクラス一覧とか。
http://trove4j.sourceforge.net/javadocs/allclasses-noframe.html

ただ実際問題としてTrove4Jは便利。
906デフォルトの名無しさん:2013/10/11(金) 09:05:43.19
結局Javaで速度が必要な状況が何一つ挙がっていない件
907デフォルトの名無しさん:2013/10/11(金) 09:12:12.10
>>904
そりゃ実装するときは非常に問題だけど
作ってくれたんだから有難く使えばいいじゃない

使う側で何か問題になる?
908デフォルトの名無しさん:2013/10/11(金) 09:16:36.82
JavaでいいのはJavaVMだけ
909デフォルトの名無しさん:2013/10/11(金) 09:34:50.29
Javaも.netもただその環境が強制されて(あらかじめインストールされて)るってことくらい
だからされてないと急激にダメになる
910デフォルトの名無しさん:2013/10/11(金) 09:44:12.09
C/C++みたいに自分でビルドしてライブラリかき集めて環境を作らなきゃプログラムが動かない状態よりはマシだな
911デフォルトの名無しさん:2013/10/11(金) 09:56:54.38
Javaのランタイムって、一度PCに入れてしまうと、アプデ通知がデフォルトでONになって、
忘れた頃に意図しないタイミングで通知が出てうざくなるし、最近ではChromeやOOoを
強制的に入れさせようとする罠を仕掛けたりするから、嫌いだわ

実行時に必要なVM等一式をすべて1つのexeに内包させることって出来るの?
できるなら、それで自作ツールを配布したいのだけど
912デフォルトの名無しさん:2013/10/11(金) 10:13:23.26
できない
913デフォルトの名無しさん:2013/10/11(金) 10:24:42.36
まじかよクソだな
914デフォルトの名無しさん:2013/10/11(金) 10:39:48.43
APIでこの辺りは押さえとけってやつある?
よく使われるとこでもいい
915デフォルトの名無しさん:2013/10/11(金) 11:23:16.45
ざっくりしすぎ
916デフォルトの名無しさん:2013/10/11(金) 11:26:09.69
917デフォルトの名無しさん:2013/10/11(金) 11:47:27.32
どのディレクトリにJDKとJREをインストールしてる?
918デフォルトの名無しさん:2013/10/11(金) 11:49:15.39
C:\Program Files (x86)\Java
JDKはEclipseの中
919デフォルトの名無しさん:2013/10/11(金) 14:58:13.07
Javaってこれだけ使われてる割にJava7やJava8の新機能・新クラスの解説って少ないよね
Java7のnioも解説少ないから未だにJava6以前の書き方が多いし
920デフォルトの名無しさん:2013/10/11(金) 15:01:46.70
nioって何
921デフォルトの名無しさん:2013/10/11(金) 15:05:57.05
にょ。
922デフォルトの名無しさん:2013/10/11(金) 15:08:53.94
Java使いの頭のなかが1.4で止まってるんじゃないのか
923デフォルトの名無しさん:2013/10/11(金) 15:11:28.79
せめて1.5
924デフォルトの名無しさん:2013/10/11(金) 15:11:57.29
Java入門書に無い事をおまえらはどうやって学習したのさ
925デフォルトの名無しさん:2013/10/11(金) 15:14:02.08
>>920

Java SE 7 I/O 関連 API & 開発者ガイド
http://docs.oracle.com/javase/jp/7/technotes/guides/io/index.html
926デフォルトの名無しさん:2013/10/11(金) 15:16:25.38
バージョンに関しては互換性でしょ
927デフォルトの名無しさん:2013/10/11(金) 16:29:49.70
>>924
プログラミング言語Java
928デフォルトの名無しさん:2013/10/11(金) 22:03:56.15
なんで今に至っても
ロクなEclipse用のGUIエディタがないんですか
929デフォルトの名無しさん:2013/10/11(金) 22:04:56.65
>>928
おまえがつくれよ
930デフォルトの名無しさん:2013/10/11(金) 22:06:14.78
そんなスキルないです
931デフォルトの名無しさん:2013/10/11(金) 22:06:48.10
理由は簡単、需要がないから
932デフォルトの名無しさん:2013/10/11(金) 22:09:13.70
>>930
以上
933デフォルトの名無しさん:2013/10/11(金) 22:28:45.25
>>928
Swingアプリだと、Look&Feelやシステムフォントの
最終決定権は実行時の顧客環境にあるので、
ポトペタGUIでGUIを設計したいという態度がそもそもなめている。
934デフォルトの名無しさん:2013/10/11(金) 22:33:48.49
GUI書く奴はそんなもんだろう、MSが悪いかもしれんが
935デフォルトの名無しさん:2013/10/11(金) 22:38:30.21
一方Java土方達はExcel方眼紙とパワポでHTMLページをデザイン()するのであった
936デフォルトの名無しさん:2013/10/11(金) 22:43:02.15
むしろJavaアプリの方が固定した環境で動かすもんだよね
JavaのGUIなんてほんとのほんとに業務にしか使われないんだから
937デフォルトの名無しさん:2013/10/11(金) 22:43:03.75
こわれちゃったのね、かわいそー
938デフォルトの名無しさん:2013/10/11(金) 22:51:47.37
早くHTML5かQtベースにならないかなあ
939デフォルトの名無しさん:2013/10/11(金) 23:08:24.38
うんこうんこ
940デフォルトの名無しさん:2013/10/12(土) 02:50:50.21
Javaでコンソールのハローワールド作ってJarにまとめたんだけど
javac HelloWorld.java
jar cvfe HelloWorld.jar HelloWorld.class HelloWorld.class
ここまではよかったんだけど

java -jar HelloWorld.jar
これが動かないんだけど
どうやったら動くの?
941デフォルトの名無しさん:2013/10/12(土) 03:49:12.04
manifestのMain-Class
942デフォルトの名無しさん:2013/10/12(土) 03:51:15.53
>>941
jar cvfe HelloWorld.jar HelloWorld.class HelloWorld.class
のeスイッチでそれちゃんと記入されてるし
943デフォルトの名無しさん:2013/10/12(土) 03:55:14.04
自己解決
jarの指定が間違ってた
× jar cvfe HelloWorld.jar HelloWorld.class HelloWorld.class
○ jar cvfe HelloWorld.jar HelloWorld HelloWorld.class
944デフォルトの名無しさん:2013/10/12(土) 05:52:02.77
おれの指摘した通りだったな
945デフォルトの名無しさん:2013/10/13(日) 08:11:42.73
Intent intent = new Intent(MainActivity.this, SubActivity.class);

↑こういう

クラス名.this
クラス名.class

てどういう意味ですか?
946デフォルトの名無しさん:2013/10/13(日) 08:18:40.93
>>945
そのクラスのstaticメンバを参照。
947デフォルトの名無しさん:2013/10/13(日) 18:59:13.28
Javaのダウンロードページ、落ちてません?自分だけ?
948826:2013/10/13(日) 19:03:01.66
>>947
そういうときはURLをmail欄にでも書いとけ気のきかんやっちゃ
949デフォルトの名無しさん:2013/10/13(日) 19:08:06.40
キーが文字列、値がlong値の単純な連想配列、リードオンリー、ただしサイズは
ギガバイト単位のデータをメモリ上で、かつなるべくメモリの使用量を節約して
運用したいのですが、良いライブラリは無いでしょうか。
今はLuceneを使っています。
950デフォルトの名無しさん:2013/10/13(日) 19:11:05.24
951デフォルトの名無しさん:2013/10/13(日) 19:22:50.80
>>950
俺だけかと思ってたらお前もか
IE10, Opera12, Chrome, Firefoxで全部駄目、ファイアウォール切っても駄目
ルータの設定見なおしたが問題見つからず、Fix it使ったけどそれも問題無しだった
952デフォルトの名無しさん:2013/10/13(日) 19:30:38.83
>>951
レスありがと。
サイトの問題かのう…( ;´Д`)
953デフォルトの名無しさん:2013/10/13(日) 19:48:01.32
>>952
参ったな、こっちにも同じ症状っぽい奴がいるが「お前だけ」って言われてるから環境依存かね
http://anago.2ch.net/test/read.cgi/software/1351670907/

JavaRaも試したがそこからも↓のエラーメッセージが出て繋がらなかったよ
--------------------
An error occurred while downloading file. Possible causes:
1) File doesn't exist
2) Remote server error
--------------------

分からんがプロバイダが遮断してるなんてことあるのかな
俺はBIGLOBEだけどお前も同じ?
954デフォルトの名無しさん:2013/10/13(日) 20:26:51.44
>>949
メモリを節約したいならハッシュ表よりバイナリサーチの方がいいんじゃない?
キーと値を別の配列に入れてArrays.binarySearchで簡単に実装できるかと
955デフォルトの名無しさん:2013/10/13(日) 20:41:37.71
落ちてるべ
956デフォルトの名無しさん:2013/10/13(日) 21:04:22.11
どうやらそうみたい
http://downforeveryoneorjustme.com/javadl.sun.com
少なくとも昨日から全然駄目だったがどうしちまったんだろ
957デフォルトの名無しさん:2013/10/13(日) 21:13:09.55
ん あぷで41きたの?
958デフォルトの名無しさん:2013/10/13(日) 21:18:05.54
奇数バージョンはバグフィクスなんだっけ?
959デフォルトの名無しさん:2013/10/14(月) 04:20:50.20
JavaってPHPより処理が遅いの?

↓のサイトで問題の解答でPHPがJavaの数倍早い

AIZU ONLINE JUDGE: Programming Challenge
http://judge.u-aizu.ac.jp/onlinejudge/
960デフォルトの名無しさん:2013/10/14(月) 09:06:34.91
起動時間のオーバーヘッドを測ってるだけだろこんなもん
計算そのものに最低数秒はかかる処理でないと
961デフォルトの名無しさん:2013/10/14(月) 14:45:53.23
importできないクラスをリフレクションで読み込みたい
けど、できてない

// 定義
class Abc {
  Def mDef; }

// importできないクラス
class Def {
  int getValue() { return 1; } }


// 実装メソッド
// パラメータでインスタンス済みのAbcを受け取る
// abc.mDefとはアクセスできない
public void callBack(Abc abc) {
  // abc.mDef.getValue(); // やりたい処理

  Field f = abc.getField("mDef");
  // これで、Fieldオブジェクトととしては、取得できる
  Class c1 = f.getClass(); // Fieldクラスクラス取得
  Class c2 = f.getDeclaredClass(); // Abcクラス
  // Class c3 = f.getInstance(); // Defクラス・・
962デフォルトの名無しさん:2013/10/14(月) 15:43:53.63
日本語でおか
963デフォルトの名無しさん:2013/10/14(月) 15:50:06.80
getType
964デフォルトの名無しさん:2013/10/14(月) 16:26:24.92
>>826
参照渡しがなければ作ればいいじゃない。
http://ideone.com/kstaTC
965デフォルトの名無しさん:2013/10/14(月) 17:02:41.47
>>964
参照渡しであるという部分の解説お願いします
966デフォルトの名無しさん:2013/10/14(月) 17:11:09.41
>>965
EmptyNodeクラスのaddメソッドのところ。
参照渡しとソックリっしょ。こけしとマトリョーシカくらい似てるっしょ。
967デフォルトの名無しさん:2013/10/14(月) 17:17:53.01
IntBuffer
968デフォルトの名無しさん:2013/10/14(月) 17:29:34.96
Javaで教えろください

https://github.com/mixi-inc/AndroidTraining/wiki/A.02.-Java-%E3%81%AE%E6%96%87%E6%B3%95%E3%81%AE%E5%9F%BA%E7%A4%8E

> ブロックの外側にある変数名と同じ名前の変数を、ブロックの内側に作ることが出来る。
> これにより、メンバ変数とメソッドやコンストラクタの引数の名前を一致させる記述ができる。
> 一方で、同じ名前を使うため、どちらの変数を参照しているか意識する必要がある。
> このため、コーディング規約の命名規則で、メンバ変数はそれとわかるような名前に強制させるものもある (Android Open Source Project など)。
>
> 一般的なスタイルは以下。
>
> public class Hoge {
> private int hoge;
> public Hoge(int hoge) {
>
> }
> }
>
> ハンガリアン記法を用いたスタイルは、例えば以下のようにする。
> public class Hoge {
> private int mHoge;
> public Hoge(int hoge) {
>
> }
> }
969デフォルトの名無しさん:2013/10/14(月) 17:30:06.75
(続き)

これって、上のHoge内でhogeを受け取る・または書き換えても、メンバ変数hogeは書き換わらない
下のHoge内でhogeを受け取る・書き換えてもメンバ変数mHogeは書き換わらない
ということです?上の書き方は紛らわしいから下の書き方にしましょうってこと?
970デフォルトの名無しさん:2013/10/14(月) 17:36:52.77
メンバにアクセスするときは常に this. をつければいいのよ
971デフォルトの名無しさん:2013/10/14(月) 17:37:59.48
説明のための例が悪いな
クラス名もメンバ変数名もHogeとか分かりにくさWAX
972デフォルトの名無しさん:2013/10/14(月) 17:38:34.26
thisを使うか使わないかってことじぇね
public Hoge(int hoge) {
 this.hoge = hoge;
}
public Hoge(int hoge) {
 mHoge = hoge;
}
973デフォルトの名無しさん:2013/10/14(月) 18:05:41.77
前にプリミティブの参照の話出てたけど、JavaFXのプロパティじゃダメなん?
974デフォルトの名無しさん:2013/10/14(月) 18:25:09.96
C++参照厨の正体は1年前からスレに張り付いてる気狂い荒らし
975デフォルトの名無しさん:2013/10/14(月) 19:08:17.78
プリミティブ型を使わなければいい
976デフォルトの名無しさん:2013/10/14(月) 19:44:32.96
スコープ内でインスタンスを一時的にスタックに生成する方法はないでしょうか?
メソッド内で計算に使いたいクラスをその都度newするのは無駄な気がします
こういう時にtransientを使えば良いんでしょうか?
ただ、メソッド枚に一時インスタンスを用意しないと同期が心配です
977デフォルトの名無しさん:2013/10/14(月) 19:47:49.14
jitの最適化でそれっぽいことしてなかったっけ
978デフォルトの名無しさん:2013/10/14(月) 20:05:13.51
自己解決しました
979デフォルトの名無しさん:2013/10/14(月) 21:00:02.19
>>976
ないね
最適化はあるらしいが俺は効果があった試しがなく、全く当てにしてない
980デフォルトの名無しさん:2013/10/14(月) 23:00:44.48
>>977 >>979
ありがとう、なかなか悩みますね
981デフォルトの名無しさん:2013/10/14(月) 23:14:42.44
馬鹿には無理
982デフォルトの名無しさん:2013/10/14(月) 23:16:10.17
オートボクシングのような機能は自作のクラスには付与できないんでしょうか?
Numberクラスを継承してもダメでした
983デフォルトの名無しさん:2013/10/14(月) 23:22:19.92
>>982
Scalaに行けば幸せになれる
984デフォルトの名無しさん:2013/10/14(月) 23:28:43.83
>>983
サンクス!
985デフォルトの名無しさん:2013/10/14(月) 23:34:36.79
>>984
ScalaやるならeclipseはゴミだからIntelliJ使えよ
986デフォルトの名無しさん:2013/10/14(月) 23:44:59.75
>>985
どういう問題があるの?
987デフォルトの名無しさん:2013/10/14(月) 23:52:17.60
>>986
単純にScalaプラグインの出来の違い
988デフォルトの名無しさん:2013/10/15(火) 04:57:42.19
アップデートくるー?
989デフォルトの名無しさん:2013/10/15(火) 06:06:56.99
990デフォルトの名無しさん:2013/10/15(火) 11:21:23.75
なんで名前空間ってドメイン指定するんですか?
しかも反対からcom.example.www2みたいにするのはなんでですか?
ドメイン持ってない人はどうしたらいいんですか?
というか更新切れのこと考えるとドメイン名はあまり良くないと思うのですがそのへんどうですか?
991デフォルトの名無しさん:2013/10/15(火) 11:33:13.75
質問に「というか」を使うな。整理してから聞け。
992デフォルトの名無しさん:2013/10/15(火) 11:38:17.07
質問に「そのへんどうですか?」を使うな。升ゴミのインタビューじゃあるまいし。
993デフォルトの名無しさん:2013/10/15(火) 11:39:20.57
書いてる内に整理できるんすよーその言い方はないっすよー
994デフォルトの名無しさん:2013/10/15(火) 11:43:04.11
「○ですか?×ですか?」を使う
 →1ビットの情報しか帰ってこない

「そのへんどうですか?」を使う
 →少なくとも回答者は、全文を理解して、自分なりの解釈を述べる必要がある


質問する側にとって、後者のほうが、お得感がある。
995デフォルトの名無しさん:2013/10/15(火) 11:48:57.06
っていうかドメイン名の逆にしないといけないと強制はされてないっすよ
個人で作るだけなら好きにすればいいんじゃないっすかね
まあ僕的にもドメイン名の逆は長くなってウザい?みたいな感じはあるっすけどまあ随分昔の話しだし仕方ないか〜的な?
とりあえずはそんなところですかね
あ、あと名前空間というよりパッケージ名の話っすよね
996デフォルトの名無しさん:2013/10/15(火) 12:00:42.00
ライブラリとかフレームワーク作ってないのであれば特にドメインじゃなくてもおーけー。
997デフォルトの名無しさん:2013/10/15(火) 12:17:45.72
>>990
IPアドレス使ってればいいよ。規模がちょっと大きくなってきたら、すぐにドメイン名のありがたさがわかるから。
LANで使ってると、ホスト名以下は省略できるのでありがたい。これって、逆からの方が、都合がいいんじゃないか。最近は省略できないアプリも多いみたいだけど。
998デフォルトの名無しさん:2013/10/15(火) 12:55:15.42
俺にはこのスレはまだ早すぎたようだ…。
何を言ってるのか全く理解出来ない…!!
999デフォルトの名無しさん:2013/10/15(火) 12:58:09.12
ggrks
1000デフォルトの名無しさん:2013/10/15(火) 13:28:57.66
1000gg
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。