Java入門・初心者質問スレ Part.9

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/09(土) 23:59:15.92ID:ACok0wnJ
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.8
http://mevius.5ch.net/test/read.cgi/tech/1528370228/
362デフォルトの名無しさん
垢版 |
2020/01/13(月) 18:16:10.00ID:PNIqRh18
ハンドルがないのに?
2020/01/13(月) 19:26:12.04ID:KUNSdwO3
噛み合わないコントみたいになってきたな
364デフォルトの名無しさん
垢版 |
2020/01/14(火) 17:31:35.16ID:65PQRowg
>>361
deleteをnewの前に書いとけばいいのでは?
2020/01/14(火) 22:11:59.04ID:n4wC7pc/
きったねーソースだなお前
2020/01/14(火) 23:39:48.82ID:s+tVLezo
汚い以前にだめだろ
2020/01/15(水) 17:40:41.68ID:8ggLLG+3
スッキリわかるJava入門実践編第2版を読んでいて疑問に思ったことがあります。

Comparableインターフェイス
Cloneableインターフェイス

という二つのインターフェイスがあります。

この二つのインターフェイスを実装するときの書き方ですが、
以下のように書くようです:

public class A implements Comparable<A> {

}

public class B implements Cloneable {

}

なぜ、Comparableには<A>という仮型引数を書くのに、Cloneableでは書かないのでしょうか?

Cloneableには実装すべきメソッドが1つもないから仮型引数を書く場所もないからでしょうか?
2020/01/15(水) 22:35:40.84ID:lrragII8
Comparabeが実装すべきメソッドcompareは引数として比較対象のオブジェクトをとる
その比較対象が自分自身と同じ型に限定されることを示すためにAが要る
Cloneableはメソッド自体がひとつもないマーカーインターフェースなので対照の例としては極端すぎる
Runnabeはrunメソッドがあるけど、runメソッドは型引数を必要としないので、Runnableも型引数を必要としない
369デフォルトの名無しさん
垢版 |
2020/01/25(土) 16:39:45.16ID:Z1ilCU6Y
bronze取ってから3週間更に勉強してsilver受かった!
落ちなくて良かった
2020/02/08(土) 14:15:53.01ID:eaM+nAXG
質問です
Javaにおけるダイナミックバインドとはどういうものでしょうか?
Googleで調べてもいまいちよく理解出来ません
どなたかお願いします
2020/02/08(土) 14:57:11.23ID:y1MoL2az
バインディングっていくつか意味あるけど、
ここでの意味は、「メソッド呼び出しと、メソッドの中身の実行文を結びつけること」

継承したクラスでオーバーライドされたメソッド呼び出しは、プログラム実行時に動的に解決される
static や private や final なメソッドの呼び出しは、コンパイル時に静的に解決される

ざっくり目に説明すると、
動的とは、メモリ上で作用する様子
メモリって読み書き早いよね、だから動的って言う言葉使ってるんだと思う

静的とは、ハードディスク上のプログラムファイルの時点ですでに完成されてる様子
HDDって読み書き遅いよね、実行ファイルの時点ですでにメソッドコールとメソッドボディの結びつきはすでに解決してる
実行しなくても、静的に class ファイルを解析することによって、メソッドコールからメソッドボディが辿れる

動的に解決すると、実行時に余計な動作が入るので遅くなる
静的に解決すると、実行時には指定されたアドレスへ移るだけなので動作は早い

どれくらい違うかは、オーバーライドされたメソッドと、オーバーライドされてないメソッドの呼び出しを大量にやってみて比較とかかな?
ノイズなくしてメソッドコールの時間のみを計測するのはなかなか難しそう

聞いたことあるのは、インターフェース使いまくってプログラム組むとメソッドコールの解決で余計に時間かかるよってこと

どれくらい時間が変わってくるのかは俺は知らない
てか、大して変わらんのじゃないかなと勝手に思ってるけど、調べて分かったら教えて
372デフォルトの名無しさん
垢版 |
2020/02/08(土) 15:16:29.63ID:isDMmOQk
Wikipediaの例が分かりやすいと思うけど
https://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4%E3%83%8A%E3%83%9F%E3%83%83%E3%82%AF%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0

よくある
鳴く()メソッド持つ動物クラスを継承した犬クラスと猫クラスで鳴くを実行するとかそういうの
373370
垢版 |
2020/02/08(土) 15:50:57.39ID:eaM+nAXG
>>371
>>372
回答ありがとうございます


オーバーライドされたメソッドの動作内容は、入っている型(左辺の型)ではなく、
実体の型(右辺の型)で決まるという理解でいいですか?
2020/02/08(土) 16:27:08.89ID:dN+51w1C
>>373
横からですけど、そうです。
Javaでは変数の型ではなくて、変数に格納されている実際のオブジェクトの型に基づいて呼び出すメソッドが決定されます。
このようなプログラミング言語の機能をダイナミックバインディング(動的束縛)と呼びます。

一般的にこの手の文脈での「動的に」と言うのは「(プログラムの)実行時に」と捉えれば良いです。
「静的に」と言うのは実行前、プログラムのコンパイル時(や言語によってはリンク時)に解決されるものを指します。
静的に解決されたものは実行時には(一般的には)変わりません。
375370
垢版 |
2020/02/08(土) 18:53:27.58ID:eaM+nAXG
>>374
ありがとうございます
2020/02/11(火) 17:59:29.94ID:L4MHQKAq
>>369
おめでとう!
2020/02/11(火) 18:00:53.76ID:L4MHQKAq
>>344
ブロンズ合格できました。
有難うございます。
次はシルバー頑張ります!
2020/02/18(火) 05:50:07.21ID:ExMaVF7M
合格することに何の意味も価値もない資格に1万3千円も使ったのか
379デフォルトの名無しさん
垢版 |
2020/02/18(火) 08:26:43.80ID:SKupKNV8
応用技術者試験も価値はないですか?
2020/02/18(火) 08:58:58.42ID:ExMaVF7M
ない
2020/02/18(火) 09:21:33.81ID:B1+kI16C
ここに書き込むことにも価値はないし
生きてることにも価値はないし
価値がないと思うことにも価値はない
一切は空である
2020/02/18(火) 09:24:01.78ID:B1+kI16C
楽しかったらええんや
ワイはブロンズ、シルバー、ゴールドとったで
2020/02/18(火) 09:35:55.38ID:/Dg55StS
>>378はそれだけ退屈な人生で楽しみも見出せないらしいな
2020/02/18(火) 09:50:55.12ID:VGTBQgWU
>>379
現実問題として士業に関わる資格以外はほぼ価値がない。
詐称し放題で偽物もいるし、資格がある=実務経験、じゃないから
知っているけど使えない人も多く、基本的に信用されない。
385デフォルトの名無しさん
垢版 |
2020/02/18(火) 10:41:08.21ID:SKupKNV8
それがないと駄目な資格以外の検定みたいなのは意味がないということですね。
2020/02/18(火) 10:56:42.41ID:B1+kI16C
資格以外の全部が同じなら資格持ってる人の方がいいじゃん
2020/02/18(火) 10:58:00.44ID:B1+kI16C
そういう積み重ねが自分というブランドを構築し価値をもたらすんじゃないかな、僕は今いい事を言っている
2020/02/18(火) 11:11:26.26ID:ExMaVF7M
残念だけど価値なんか0.0001_もないよ
試験代の無駄だよ
389デフォルトの名無しさん
垢版 |
2020/02/18(火) 11:32:14.26ID:SKupKNV8
数検や英検や漢検なんかと同じで、要するに自己満足ということですね。
2020/02/18(火) 11:51:48.77ID:Lo3YXuIb
無いよりマシ程度
あとはやる気や積極性を少し評価できるぐらい
2020/02/18(火) 12:27:15.01ID:lGGfc/x5
所属する会社の評価制度に組み込まれていたり勘案されるなら実益あるよ
そういう面ではJava試験はやや弱い
2020/02/18(火) 12:58:22.57ID:B1+kI16C
>>388
君資格持ってるの?おーん?
2020/02/18(火) 12:59:11.00ID:B1+kI16C
このようにマウンティングできます
2020/02/18(火) 13:03:13.29ID:ExMaVF7M
資格持ってて自己満以外でなんか良いことあったか?
それが答えだ
2020/02/18(火) 14:38:23.71ID:Lo3YXuIb
逆に持ってて面倒なことの方が多かった
2020/02/18(火) 15:40:13.74ID:NlwwviGD
>>381
諸行無常
2020/02/18(火) 23:45:14.80ID:dHl0LgX1
試験は知識量を測るものでしかない
398デフォルトの名無しさん
垢版 |
2020/02/19(水) 20:30:50.39ID:/R79ylGQ
>>381
色即是空
空即是色
399デフォルトの名無しさん
垢版 |
2020/02/19(水) 20:38:41.23ID:/R79ylGQ
資格と言えば、昔々何の資格も持たずに学校でC言語教えてたことあるなあ。
あと、特に資格を持っていない一太郎を教える先生のアシスタントもしたことあるなあ。
2020/02/20(木) 04:27:06.54ID:BthbIBPP
会社によってはブロンズでも資格手当あるから受験料のもとは取れるしな
2020/02/20(木) 19:47:31.18ID:I6jNvXVJ
資格手当あるところはそのぶん基本給が低くされてる
元を取るんじゃなくて元々マイナスだったってだけだ
402デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:22:15.36ID:F4jYa5rU
基本給高いところは資格ないと入れないんじゃ・・・
403デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:22:35.58ID:F4jYa5rU
>>401
資格を取るんだ!君には資格が足りない
404デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:23:17.15ID:F4jYa5rU
>>394
君もだ!君には資格が欠けてる
405デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:24:17.43ID:F4jYa5rU
資格試験受けて落ちたら立ち直れないと思ってる臆病者だから
資格取れなくてそれを認めたくないから資格には意味がないと
言ってるんだろ、素直に資格取ろうよ
406デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:25:26.67ID:F4jYa5rU
資格を持ってる人は知識があるし勇気がある
資格を取って勇者になろう
407デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:28:56.07ID:ZTkfjI9g
応用技術者試験に一発で合格したんだけど、アルゴリズム以外は完全に暗記科目だよね。

アルゴリズムは簡単だからパーフェクトだった。

暗記試験ではなく、ちゃんと能力を評価する検定試験ってない?

アルゴリズム検定とかあればいいのに。
408デフォルトの名無しさん
垢版 |
2020/02/20(木) 21:51:08.09ID:F4jYa5rU
AtCoderとか
409デフォルトの名無しさん
垢版 |
2020/02/20(木) 22:19:10.40ID:ZTkfjI9g
>>408
その試験はとると有利ですか?
410デフォルトの名無しさん
垢版 |
2020/02/20(木) 22:38:05.53ID:F4jYa5rU
>>409
レッドコーダーになったら世界中から称賛を浴びます
2020/02/20(木) 23:22:28.44ID:rlR2t2y0
資格を取る人は、年に、1%ぐらい。
10年で、1割

社員の9割は、出世しない・するつもりもない人。
最新・流行を勉強しないから、絶対に売上が増えることがない人。
だから、これらの人がリストラ対象になる

長年、同じ事だけをやっていると、新しいものが出てくるから、普通に売上が減っていく。
売上を維持するには、最新・流行を勉強しないと無理

だから、勉強しない人が嫌われる。
売上が減るから
412デフォルトの名無しさん
垢版 |
2020/02/20(木) 23:44:52.39ID:1hpLyJGI
温故知新
2020/02/21(金) 03:42:00.05ID:dNZhWsp7
ここに書き込んでいる奴で正社員が何人いるかだよな・・・
2020/02/23(日) 18:38:24.94ID:tm9RCkjw
デザインパターンの勉強始めたんだけどどれも同じに見えちゃう…
2020/02/23(日) 20:16:03.80ID:tm9RCkjw
effectivejava買おう思うんだけど第2版でもおk?
2020/02/24(月) 04:02:16.04ID:1vyCYlnD
Java13 で multi line text きとるやんけ!
これずっと欲しかったやつ!
でも、内部に変数埋め込めない片手落ち機能…
なんでやねん
2020/02/24(月) 07:41:37.81ID:NYt9ZqzS
multi-line string literalとstring interpolationは互いに独立した要素だよ
不可分なペアじゃない
恨むとすれば今回の方向性じゃなくてJavaの進化が遅いこと
multi-line自体も未だにプレビューだから正式リリースはJava15だろう
2020/02/25(火) 02:37:15.82ID:zG0qK6rK
Eclipse よりNetBeansおすすめ
2020/02/25(火) 11:41:04.81ID:zjCVDX3d
こういう需要のない物を初心者に勧めて不幸にするカスっていなくならんよなぁ
420デフォルトの名無しさん
垢版 |
2020/02/25(火) 11:44:21.81ID:Iisd4Jp9
Eclipseを説明を読まずに何となく不満もなく使っています。

IntelliJ?とかいうIDEはおすすめでしょうか?

Robert Sedgewickさんの『Algorithms 4th Edition』のサイトではEclipseではなくIntelliJ?を勧めています。
2020/02/25(火) 13:10:45.34ID:AL6VBnc2
>>420
インテリjに慣れたらeclipseにはもう戻れない
2020/02/25(火) 13:24:21.19ID:Iisd4Jp9
>>420

ありがとうございます。
2020/02/25(火) 14:05:12.46ID:vEFgaeLH
ステマ
2020/02/25(火) 14:22:56.54ID:WVhKb5qT
IntelliJ はみんな良いって言うよね!
IntelliJ サイコーーーーー
2020/02/25(火) 14:50:42.36ID:zjCVDX3d
開発現場でインテリJとかっていうIDE使ってるところはいまだかつて一度も見たことない
使われてないのにここの奴みたいに過剰に勧めてきたり自演で最高とかひたすら言ってるんだよね
つまりそういうことなんだよ
2020/02/25(火) 15:14:45.89ID:B0KlsSQW
結局は使った本人が決める事だから無駄
2020/02/25(火) 17:26:24.32ID:4V/gPTiX
IntelliJとVSCodeの2択
2020/02/25(火) 18:46:45.44ID:WVhKb5qT
https://mem-archive.com/2018/05/12/post-494/

これって他の言語でもこんな感じの実装なん?
なんか思ったのと違う値返されたって人たくさん出てきそうじゃない?
2020/02/25(火) 18:58:36.32ID:AL6VBnc2
>>425
お前がAndroid案件付いたことないだけだろ
430デフォルトの名無しさん
垢版 |
2020/02/25(火) 19:18:55.20ID:fUZzeBhm
IntelliJ は Kotlin で使うことがあるな。趣味で俺が勝手に使ってるだけだが。

仕事では俺は Java やっておらずCやPerlをviでやるぐらいでたまーにEclipse使うが本当にたまにしか使わん。
まあ、動作させるサーバで直接Eclipse動かして画面だけ飛ばせばコンパイルしてデバッグも楽なんだろうがクライアントからリモートデバッグさせるのはできないし(俺がやり方知らんだけのような気もするが)面倒そうなのでほとんど使ってない。
431デフォルトの名無しさん
垢版 |
2020/02/25(火) 19:20:33.27ID:fUZzeBhm
あ、でも、WSL使えばもうちょっと楽になるのかな?
2020/02/25(火) 19:43:57.16ID:zjCVDX3d
インテリアJ
Netビーズ

この二つは使ってる現場全くないから触るだけ時間の無駄だからやめとけ
勧めてる奴はただのステマ馬鹿だから
433デフォルトの名無しさん
垢版 |
2020/02/25(火) 20:12:02.68ID:fUZzeBhm
>>432
君はどういう現場を何ヵ所ぐらい巡った事あるの?
2020/02/25(火) 20:19:28.15ID:zjCVDX3d
基幹、金融(銀行、為替)、携帯ゲーム、スマホアプリ
10年以上
もちろん全部エクリプソだ
おまえらゴミが趣味でやるプリョグラミングとは全然ちがうよ
2020/02/25(火) 20:45:05.80ID:WVhKb5qT
>>434
弟子にしてください!!
2020/02/26(水) 00:37:03.85ID:whUbLD/1
イヤです!!
437デフォルトの名無しさん
垢版 |
2020/02/26(水) 09:26:42.27ID:b8tbrO4B
かといって一人の人間が体験できる事には限りがある。
全ての現場を同時には体験できないからアンケートを取ったりしない限りは全体の現状はわからない。
自分の体験からだけではなくそういったアンケートの結果もないと信憑性は低いまま「へー。君はそういう体験をしたんだ」で終わる話になる。
2020/02/26(水) 09:55:42.14ID:9WVZFPHA
うちの親戚みんなヘビースモーカーだったけど長生きしたぞ!だからタバコが身体に悪いなんて嘘!みたいな話だな
その経歴ならスマホアプリが盛った部分でないとしても案件少ないだろうし
2020/02/26(水) 11:20:55.80ID:QGbVs5AT
とりあえず上のレス2つはもう少しまともな文章書けるようになったほうがいい
誇張でもなんでもなしに何言ってるか全然わからんから
2020/02/26(水) 12:49:51.59ID:y3dFX5OK
いやわかるやろ
441デフォルトの名無しさん
垢版 |
2020/02/26(水) 14:19:12.99ID:q+vU4LVz
そういや俺の曾祖父は96で死ぬまで煙草吸ってたらしい。
442デフォルトの名無しさん
垢版 |
2020/02/26(水) 14:24:15.93ID:q+vU4LVz
>>439
君の読解力が足りないだけ。

自分がこう感じた、自分がこう体験した、といった自分に起きたことを絶対視して世界中どこでも誰でもそうであると結論するのは大変間抜けな上に危険だ。
2020/02/26(水) 14:48:18.66ID:QGbVs5AT
破綻した文章書いてる奴が相手に読解力ないとか言っても1_も説得力ないし
ただの馬鹿の逃げ口上
ビジネスではお前みたいな意味不明な屁理屈と破綻した文章は通用しない
相手が客ならただ無言で使えない奴認定されて干されるだけ
一つ勉強になったなアホ
2020/02/26(水) 15:08:42.76ID:EqJA10ZA
どこが意味わからなくてどう破綻してるのか言ってみれば?
言えなければそれこそ説得力無いし
2020/02/26(水) 16:02:50.53ID:rV5Bbt6b
どうでもいいわ
なんでお前らすぐ煽りあいはじめるんだよ、不毛すぎるだろ
2020/02/26(水) 16:02:52.14ID:QGbVs5AT
>どこが意味わからなくてどう破綻してるのか言ってみれば

大人は質問には答えてくれない
ワイは君たちの添削先生じゃないんでな
2020/02/26(水) 16:23:06.55ID:EqJA10ZA
という逃げ口上ってネタかな
448デフォルトの名無しさん
垢版 |
2020/02/27(木) 20:14:42.89ID:444if5jT
逃げたな。
2020/03/04(水) 00:23:27.00ID:dApziw6x
質問です。
コンストラクタのアクセス修飾子は、メソッドのアクセス修飾子と同じですか?
2020/03/04(水) 01:05:56.01ID:qy4ofkmR
ググれカス
2020/03/04(水) 04:24:48.10ID:kR2tqv2n
同じです!
452449
垢版 |
2020/03/04(水) 16:25:32.33ID:dApziw6x
>>451
ありがとうございます。

さらにもう1つお聞きしたいです。
これは>>451さん宛てに限らずなんですが、
コンストラクタにおけるアクセス修飾子の存在意義って何ですか?
自動的に動くのに、範囲を狭めたり広げたりするのってどういう場合でしょうか?
2020/03/04(水) 16:40:51.32ID:qy4ofkmR
グ  グ  れ  カ  ス
2020/03/04(水) 17:24:03.70ID:pnfn8g6T
>>452
public class Hoge {
 private Hoge() {
 }
}
のようなクラスの動作と使い方を考えてみたら良いです。
あと、コンストラクタは自動的に動くわけではないですよ。
2020/03/04(水) 18:59:42.75ID:o0lNfGba
メソッドはスコープ外だと呼び出せない
コンストラクタはスコープ外だとnewできない
2020/03/04(水) 23:02:27.56ID:kR2tqv2n
Singleton とかは、コンストラクタを private にします!!
なぜなら、インスタンスを1つだけにしたいから、クラス外で new されたら困っちゃうからです!!
457449
垢版 |
2020/03/05(木) 19:10:13.62ID:kNuHUHXQ
>>454-456
ありがとうございました。
2020/03/07(土) 06:58:34.72ID:9Yq1EkX9
質問です。
機能ごとにクラスを分けているのですが、
普通にクラスをインスタンス化して作る場合と、
static なメソッドを作る場合があると思います。
これらはどのように使い分けるべきでしょうか?

staticが静的なフィールドにアクセスするのは分かりますが、
ただそれだけの違いなんですかね
newせずに使えるので、メモリ的に極力staticで作るべきですか?

staticなメソッド内でもnewできるし、特に困らないのですが
sdkではよく使い分けられているので、違いが気になります。
2020/03/07(土) 08:55:03.14ID:Xru7mKy/
ググれカス
2020/03/07(土) 09:10:36.47ID:+x6uH2X6
>>458
static にするのは、クラスの状態に依存しないユーティリティなメソッドだけ
クラスの状態に依存する場合は全部インスタンスメソッド
メソッド内でも new できるし特に困らないと言うのは、ちょっと何言ってるかわかんないっす
状態に依存しないメソッドで、そんなことする意味がない
461デフォルトの名無しさん
垢版 |
2020/03/07(土) 10:53:38.80ID:NE7uf/mQ
>>458
状態が必要かどうかで良いと思う
■ このスレッドは過去ログ倉庫に格納されています