- 1 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 11:06:04.02 ID:ijSgjgrG.net]
- Java初心者のためのスレッドです。
※前スレ Java入門・初心者質問スレ Part.6 mevius.2ch.net/test/read.cgi/tech/1513783473/
- 386 名前:345 mailto:sage [2018/04/20(金) 01:59:16.14 ID:KttnuZKi.net]
- すいませんでした
JDKでpackageを使う方法は、出来なくても仕事とかで問題無いでしょうか?
- 387 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 02:29:27.65 ID:8BwjvaFI.net]
- >>371
パッケージ使わないと名前が衝突することがあるので無理 仕事なら一人でやるわけでないし尚更 場合によっては知らない人が作ったパッケージをいじることも CLASSPATHが理解できないのか
- 388 名前:345 mailto:sage [2018/04/20(金) 02:37:41.72 ID:KttnuZKi.net]
- >>372
レスありがとうございます フォルダを階層構造にするのが煩雑で嫌なんです (一般に、)統合開発環境を用いたpackage化が出来る、というだけでは駄目ですか?
- 389 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 13:10:09.62 ID:8BwjvaFI.net]
- >>373
ファイルが1000個とか煩雑過ぎるだろ
- 390 名前:デフォルトの名無しさん mailto:age [2018/04/20(金) 15:16:16.19 ID:bJgJ2nSn.net]
- 多分話が噛み合ってない
- 391 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 15:59:16.02 ID:5NB8H1Vn.net]
- >>373
packageの構成も含めて設計だから、できるようにならないとね
- 392 名前:デフォルトの名無しさん mailto:age [2018/04/20(金) 16:30:35.14 ID:bJgJ2nSn.net]
- 手作りする意味は皆無だけどな
- 393 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 21:10:35.11 ID:qDS4Ifrc.net]
- Kotlin は同じディレクトリに全ソースぶち込んでパッケージ違ってても問題ないんだよね。
やっぱ不便だから改良したってことなんだろうな。
- 394 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 23:24:08.50 ID:K+iBTFnO.net]
- JavaアンチもそうだけどJavaスレでいつもkotlinガーkotlinガーって言ってる奴って何なんだろうね
- 395 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 23:57:34.11 ID:NIkAJy/D.net]
- 俺、出来るよ。
あピってるんだよw
- 396 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 00:31:53.95 ID:Oxipuy33.net]
- >>379
布教活動
- 397 名前:345 mailto:sage [2018/04/21(土) 00:58:04.69 ID:dCQEqsTo.net]
- >>376の方をはじめ、答えて頂いた方ありがとうございました
理解を深めたいと思います
- 398 名前:デフォルトの名無しさん [2018/04/21(土) 13:04:10.38 ID:O/LyWgef.net]
- スーパクラスのメソッドをオーバライドする時に
アクセス修飾子の公開範囲を狭めることができないのは何で?
- 399 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 13:24:22.24 ID:deWsZ6vs.net]
- スーパークラスにキャストしたらメソッド使えちゃうガバガバ仕様になる。
もしくはほぼ全てのメソッド呼び出しで継承先で公開範囲が狭められたインスタンス使ってる可能性があるので コンパイル時(Javaの場合はクラスロード時)でなくメソッド呼び出し実行時に毎回アクセス範囲チェックが必要になる。 当然実行速度は遅くなる。 どっちにしろアホすぎるので普通はやらない
- 400 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 16:40:35.81 ID:/j4q6H3B.net]
- >>383
2つは外から見た時に同じものであるべきだから 違うなら継承しないか別のメソッドであるべき
- 401 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 21:58:22.29 ID:7eG7nCds.net]
- >>383
is-a関係の基本 スーパークラスのメソッドをサブクラスに対しても同じように呼び出せなきゃポリモーフィズムできないじゃん 例えば、Objectクラスのサブクラスは必ずtoStringメソッドを持つはずなのに、いざ呼び出したらprivateになってて 呼び出せませんでしたってことが起こってしまう
- 402 名前:デフォルトの名無しさん [2018/04/24(火) 00:20:30.16 ID:3Pw6zIwf.net]
- https://i.imgur.com/sFfh3Sr.jpg
https://i.imgur.com/10sVFpD.jpg 解説見ても分からん、、、 なんでコンパイルエラーなの?
- 403 名前:デフォルトの名無しさん [2018/04/24(火) 00:57:13.36 ID:dNZ0kff2.net]
- getPrice()をオーバーライドするなら、ちゃんとthrowsも付けろよ、って書いてあるまんまじゃね?
- 404 名前:デフォルトの名無しさん [2018/04/24(火) 02:53:39.07 ID:swLaOBA7.net]
- >>387
Javaはチェック例外のハンドリングコードがないと構文違反という仕様だから。
- 405 名前:デフォルトの名無しさん mailto:sage [2018/04/24(火) 04:26:57.89 ID:PQebw9pG.net]
- 質問です
インターフェースはObjectクラスを継承しておらず、何らかのクラスに実装した時に Objectクラスを継承する、という理解で合ってるんですよね?
- 406 名前:デフォルトの名無しさん mailto:age [2018/04/24(火) 08:28:13.84 ID:zK8TVl/a.net]
- >>390
違います
- 407 名前:デフォルトの名無しさん [2018/04/24(火) 09:06:54.35 ID:hoPd7aBI.net]
- >>390
どんなクラス作っても必ずObjectは継承されている。interfaceは無関係。
- 408 名前:デフォルトの名無しさん mailto:sage [2018/04/24(火) 16:11:36.60 ID:wVocooKs.net]
- https://www.wareko.jp/blog/post-13612
非同期処理+Promiseで非同期処理が終わってから次の非同期処理が始まるけど、 それって同期処理と何が違うのですか?
- 409 名前:デフォルトの名無しさん mailto:sage [2018/04/24(火) 16:31:00.91 ID:1D4v+3Mx.net]
- 非同期は処理中でも、画面が固まらない
- 410 名前:デフォルトの名無しさん mailto:sage [2018/04/24(火) 17:00:45.22 ID:wVocooKs.net]
- 同期処理だとUIスレッドまで止めるのかな?
処理の終了を待ちたいけど出来るだけ軽くしたいのならPromiseを使うのが良さそうね、ありがとう。
- 411 名前:390 mailto:sage [2018/04/24(火) 17:28:01.29 ID:PQebw9pG.net]
- >>391
>>392 ありがとうございました
- 412 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 16:22:50.98 ID:fwgr11+u.net]
- https://pastebin.com/hm55QbiV
上のコードの4行目で、throws IOExceptionという記述が無いと コンパイルエラーになるのですが、 それはException系の例外が発生する可能性がある命令を呼ぶ場合、 例外処理をすることが課せられるからですか?
- 413 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 17:26:52.29 ID:2C7nhQLD.net]
- 例外処理しなかったら投げた例外はどこいくんだよ
宇宙の果てにでも飛んでくのか?
- 414 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 17:31:33.29 ID:Arb+HwkF.net]
- >>398
スタートアップが処理するのでは?
- 415 名前:デフォルトの名無しさん [2018/04/25(水) 17:34:11.55 ID:vN7xx/wG.net]
- 人気グループ「TOKIO」の山口達也メンバーが、自宅マンションの部屋で女子高校生に無理やりキスをするなどの行為をしたとして、警視庁は強制わいせつの疑いで書類送検しました。
全文は以下 https://www3.nhk.or.jp/news/html/20180425/k10011417181000.html
- 416 名前:デフォルトの名無しさん [2018/04/25(水) 18:42:45.48 ID:F5XB7b+1.net]
- >>398
そう。そしてブラックホールに飲み込まれる。
- 417 名前:デフォルトの名無しさん [2018/04/25(水) 18:54:49.29 ID:F5XB7b+1.net]
- >>397
そう。どこかで例外を処理する必要がある。 そのメソッドの中でやる必要がなく、呼び出した側に任せたい場合はメソッドにthrows付けてその例外を並べておく。
- 418 名前:397 mailto:sage [2018/04/25(水) 19:30:28.04 ID:fwgr11+u.net]
- >>398
>>402 分かりました ありがとうございました
- 419 名前:デフォルトの名無しさん [2018/04/25(水) 20:44:16.06 ID:3+niHUT+.net]
- 【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ
rosie.5ch.net/test/read.cgi/liveplus/1524621704/l50
- 420 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 23:17:47.60 ID:2C7nhQLD.net]
- 内容が陳腐で今まで読んでなかったスッキリ入門
- 421 名前:実践編を
この前ウンコしながら読んでたんだけど listのremoveって内部でobjectのequal読んでるって初めて知ったわ 仕事でremove使ってるときに何かうまく削除できねーなぁって言うのが 何回かあったような気がしたから納得したわ こんな本でも役に立つとは思わんかった [] - [ここ壊れてます]
- 422 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 01:41:03.96 ID:rfIza21B.net]
- APIリファレンスに書いてなかったか?
- 423 名前:デフォルトの名無しさん mailto:age [2018/04/26(木) 08:48:52.90 ID:2wH2d+Gx.net]
- JK的にそれしかありえんだろ
- 424 名前:デフォルトの名無しさん [2018/04/26(木) 09:39:16.37 ID:M6xSFYLV.net]
- JK的?
- 425 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 11:22:14.87 ID:ug01vewW.net]
- メンバーか
- 426 名前:デフォルトの名無しさん [2018/04/26(木) 11:46:33.29 ID:zm91irPY.net]
- 35歳の間違いだろ
- 427 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 14:20:36.08 ID:LZqqVlEY.net]
- 共同ツール 1
https://seleck.cc/685 https://trello.com/ ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど Trello Chrome拡張機能 elegant ttp://www.kikakulabo.com/service-eft/ trelloのオープンソースあり 共同ツール 2 https://www.google.com/intl/ja_jp/sheets/about/ 共同ツール 3 https://slack.com/intl/ja-jp https://www.dropbox.com/ja/ https://bitbucket.org/ https://ja.atlassian.com/software/sourcetree https://sketchapp.com/extensions/plugins/ ttp://photoshopvip.net/103903 ttps://goodpatch.com/blog/sketch-plugins/
- 428 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 01:23:44.80 ID:jNhgPBcU.net]
- >>410
ここで出すな
- 429 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 10:56:04.65 ID:3DjLi910.net]
- アレルギー発症するしな
- 430 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 23:14:20.81 ID:RZcX+AlMt]
- JAVAというよりプログラミングの設計の話なのかもしれないのですが,相談させてください.
例えばクラスで表(テーブル)を書くクラスを作るとして,使う側は表の定義情報をそのクラスに setterで渡すとします.
渡された定義情報はクラス内部の多くのメソッドで使われるのですが,この場合クラス内の 各メソッドは,引数に定義情報を取った方が良いのか,メソッド内部でgetterを使って取得 するのが良いのか迷っています.(各メソッドは使用側からは呼ばれない予定です.)
細かいかもしれませんが,皆さんならどうするかアドバイスいただけないでしょうか?
- 431 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 06:41:39.46 ID:vbqExxbx.net]
- int[] dt=new int[100];
これはやはり空白入れて int[] dt = new int[100]; と書くのが一般的なんですかね?
- 432 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 08:57:33.33 ID:jd++Ii8/.net]
- 好きにしたらええ
- 433 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 12:00:36.28 ID:yhgdtgpW.net]
- >>415
なにそのアホみたいな質問 どっちが一般的か、本当にわからなくて聞いてる? 前者の方が一般的もしくは半々ぐらいである可能性もあると思って聞いてんの?
- 434 名前:デフォルトの名無しさん [2018/05/03(木) 20:35:04.46 ID:BzzsX7PA.net]
- >>415
ワシは後者で書く それで話は終わり >>417 まあまあ こんなカス掲示板で マジにならんでもよろしい ワシも多少はそう思ってる
- 435 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 20:44:54.98 ID:x/CfAno2.net]
- コンマの後ろは空白入れる派?
(1, 2, 3)
- 436 名前:デフォルトの名無しさん [2018/05/04(金) 03:59:25.88 ID:id/9DuDj.net]
- マンコの後ろの穴にチンコ入れる派
- 437 名前:デフォルトの名無しさん [2018/05/04(金) 03:59:46.06 ID:id/9DuDj.net]
- マンコの後ろの穴にチンコ入れる派
- 438 名前:デフォルトの名無しさん [2018/05/04(金) 04:06:53.55 ID:WkIAkx0r.net]
- マンコの後ろの穴にチンコ入れる派
( * )←ω
- 439 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 06:18:21.42 ID:HEa1U9rI.net]
-
- 440 名前:数値リテラルとかビット〜みたいな細かい数字の話が基礎知識として出てきてとりあえず読み飛ばしてるんですが、やはり理解するのは必須なんでしょうか []
- [ここ壊れてます]
- 441 名前:デフォルトの名無しさん [2018/05/04(金) 21:01:19.41 ID:sij7cbOA.net]
- 必須だと思うよ。
そういう基礎的部分がわからないままではプログラム作れないだろう。
- 442 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 00:41:00.51 ID:4BKiiZ7N.net]
- やはりそうですか……
ありがとうございます
- 443 名前:デフォルトの名無しさん [2018/05/05(土) 02:57:52.54 ID:ia6t0Ogc.net]
- Javaの基礎的な部分で混乱しそうな所は文字列定数かな。特にCやC++に慣れた人がダブルクォーテーションで括られてるだけでそれがStringのインスタンスであることを理解せずに String s = new String(”abc”); みたいな無駄な書き方をしてしまったりする。
- 444 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 10:46:34.95 ID:7fXWffH9.net]
- >>426
そんなところで混乱する奴なんていないよ
- 445 名前:デフォルトの名無しさん [2018/05/05(土) 15:19:26.83 ID:ia6t0Ogc.net]
- そうかなあ?前はよく見たけどなあ。
- 446 名前:デフォルトの名無しさん [2018/05/05(土) 16:41:30.46 ID:FiSjDjb0.net]
- 未だにequalsと==のバグ見かける
C#といったりきたりしてるとうっかりやるから そろそろ言語仕様変えてほしい
- 447 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 17:06:56.84 ID:ZO4AhgIr.net]
- めっちゃ分かる
- 448 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 17:19:52.83 ID:HbTEHU9f.net]
- なまじ似てるのが悪い。
- 449 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 19:43:03.62 ID:6mpGGgHw.net]
- https://pastebin.com/Ls4mpSCv
本に載っていた上のコードの11行目で、byte型にキャストを行っているのですが、 その理由が分かりません リファレンスで調べると、FileOutputStreamのwrite()メソッドは、byte[]か intしか(第1)引数に取らないと書いてあります どなたかこのキャストの理由が分かる方がいましたら、教えてもらえませんで しょうか?
- 450 名前:デフォルトの名無しさん [2018/05/05(土) 19:55:03.40 ID:fekIGidl.net]
- >>432
理由はない、完全に無駄なキャストだしflushも呼ばなくていい
- 451 名前:デフォルトの名無しさん [2018/05/05(土) 20:08:07.19 ID:ia6t0Ogc.net]
- それだけでなくなんか無駄があるな。9〜13行目はこれでいいよなあ。
int data; while ((data = is.read()) != -1) os.write(data);
- 452 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 20:10:31.11 ID:ia6t0Ogc.net]
- あ、でも、何れにしてもバッファリングしてないから遅くなるかな。
BufferedInputStream() や BufferedOutputStream() を通すことをお勧めする。
- 453 名前:431 mailto:sage [2018/05/05(土) 22:47:05.28 ID:6mpGGgHw.net]
- 答えてくれた方、ありがとうございます
>>433 flush()を呼ばないと書き込まれずにデータが残る恐れがある、と本には 書いてあるんですが… >>434 >>435 分かりました
- 454 名前:デフォルトの名無しさん [2018/05/05(土) 22:50:45.34 ID:fekIGidl.net]
- >>436
どこの本じゃおらあああ!!! 説教してやるわ! >>434さんお願いします
- 455 名前:431 mailto:sage [2018/05/05(土) 23:14:03.22 ID:6mpGGgHw.net]
- >>437
有名な、「スッキリわかるJava入門 実践編」です 該当箇所(p252)を引用します 「…flush()を呼び出さないとファイルに正しくデータが書き込まれないことがある からです。 実は、write()メソッドはデータの書き込みを要求するだけの命令であり、 呼び出したらすぐにファイルにデータが書き込まれるとは限りません。 これはファイルの読み書きを高速化するためのバッファというしくみによって、 後でまとめて書き込み処理がされることがあるためです。…」
- 456 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 23:14:53.02 ID:ukbnMY+E.net]
- 普通はcloseの内部でflushが呼ばれるか同等の処理がされるから、
きちんとcloseするプログラムの場合は明示的なflushは不要。
- 457 名前:431 mailto:sage [2018/05/05(土) 23:44:43.67 ID:6mpGGgHw.net]
- >>439
そうなんですか? ありがとうございました
- 458 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 23:56:03.71 ID:95YSYNlN.net]
- flush
- 459 名前:していないと、電源断・強制終了時に、書き込まれない
何秒おきに、flushされるかなどの設定は、 Java と言うよりは、OS・外部装置の挙動 [] - [ここ壊れてます]
- 460 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 00:07:10.53 ID:GsL2vTC2.net]
- また35歳来てるのかよ
- 461 名前:デフォルトの名無しさん [2018/05/06(日) 00:14:34.04 ID:iIP+eAYQ.net]
- flush使うのはログとかで途中経過を確実に見たいときだな
- 462 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 04:49:26.60 ID:Bse1bLkg.net]
- flush() があった方が良いのは BufferedOutputStream や BufferedWriter のインスタンス経由で
出力していて尚且つ close() するよりも前に今まで出力した分がバッファから全て出力されて 欲しい場合だろう。そうでないのなら普通は無意味、というか、Bufferedでないクラスなら多分 何もしていない。(バッファがないなら flush() も何もないからね)。 >>432のプログラムの場合 FileOutputStream を作っているだけなのでバッファリングはされて おらず write() した直後に書かれている筈だ。更に終わったらすぐに close() するだけなので たとえバッファリングされていたとしても close() 前に flush() をする必要はない。 ただ問題は1バイトづつ読んだり書いたりするようになっていて非常に効率が悪いことだ。 入出力は両方ともこんな風にバッファリングされるようにした方が良い。 InputStream is = new BufferedInputStream(url.openStream()); OutputStream os = new BufferedOutputStream(new FileOutputStream("dj4.ico")); 更に読み書きする部分も以下のように自分でバッファ作ってまとめて読んでまとめて書くようにした方が良い。 (1000である必要はない。もっと大きくても良い)。 byte[] buf = new byte[1000]; int n; while ((n = is.read(buf)) > 0) os.write(buf, 0, n); こうした時の速度差は何Mバイトとか何Gバイトもの大量のデータを扱うと分かると思う。 (但しJavaコンパイラやJITの最適化、およびJavaVMやOSやハードウェアの進歩により 将来的にはどう書いても速く動くようになる可能性はある)。
- 463 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 08:27:00.47 ID:6iNSfcwx.net]
- FileOutputStreamはJava側ではバッファリングしていないが
OS側のファイルシステムがバッファリングしてる場合もあるので、 flush呼び出しで明示的にディスク書き出しを指示できるので完全に無意味って事はない。 ただしディスク書き出しを指示するっても指示された側が直ちに実行するとは限らない。 典型的にはflushの呼び出しが終わった時には書き出しが終わっている事が期待されるが 実際にはディスクアクセスの優先順位待ちとかでflushの呼び出しが終わった時点でも ディスクへの書き出しが終わってないとかそーゆーケースはある。
- 464 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 11:03:17.43 ID:6iNSfcwx.net]
- FileOutputStreamだとflush上書きしてねーから>>445はウソだったわ。
- 465 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 16:44:24.01 ID:Bse1bLkg.net]
- Java 側で FileOutputStream を使っていても OS 側で密かにバッファリングされていた場合は
Java の方からではどうすることもできないかもね。 ま、実際今時のOSだとディスクに対するライトキャッシュはデフォルトではONになっているのが 普通だろうからどんなプログラムでも(Javaであろうがなかろうが)OSのシステムコールの write() 直後にディスクに書かれていないことはあり得る。但しその場合は write() 直後に read() すると あたかもディスクから読んだかのように書いた内容が読める。しかしいきなり電源が落ちると ディスクに書いてない分の内容は失われる。 これを防止する方法は Linux ならシステムコールの sync() を呼ぶか sync コマンドを 実行れば良いのだが、しかし他のOSでは違うやり方になるだろう。統一された方法はない。 大雑把に UNIX 系 OS だと sync() でやると昔からの慣習で決まっているだけ。同じUNIX系 OSでも違う場合もあり得るし特殊なハードウェアの
- 466 名前:ディスクの場合は違うかも知れない。
などという細かい事まで考えないといけないぐらい高度な要求があることは滅多にないだろうが、 どうしてもそこまで考えて作らねばならない場合は本当に Java だけで実現できるのか、または Javaで作ることは適切かを事前によく検討した方が良いと思う。 [] - [ここ壊れてます]
- 467 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 23:24:51.40 ID:LrvTqzkb.net]
- Linux では、アイドル時間を利用して、5秒毎にデバイスに書き込んでいるけど、
SSD の寿命対策で、書き込み回数を減らしたい場合に、 15秒毎とかに設定することもある またデバイスも、バッファ・キャッシュを持つから、 バッファに書き込んだ時点で、OS に書き込み完了を知らせるかも知れない。 ここで電源断すると、デバイスに書き込まれない まあ、デバイスの設定は、よく知らないけど
- 468 名前:デフォルトの名無しさん mailto:sage [2018/05/07(月) 11:28:57.25 ID:sRlF3JnI.net]
- 作成するアプリの規模にもよるかもしれませんが、
非同期処理を安全に書くために調べたら数年前まではRxJavaが流行りそうって記事が多いけども、 今はAsyncTaskとかで十分なのかな?
- 469 名前:デフォルトの名無しさん [2018/05/10(木) 20:09:13.57 ID:2zvsPgeN.net]
- Javaについてこの理解であってますか?
1 ソースコードは互換性がありどのJDKでもコンパイルできる 2 バイトコードは互換性がありどのJVMでも実行できる 3 JREやJDKはJVMとクラスライブラリを含む
- 470 名前:デフォルトの名無しさん [2018/05/10(木) 20:17:53.23 ID:+tTPUtlU.net]
- >>450
教科書読めやハゲ
- 471 名前:デフォルトの名無しさん [2018/05/10(木) 21:02:09.83 ID:CK5Copcn.net]
- >>450
大雑把にはそれでいいのだが標準ではないライブラリを追加して作られたプログラムはそれの無い環境では当然コンパイルエラーになる。 コンパイル済みのクラスファイルやそれを入れたjarファイルの場合は足りないライブラリのせいで動かない。
- 472 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 08:49:44.16 ID:CudJysns.net]
- >>452
そんな当たり前のことはどうでもいいから、>>450が正しいか間違ってるか、大雑把にではなく正確に答えろや 断言できる知識がないからって「大雑把に」とか言って保険かけんな
- 473 名前:デフォルトの名無しさん mailto:age [2018/05/11(金) 15:40:03.41 ID:iIfcglOt.net]
- やかましいわ!
- 474 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 15:45:41.92 ID:Z82lyl/Y.net]
- 1. 完全な互換性はないので同じソースコードが全てのJDKで必ずコンパイルできるとは限らない。
2. 完全な互換性はないので同じバイトコードが全てのJVMで必ず実行できるとは限らない。
- 475 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 16:21:23.17 ID:UhEMsKag.net]
- >>453
当たり前ってわかってんなら>>450がどうかもわかるんじゃねーの?
- 476 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 20:24:20.11 ID:Cbg+X5+f.net]
- Classクラスが持つメソッドについて質問です。
メソッドを取得するgetDeclaredMethod()やコンストラクタを取得する getDeclaredConstructor()の引数に、Class<?>型が含まれているのですが、 何故この型なのでしょうか? intやdoubleなどの基本型を取る場合もあると思うのですが…。
- 477 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 20:59:28.55 ID:PddvfNsl.net]
- 基本型を指定したい場合、ラッパークラスの.TYPEを使うんだ
intの場合Integer.TYPEとかそういう感じで
- 478 名前:デフォルトの名無しさん [2018/05/11(金) 23:49:17.69 ID:BkhZdaXW.net]
- >>453
わかった。じゃあ厳密に答えよう。こうだ。 1 × 2 × 3 ○
- 479 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 00:44:10.56 ID:zFimtC1H.net]
- >>457です。
>>458 ありがとうございます。 本によると、int.classとか見慣れない表記をしているのですが、 これでもよいのでしょうか?
- 480 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 10:16:25.78 ID:UEBc/Ia0.net]
- >>460
>>458がぼけてただけだわ、int.classでよす https://ideone.com/Xc37lP
- 481 名前:456 mailto:sage [2018/05/12(土) 23:06:04.87 ID:zFimtC1H.net]
- >>461
ありがとうございます。 int.classやlong.classなど、
- 482 名前:基本型名.classは何型になるのですか? []
- [ここ壊れてます]
- 483 名前:デフォルトの名無しさん mailto:sage [2018/05/13(日) 20:17:09.11 ID:VaYQl2tk.net]
- レイアウトについて質問させてください。
(1) Container contain = getContentPane() ; contain.setLayout(new BoxLayout(contain, BoxLayout.Y_AXIS)); contain.add(new JButton("ボタン1")) ; contain.add(new JButton("ボタン2")) ; (2) Container contain = getContentPane() ; contain.setLayout(new BoxLayout(contain, BoxLayout.Y_AXIS)); contain.add(new JButton("ボタン1")) ; JPanel p = new JPanel() ; p.add(new JButton("ボタン2")) ; contain.add(p) ; (1)ではボタンが二つとも左端に表示されるのですが、(2)は両方とも真ん中になります。 なぜ両方とも左寄せにならないのか悩んでます。これってどうしてですか?
- 484 名前:デフォルトの名無しさん mailto:sage [2018/05/13(日) 20:36:34.00 ID:ZtGqqYsK.net]
- 見たことない書き方だな
普通にレイアウト書いたらあかんの? 静的でも動的でもいいけど
- 485 名前:デフォルトの名無しさん [2018/05/13(日) 21:31:40.32 ID:v233urWy.net]
- >>463
JButtonは、alignmentXのデフォがLEFT_ALIGNMENT JPanelは、alignmentXのデフォがCENTER_ALIGNMENT JPanelのalignmentXにLEFT_ALIGNMENTを設定したら JButtonが左に寄った BoxLayout内のコンポネントは独立して配置されるわけじゃないみたい わしにはよくわからん
- 486 名前:デフォルトの名無しさん mailto:sage [2018/05/13(日) 23:14:48.90 ID:VaYQl2tk.net]
- >>465
ありがとうございます。でもそれだとボタン1は左に寄るんですけど、ボタン2はまだ真ん中なんですよね。 でも p を boxlayout.X_ASIS にしたらボタン2も左に寄りました。 でもなぜそうなるのか、何が何だか分からない。 Container contain = getContentPane() ; contain.setLayout(new BoxLayout(contain, BoxLayout.Y_AXIS)); contain.add(new JButton("ボタン1")) ; JPanel p = new JPanel() ; p.setAlignmentX(Component.LEFT_ALIGNMENT); p.setLayout(new BoxLayout(p,BoxLayout.X_AXIS)); p.add(new JButton("ボタン2")) ; contain.add(p) ; あと p.setLayout(new BoxLayout(p,BoxLayout.Y_AXIS)); p.setLayout(new FlowLayout(FlowLayout.RIGHT)) ; p.setLayout(new FlowLayout(FlowLayout.CENTER)) ; p.setLayout(new FlowLayout(FlowLayout.LEFT)) ; とか、あとボタンをさらに加えたり、色々試してみるんですが、よく分からない。
|

|