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

■ このスレッドは過去ログ倉庫に格納されています
2020/05/06(水) 22:12:08.99ID:q8N1X/Ij0
プログラミング言語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() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド182★★
https://mevius.5ch.net/test/read.cgi/tech/1542595026/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/10/18(日) 17:00:24.67ID:0AL6/NwJ0
つぶやきはtwitterにでも書いておけ
498デフォルトの名無しさん (ワッチョイ fb01-ntOo)
垢版 |
2020/10/18(日) 21:03:23.09ID:oU6L/1KQ0
世界最強のユーチューバー、2019年の年収は約76億円 ゲーム実況でブレイク
https://www.wwdjapan.com/articles/994609
7歳児が年俸25億円!「ユーチューバー」収益の仕組みを全解剖
https://diamond.jp/articles/-/194240
月収8億超えのYouTuberは6歳の女の子!世界各国で最も人気のYouTuberをマップにしてみた
https://news.yahoo.co.jp/articles/ec9f6e431ac8bdcfdfe02e21220888e59583f475
個人としては史上初のチャンネル登録者数1億人超えYouTuberが誕生
https://gigazine.net/news/20190827-pewdiepie-youtube-100-million-subscribers/
20歳のYouTubeスターが購入、約8億円の豪邸を拝見
https://www.businessinsider.jp/post-107308
『2ヵ月で20億円』集めろ!有名ユーチューバーたちの「地球規模」の活動に寄付殺到
https://www.excite.co.jp/news/article/Frontrow_79b68120b00f0fdcefb17b65e2a6b0d70dceee3d/
24歳ユーチューバーはどうして大学卒業後に就職せず、フルタイムのインフルエンサーになったのか
https://www.businessinsider.jp/post-203042#cxrecs_s
食事をするだけで30万? 料理を作るだけで10万? アイデアで何気ない日常を副業にするユーチューバーの世界
https://www.sanspo.com/geino/news/20200131/prl20013110020028-n1.html
世界のYoutuber年収ランキング10選!超弩級に稼ぎまくり!
https://cambridge-india.org/sekai-youtuber-nensyu/
2020/10/29(木) 13:28:54.77ID:5PDD4zWJ0
JavaDoc に tl;dr 項目入れてくれ

正確で詳細な仕様が必要な場面より、
パット見で理解できる要約文や具体例が必要な場面のほうが多い
2020/10/29(木) 15:51:38.63ID:2rpDqgej0
それはいいね
最近はIDEでJavadocポップアップするのが当たり前になってるから
要約ブロックがあればJavadocポップアップにも適していると思う
2020/10/30(金) 08:40:24.61ID:5ayF+PMf0
Reflection とか Annotation とか使いだして整理しようとすると、
Generics で型情報が消去されるのがほんとうんkですね…
将来的にどうにかできんのですかね…
互換性っていうけど、どの部分の互換性が崩れるんだろ

List<String> list;

みたいな宣言から、String は取り出せるんだけど

List<T>

みたいな宣言から、実行時にはじめて決定する型情報を引き出そうとすると無理になる
引数に Class<?> 渡せば良いんだけど、もにょる
stream の toArray とかも、配列 new せんとあかんのかいってなるよね…
2020/10/30(金) 09:01:16.26ID:5ayF+PMf0
でも原理的に取り出すのが無理ってわけではないよね
class ファイルにも型情報ないし、その総称型のコードの実行部分でも、そのオブジェクトの指すポインタからは(List の中身がつまってなければ)型はわからないけど
コンストラクタなり、メソッドの呼び出し側は実際の型を知ってるよね多分

callGenericMethod(List<T> arg);

ってメソッドがあったとして、呼び出し側クラスのフィールドに、

List<String> list

って宣言があればスタックを戻っていけば型情報とれるけど、例えば、

void hoge() {
callGenericMethod(new ArrayList<String>());
}

みたいなメソッド内の呼び出しでも、Stack 探せば型情報ってあるよね
Reflection でローカル変数の情報引き出せないとすると、デバッガ関連のAPI で、コード領域のメモリ検索してみたいなことしないといかんのか
JVM 側にそういう機能があれば可能になるんじゃなかろうか
デバッガ全部実装ってなると処理重いだろうけど、こういう局所的な機能だとどうなんだろ
無理なんかな
2020/10/30(金) 09:52:16.84ID:5giIBuWJM
genericsがなかったとき、Listの要素はすべてObjectだった。その頃との互換性。
今でもListをコンパイルするとObjectのリストになる。

実行時の型情報はgetClassで取得できると思うけど
2020/10/30(金) 09:59:28.66ID:EBRgydAT0
型消去の利点はコンパイル結果のclassファイルの互換性を保ち仕様変更を抑えられるところ
Java5で書いたコードを1.4以前の環境でも動かせたりする
classを相手にしないといけないツールやミドルウェアへのインパクトが小さい
型消去で妥協したからこそJava5でgenericsを導入できたしダメならJavaはより早く衰退していた可能性もある
2020/10/30(金) 11:10:49.23ID:hrZSGYbOM
それはよくある迷信というか当時のSunの詭弁
そもそもジェネリクスを使うにはJava1.5以降のランタイムが必要なんで、Javaを利用する立場ではバイトコードの互換性には実質的に何の意味もないのよ
ジェネリクスが残念仕様になったのはひとえに当時のSunに金がくてJVMに手を出せなかったからで、事実Oracleになって金に余裕ができてからはJVMは拡張されまくってる
2020/10/30(金) 11:19:13.86ID:6jWcOHsG0
1.4以前のgenerics使ってない過去のコード資産を
1.5以降のgenerics環境でも使えるようにするのか、それとも綺麗サッパリ捨てるのかって話であって
1.4以前でもgenerics使ってるコードを動かせるようにするって話じゃないんよ……
2020/10/30(金) 11:21:27.39ID:hrZSGYbOM
そっちの互換性は.NETでは普通に実現できてたから、それが理由ならSunに技術力がないということになるよ
508デフォルトの名無しさん (ワッチョイ fb01-fr3W)
垢版 |
2020/10/30(金) 11:28:02.04ID:9RgBA+ge0
ドトネトーは型消去じゃなくない?
509デフォルトの名無しさん (ワッチョイ fb01-fr3W)
垢版 |
2020/10/30(金) 11:32:55.20ID:9RgBA+ge0
ドトネトは後発だからなーJavaよりも先に作られてて
Generics導入前との互換性が完全に保証されてるなら
MSはSunよりも技術力があると認めてやってもいいけどちがうじゃんか
510デフォルトの名無しさん (ワッチョイ fb01-fr3W)
垢版 |
2020/10/30(金) 11:43:29.96ID:9RgBA+ge0
ドトネトは互換性を切り捨てて言語の進化を優先した
言語が作られたばかりで利用者が少なく既存プログラムが少なかったからできたことだよ

.NET Framework 4.5と下位バージョンの互換性がカオス
https://freesoft.tvbok.com/tips/os/net_framework_45.html
2020/10/30(金) 11:43:30.17ID:5giIBuWJM
c#が登場したのは2000年。リリース時点でgenericsを考慮してなかったら、むしろmicrosoftの技術力を疑うわ。
実際、microsoftがgenericsの前身の研究を始めたのは1999年だし
2020/10/30(金) 11:49:04.45ID:6jWcOHsG0
そいやJVMの拡張って具体的には何の事言ってんの?
バイトコードレベルっつーか命令セットレベルではinvokedynamicぐらいしか変更なかったと思うけど……
2020/10/30(金) 12:59:09.57ID:5ayF+PMf0
スーパー過疎スレだし、日記はブログに書けって言われるか、もしくは反応0かと思ったけど、
歴史的なうんぬんとかいろいろ書いてくれる人いてありがたい
ちゃんとウォッチしてる人もいるんだねここ
2020/10/30(金) 13:04:14.88ID:5ayF+PMf0
型消去って、JVM や class ファイルの仕様だから、
Kotlin とか Groovy とかの後発JVM言語とかでも型消去はされるんよね?

その辺のスクリプトってランタイムにいろいろいじくれる印象だけども
基本的にリフレクションのAPIをごちゃごちゃいじって出来ないことは、Kotlin Groovy でもできないってことなんかな
2020/10/30(金) 13:20:07.36ID:6vdzB2yYM
>>514
型消去はあくまでJava言語の仕様
2020/10/30(金) 16:23:21.36ID:cq+PI2bI0
>>513
ちらしの裏にでも書いておけ
2020/10/31(土) 00:09:05.40ID:gxLrKFoA0
>514
kotlinやgroovyも実行時にgenericsの型消去されるのはその通り。
>>515は嘘松

リフレクションで何をしようとしたの?
2020/10/31(土) 00:24:22.47ID:P3yvSdO+0
>>517
回答ありがとう

lombok の @Builder @Singular がカスタマイズ性低くて不満だったから、
Builder パターンのソースコードを自分で自動生成できないかなと思ったんだよね

ASD とか使ってやるのが正統派なんだろうけど、使い方覚えるのとか時間かかりそうだし、
そのままデフォで用意されてるリフレクション使ってパッと作れないかなと

とある対象クラスの1つがジェネリクス使ってて、困ったなどうしようかなって感じです
2020/11/01(日) 10:20:30.19ID:XNBfCucM0
Producer extends Consumer super ってのは頭にあるけど、
これいつもこんがらがる
2020/11/02(月) 14:20:31.77ID:xsbidkkO0
EnumSet の 3値版みたいなのってデフォでは用意されてないですよね?多分
true false ともう一個くらい欲しい

あるインスタンスに関して、include するか exlude するか ignore するかみたいなフラグ
そして、その3値のフラグがいっぱい欲しいとき
EnumSet は、1bit で 1 flag だけど、2bit で 1flag みたいなの(これだと4値まで扱えるけど)
2020/11/02(月) 14:40:30.21ID:WBPd1VYFM
OptionalBooleanとか?
2020/11/02(月) 14:51:03.37ID:xsbidkkO0
ありがとう
たしかに、boolean の代わりにつかのならいいかもしれませんね OptionalBoolean
だけど、bit flag 的な動作(=EnumSet のような仕様)のクラスは多分自作しないとない感じですよね
2020/11/02(月) 16:05:39.50ID:4GAxhcsF0
だってあなた true と false ともう1つって言ったじゃない
524デフォルトの名無しさん (ワッチョイ fb01-fr3W)
垢版 |
2020/11/02(月) 16:29:57.67ID:LqVECFSh0
enumでいいじゃん
525デフォルトの名無しさん (ワッチョイ fb01-fr3W)
垢版 |
2020/11/02(月) 16:30:24.97ID:LqVECFSh0
イナム
2020/11/02(月) 16:45:21.07ID:xsbidkkO0
boolean の 3値版 は OptionalBoolean、3値以上ほしければ、enum だけど
EnumSet の 3値版
2020/11/02(月) 16:45:23.03ID:xsbidkkO0
boolean の 3値版 は OptionalBoolean、3値以上ほしければ、enum だけど
EnumSet の 3値版
2020/11/02(月) 17:07:10.68ID:xsbidkkO0
よくよく考えたら HashMap のラッパみたいなので事足りそうかも
すまそ
2020/11/02(月) 17:10:46.96ID:xsbidkkO0
でもよくよく考えたら、機能的にはそれでいいけど、内部的に bit flag 的な動作になってないから
もともとの目的達成してないわ…すまそ
2020/11/02(月) 17:32:32.99ID:O692h/lZ0
細かいけどOptionalBooleanというクラスはありそうで存在しない
Optional<Boolean>になる

Optionalをメンバとして使うのはSerializabeあたりの理由で微妙だしIGNOREという具体的な値をemptyで代用するのもまた宜しくない
素直にタイプセーフenumを使って恩恵を得るのが可読性と汎用性と、実用面で十分な効率を満足すると思う

あとこの三値のお題でEnumSetに言及しているのは謎
Setではフラグをいっぱい持つことはできないぞ
高効率なListのような仕様を期待しているのだろうか
2020/11/02(月) 17:39:42.45ID:O692h/lZ0
いやEnumSet的なもののインスタンスをたくさん持ちたいから高効率が希望ということか
なら普通にEnumSetでいいと思う
2020/11/02(月) 18:35:01.57ID:xsbidkkO0
ありがとう

一応、いまは2つ使ってやってます。
1つの EnumSet で 3値判定できれば楽かなって思ったんだけど、変なクラス作ってもわかりにくくなるし、これでいきます。

EnumSet<ItemType> excludes
EnumSet<ItemType> includes
2020/11/02(月) 19:08:13.39ID:MdMNZpD/0
それ includes も excludes もそれぞれ A or B or C の何れかの状態しか取らないみたいなコード?

もしそうなら君が欲しいのは EnumSet じゃなくてボツった Enhanced Enum 的なものかもよ?
2020/11/02(月) 22:35:35.24ID:O692h/lZ0
そういうデータ構造だったのか
状態が排他的ならEnumMap<ItemType, X>でXを2値か3値のenumにするのもいいと思う
2020/11/03(火) 09:16:21.62ID:8Mdr3goE0
問題説明するときには、断片でもいいからコード提示しないとダメなんだなつくづく思った

こっちは○○って言ってるのに、なんで見当違いな答えなの?
とか思ってしまうけど、具体例出してないのが悪いんよな

数学物理でもこういう質問と答えの行き違いみたいなの結構ある
2020/11/03(火) 18:16:01.83ID:8Mdr3goE0
eclipse のゴミ箱ボタン(GCボタン)押して思ったんだけど、Java の GC でマウスカクつくのな
普通 UI スレッドで長時間タスクって、その アプリの UI が固まるだけだけど
どういうスレッドの使い方したらこうなるんだろう

もちろん、GC の設定や環境によるものはあると思うけど
2020/11/07(土) 07:34:51.13ID:lCK2kmHa0
ライブラリの著者が使ってほしくない機能をユーザーが使えないのってダメだよね
リフレクションじゃなくても、ちょっと設定すれば普通に private メソッドもフィールドも使えるようにしてほしいわ
中身ちょっと直したい時に、全部 pull して修正するの面倒
2020/11/07(土) 10:35:21.34ID:BzysXMDS0
痒いところに手が届かないならライブラリの熟成度が低いかライブラリの設計が悪い可能性はあると思う
仮に開発に参加している初心者が簡単にprivateのカプセル化のメリットを破壊して回れるような方式だとしたらOOP言語としての信頼自体を損ないかねない
デメリットやリスクを理解した上で使う仕組みとしてリフレクション程度の面倒くささは悪くない采配だと思う
2020/11/08(日) 05:54:45.69ID:QaJs4UOf0
チームで作業してる時に、ポンコツが private メソッドいじっちゃうってなら、
ポンコツがいじれない箇所に設定を書けるようにすりゃいいだけだと思うけどな
コンパイラフラグとかJVMフラグとか
Groovy とかは、息をするように private メソッド呼ぶよね
540デフォルトの名無しさん (ワッチョイ 92ad-t1Nk)
垢版 |
2020/11/08(日) 15:13:38.03ID:iVjroALJ0
Kotlin もよろしく
541デフォルトの名無しさん (ブーイモ MMd5-T5d5)
垢版 |
2020/11/08(日) 16:23:08.51ID:CoeB3H6oM
うちの会社のハゲはポンコツで
チームで作業してる時に、ハゲが private メソッドいじっちゃうってなら、
ハゲがいじれない箇所に設定を書けるようにすりゃいいだけだと思うけどな
コンパイラフラグとかJVMフラグとか
Groovy とかは、息をするように private メソッド呼ぶよね
2020/11/08(日) 17:42:51.72ID:E458/dQkH
うちの会社のハゲはチンポコで
チームで作業してる時に、チンポコが private メソッドいじっちゃうってなら、
チンポコがいじれない箇所に設定を書けるようにすりゃいいだけだと思うけどな
コンパイラフラグとかJVMフラグとか
Groovy とかは、息をするように private メソッド呼ぶよね
543デフォルトの名無しさん (ワッチョイ 23ad-lcRl)
垢版 |
2020/11/11(水) 04:29:14.67ID:tSmBr0jI0
>>536
OSが変なのでは?
2020/11/11(水) 07:10:32.18ID:W2duQ0fU0
>>537
privateの機能誤解してね?
privateってソースコードの編集を禁止する機能じゃないぞ。
中身を直すとか無関係な話。
2020/11/11(水) 14:40:10.48ID:CiBMow/l0
カプセル化はわかってるけど、ライブラリ使い込んでいくにつれて、中身のそれいじらせろってなる事が多かったって話

ライブラリの設計が完璧なら必要ないのは分かるけど、そんなライブラリ現実にはほとんどない
2020/11/11(水) 16:49:47.12ID:fIiehboa0
privateにする理由
・将来の互換性の維持(公開したメソッドは変更しずらくなる)
・privateのほうが実行速度はわずかに速い
2020/11/11(水) 17:23:52.36ID:ZZXoiZzr0
最初はみんな private で、それを継承したクラスを作り始めると元のクラスの private がどんどん protected になる。
2020/11/11(水) 18:10:53.76ID:A+vlMwuMM
どんどんって言うほどだとクラスかパッケージの設計が不味いんじゃね
2020/11/12(木) 08:50:23.78ID:2UsfwbwTM
このスレにまともなJavaプログラマーいないのか...
誰かprivateの利用方法に突っ込めよ
2020/11/12(木) 09:01:47.04ID:2UsfwbwTM
やっぱりなんでもない。
もう人それぞれでいいや。

privateはクラスのメソッドや変数に対して外からアクセスしてほしくないことを明確化するくらいの認識があればそれでいいよ。
2020/11/12(木) 10:07:00.95ID:8AT56phj0
>>550
そうだよ
Javaのprivateはセキュリティではなく非公開の意思表示に過ぎない
だから開発者が公開したくないとしてもリフレクションで簡単に抜けられる
つまり開発者の使わせたくない意思よりも利用者の使いたい意思が最終的には優先されるの

それならリフレクション使わずともprivate呼べる手立てを用意しといてよというのが最初の主張なんじゃないかな?
少なくとも元発言者がJavaのprivateを理解してない初心者だとは思えない
2020/11/12(木) 10:14:56.40ID:0HPTF3ezM
簡単に抜けられるならそれでいいだろ
ってのが答えだろうね
553デフォルトの名無しさん (ワッチョイ 1b01-5VKD)
垢版 |
2020/11/12(木) 11:20:34.03ID:VX9X1ew10
君たちにプライベートなどないのだよ
2020/11/12(木) 14:38:22.65ID:svuT5wEO0
リフレクションで全部解決するならそれでいいんだけど、解決しないときもあるから
少なくとも性能面で格段に落ちる
2020/11/15(日) 21:24:45.76ID:wTz3BYxz0
javaとオブジェクト指向がごっちゃ?
リフレクションを多用したプログラムは基本的にバグの追跡が困難になって
システム全体の保守拡張性が失われていく
そもそもそういう事態を避けるためのオブジェクト指向なんだけどな
だからリフレクションを使う場面は
「公知され依存範囲も最小限の明示さえた範囲にとどまる場合」
に限るべきだと思う
2020/11/16(月) 11:28:08.49ID:UaonMcvo0
いうて最近の言語はリフレクション相当のことが簡単にできるものばっかだし
2020/11/16(月) 11:33:16.32ID:vXUZo3CGH
それがいいとは思わないけどな
2020/11/17(火) 18:58:02.35ID:MFEhUl1R0
オブジェクト指向で綺麗にシステム作っても
システムを拡張する時に依存性を無視して
勝手にデータベースから別ルートでデータを扱ったり
そんなことされたらもうおしまい
559デフォルトの名無しさん (ワッチョイ e2ad-b6az)
垢版 |
2020/11/23(月) 15:23:37.29ID:QcOiDeXE0
>>558
そういうことを防止するためにはそういうことができないような仕様の言語を新たに作るしかないでしょうな。
2020/11/23(月) 15:37:21.97ID:orFN3nO80
アプリケーションの番人としていつまでも居座る、という手もある

ボランティアになるかもしれないけど
2020/11/24(火) 01:47:50.63ID:vl9hZWNY0
>>559
コンパイラオプションでできるできない設定できればいいだけだと思うけどな
それが不可能なレベルでの入り組んだ問題への対処なら、そもそも言語仕様としても成立しないと思う
2020/12/04(金) 19:01:31.00ID:aixg0GRb0
junitの質問ってこちらで大丈夫でしょうか。
引数がinterfaceだったりabstractだったりするメソッドのテストってどうするんでしょう?
2020/12/05(土) 08:28:14.85ID:rfXr7q6U0
スタブとして自前で実装して引数に渡すか、Mockitoのようなライブラリを利用してモックテストする
2020/12/09(水) 17:38:11.52ID:3MRHajAc0
>>563
やっぱ実装しないとダメなんですね…。ありがとうございました。
2020/12/09(水) 17:43:20.81ID:4HmF+HCx0
いやMockitoを使えば実装は要らない
知らないものを見ないふりしているといつまでも初心者のままだよ
566デフォルトの名無しさん (ワッチョイ bf01-4pnK)
垢版 |
2020/12/09(水) 18:23:23.41ID:1rAAexgP0
偉そうにw
2020/12/10(木) 01:15:30.07ID:Ylu2UlWn0
でも図星でしょ?
質問の回答に知らない言葉が出てきたからその部分をググりもせずにスルーした
そこが本当は必要としてた知識だったのに
568デフォルトの名無しさん (ワッチョイ bf01-4pnK)
垢版 |
2020/12/10(木) 10:11:22.54ID:/iej8cKu0
一般化して説教かますのはただのアホだと思うw
569デフォルトの名無しさん (ワッチョイ bf01-4pnK)
垢版 |
2020/12/10(木) 10:12:29.29ID:/iej8cKu0
信号を無視したら信号無視だよと言ってるようなもの
チン次郎論法の亜種だな
570デフォルトの名無しさん (ワッチョイ bf01-4pnK)
垢版 |
2020/12/10(木) 10:13:39.91ID:/iej8cKu0
説教厨
571デフォルトの名無しさん (ワッチョイ bf01-4pnK)
垢版 |
2020/12/10(木) 10:15:17.13ID:/iej8cKu0
そんなに説教がしたいか
そんなに偉ぶりたいか
そんなに自分の立ち位置を確認したいのか
572デフォルトの名無しさん (ワッチョイ bf01-4pnK)
垢版 |
2020/12/10(木) 10:19:43.99ID:/iej8cKu0
読み直してみたけどMockito使うことを実装するって言ってるだけなんじゃない?
573デフォルトの名無しさん (ワッチョイ bf01-4pnK)
垢版 |
2020/12/10(木) 10:20:37.95ID:/iej8cKu0
> 565 :デフォルトの名無しさん (ワッチョイ 8759-u7CM) [↓] :2020/12/09(水) 17:43:20.81 ID:4HmF+HCx0 [PC]
> いやMockitoを使えば実装は要らない
> 知らないものを見ないふりしているといつまでも初心者のままだよ

一生許さないから
2020/12/22(火) 10:55:13.03ID:EExbCgorr
PCをゲーム機のようにしか扱って来なかった人間ですが、3週間でサーティファイのJava能力2級を取得することは可能でしょうか?
スレッド処理やら例外やらは大まかに分かりましたが、インターフェースがビックリするくらい理解できないです
2020/12/22(火) 11:08:00.09ID:fGHiXn/20
インターフェース=共通規格の仕様
って考えるといいかもね
あるインターフェースを実装しているクラスのインスタンスは共通規格に準拠しているから共通規格のメソッドを呼べる
そのクラスのインスタンスをインターフェース型変数に代入することができる
2020/12/22(火) 11:12:00.11ID:fGHiXn/20
ゲームで例えるとこうだ
USBゲームパッド仕様=インターフェース
PS4コントローラー=USBゲームパッド仕様を実装したクラス
XBoxコントローラー=USBゲームパッド仕様を実装したクラス

どちらのコントローラーも固有の機能を持っているがPCに繋げばUSBゲームパッドとして使える(振る舞える)
2020/12/22(火) 11:23:31.03ID:EExbCgorr
>>576
わざわざゲームで分かりやすく例えてくれてありがとうございます
578デフォルトの名無しさん (ワッチョイ eaa5-tzJm)
垢版 |
2020/12/22(火) 11:24:06.79ID:AK8G7vhK0
ちげぇなぁ
こういう奴の言ってることは大抵こう

「クラスはなんとかギリギリ理解した(ような気がするけど)、その後のインタフェイスになってもう完全に分からなくなった理解不可能助けて」
2020/12/22(火) 11:58:57.97ID:EExbCgorr
>>578
確かに理解出来てないものは多々ありますが、運や勘でもとにかく資格を取得するのが大事なので上のインターフェースについて概要を軽く説明して貰った方が飲み込みやすくて助かります
580デフォルトの名無しさん (ワッチョイ eaa5-tzJm)
垢版 |
2020/12/22(火) 12:05:53.62ID:AK8G7vhK0
サーティファイのテキストの説明がよっぽどおかしいのか?
どうなってんだ
どういう駄文が書き連ねてあるんだ?
そもそも何見て分からんと言ってるんだ?
581デフォルトの名無しさん (ワッチョイ bb40-uMNi)
垢版 |
2020/12/25(金) 13:39:16.56ID:cslSq7u80
eclipseとかでhashcode, equalsを自動作成できるけど
「未作成のクラスを検索する」とか
「自動生成と異なった実装になっているクラスを検索する」
みたいなことできないの?
メンバー変数を書き換えた時に作り直し忘れるとバグになるし面倒だよね
Lombokで自動生成するという手段があるらしいけどLombok使いたくないし
2020/12/25(金) 18:46:16.26ID:z1tztk6g0
クラスの代わりにRecordを使えば解決
ただし正式に使えるのはJava16から
583デフォルトの名無しさん (ワッチョイ 0bab-JtRj)
垢版 |
2020/12/26(土) 22:32:49.92ID:5jiSe6u40
馬鹿には無理
2020/12/28(月) 18:23:31.38ID:LMTdakKW0
Intellijでクラスの中に書いたメソッドを実行するにはそのクラスの中にmain関数を作ってメソッド呼び出す処理を書いてrunする以外にありますか?色んなクラスにmainができてしまうので、普通はどうやるのか知りたいです。
2020/12/28(月) 22:23:00.13ID:h8cHolFuM
>>584
ユニットテストを書け
指定したテストメソッドを単独で実行できる
2021/01/08(金) 14:44:14.15ID:rqN737YQ0
最近勉強し始めたんですけど、インスタンスの部分で詰まってしまいました
画像の状態でシンボルが見つからないと表示されます。助けてください
https://i.imgur.com/2HVyCno.png
2021/01/08(金) 14:54:25.00ID:GG1sOSQC0
>>586
import文がない
ふつうのIDEならSampleClass01のところでCtrl+Spaceで自動インポートされる
VSCodeに自動インポートがなかったら窓から投げ捨てろ
588デフォルトの名無しさん (ワッチョイ ff01-wy8K)
垢版 |
2021/01/08(金) 15:12:47.26ID:eXVg8SYp0
自動インポートは甘え
2021/01/08(金) 15:52:27.94ID:rqN737YQ0
>>587「import kihon.sample600.SampleClass01;」と書き足してもダメでした
2021/01/08(金) 16:09:54.53ID:f3mpSfzUa
同一パッケージはimportいらんくない?
javac ./*でいけるんじゃね
2021/01/08(金) 16:10:35.19ID:f3mpSfzUa
>>590
ミスったjavac ./*.javaで
592デフォルトの名無しさん (ワッチョイ ff01-wy8K)
垢版 |
2021/01/08(金) 16:18:38.36ID:eXVg8SYp0
皮肉なものだなIDEならとイキったアホがimportの仕様をしらないとわw
2021/01/08(金) 16:24:59.60ID:Q1os/2WZ0
VSw
594デフォルトの名無しさん (ワッチョイ ff01-wy8K)
垢版 |
2021/01/08(金) 16:25:32.62ID:eXVg8SYp0
myjavaフォルダで
javac kihon/sample600/Sample601.java
としてもコンパイルできるはず

カレントフォルダはクラスパスに追加されて
kihon/sample600内にclassファイルが存在するので
595デフォルトの名無しさん (ワッチョイ ff01-wy8K)
垢版 |
2021/01/08(金) 16:26:31.85ID:eXVg8SYp0
> 587+1 :デフォルトの名無しさん (ワッチョイ 5f9c-NUt6) [↓] :2021/01/08(金) 14:54:25.00 ID:GG1sOSQC0 [PC]
> >>586
> import文がない
> ふつうのIDEならSampleClass01のところでCtrl+Spaceで自動インポートされる
> VSCodeに自動インポートがなかったら窓から投げ捨てろ

こいつwwww
2021/01/08(金) 16:28:08.16ID:Q1os/2WZ0
Netbeansにしなさい
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況