プログラミング言語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
★★Java質問・相談スレッド183★★
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7f9f-FhGp)
2020/05/06(水) 22:12:08.99ID:q8N1X/Ij0513デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/10/30(金) 12:59:09.57ID:5ayF+PMf0 スーパー過疎スレだし、日記はブログに書けって言われるか、もしくは反応0かと思ったけど、
歴史的なうんぬんとかいろいろ書いてくれる人いてありがたい
ちゃんとウォッチしてる人もいるんだねここ
歴史的なうんぬんとかいろいろ書いてくれる人いてありがたい
ちゃんとウォッチしてる人もいるんだねここ
514デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/10/30(金) 13:04:14.88ID:5ayF+PMf0 型消去って、JVM や class ファイルの仕様だから、
Kotlin とか Groovy とかの後発JVM言語とかでも型消去はされるんよね?
その辺のスクリプトってランタイムにいろいろいじくれる印象だけども
基本的にリフレクションのAPIをごちゃごちゃいじって出来ないことは、Kotlin Groovy でもできないってことなんかな
Kotlin とか Groovy とかの後発JVM言語とかでも型消去はされるんよね?
その辺のスクリプトってランタイムにいろいろいじくれる印象だけども
基本的にリフレクションのAPIをごちゃごちゃいじって出来ないことは、Kotlin Groovy でもできないってことなんかな
515デフォルトの名無しさん (ワンミングク MMd3-z5gY)
2020/10/30(金) 13:20:07.36ID:6vdzB2yYM >>514
型消去はあくまでJava言語の仕様
型消去はあくまでJava言語の仕様
516デフォルトの名無しさん (ワッチョイ 0bda-Wesc)
2020/10/30(金) 16:23:21.36ID:cq+PI2bI0 >>513
ちらしの裏にでも書いておけ
ちらしの裏にでも書いておけ
517デフォルトの名無しさん (ワッチョイ 397f-0JDN)
2020/10/31(土) 00:09:05.40ID:gxLrKFoA0518デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/10/31(土) 00:24:22.47ID:P3yvSdO+0 >>517
回答ありがとう
lombok の @Builder @Singular がカスタマイズ性低くて不満だったから、
Builder パターンのソースコードを自分で自動生成できないかなと思ったんだよね
ASD とか使ってやるのが正統派なんだろうけど、使い方覚えるのとか時間かかりそうだし、
そのままデフォで用意されてるリフレクション使ってパッと作れないかなと
とある対象クラスの1つがジェネリクス使ってて、困ったなどうしようかなって感じです
回答ありがとう
lombok の @Builder @Singular がカスタマイズ性低くて不満だったから、
Builder パターンのソースコードを自分で自動生成できないかなと思ったんだよね
ASD とか使ってやるのが正統派なんだろうけど、使い方覚えるのとか時間かかりそうだし、
そのままデフォで用意されてるリフレクション使ってパッと作れないかなと
とある対象クラスの1つがジェネリクス使ってて、困ったなどうしようかなって感じです
519デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/01(日) 10:20:30.19ID:XNBfCucM0 Producer extends Consumer super ってのは頭にあるけど、
これいつもこんがらがる
これいつもこんがらがる
520デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/02(月) 14:20:31.77ID:xsbidkkO0 EnumSet の 3値版みたいなのってデフォでは用意されてないですよね?多分
true false ともう一個くらい欲しい
あるインスタンスに関して、include するか exlude するか ignore するかみたいなフラグ
そして、その3値のフラグがいっぱい欲しいとき
EnumSet は、1bit で 1 flag だけど、2bit で 1flag みたいなの(これだと4値まで扱えるけど)
true false ともう一個くらい欲しい
あるインスタンスに関して、include するか exlude するか ignore するかみたいなフラグ
そして、その3値のフラグがいっぱい欲しいとき
EnumSet は、1bit で 1 flag だけど、2bit で 1flag みたいなの(これだと4値まで扱えるけど)
521デフォルトの名無しさん (ブーイモ MM8d-Ezn+)
2020/11/02(月) 14:40:30.21ID:WBPd1VYFM OptionalBooleanとか?
522デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/02(月) 14:51:03.37ID:xsbidkkO0 ありがとう
たしかに、boolean の代わりにつかのならいいかもしれませんね OptionalBoolean
だけど、bit flag 的な動作(=EnumSet のような仕様)のクラスは多分自作しないとない感じですよね
たしかに、boolean の代わりにつかのならいいかもしれませんね OptionalBoolean
だけど、bit flag 的な動作(=EnumSet のような仕様)のクラスは多分自作しないとない感じですよね
523デフォルトの名無しさん (ワッチョイ 919c-Mqft)
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 イナム
526デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/02(月) 16:45:21.07ID:xsbidkkO0 boolean の 3値版 は OptionalBoolean、3値以上ほしければ、enum だけど
EnumSet の 3値版
EnumSet の 3値版
527デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/02(月) 16:45:23.03ID:xsbidkkO0 boolean の 3値版 は OptionalBoolean、3値以上ほしければ、enum だけど
EnumSet の 3値版
EnumSet の 3値版
528デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/02(月) 17:07:10.68ID:xsbidkkO0 よくよく考えたら HashMap のラッパみたいなので事足りそうかも
すまそ
すまそ
529デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/02(月) 17:10:46.96ID:xsbidkkO0 でもよくよく考えたら、機能的にはそれでいいけど、内部的に bit flag 的な動作になってないから
もともとの目的達成してないわ…すまそ
もともとの目的達成してないわ…すまそ
530デフォルトの名無しさん (ワッチョイ f99f-wWLy)
2020/11/02(月) 17:32:32.99ID:O692h/lZ0 細かいけどOptionalBooleanというクラスはありそうで存在しない
Optional<Boolean>になる
Optionalをメンバとして使うのはSerializabeあたりの理由で微妙だしIGNOREという具体的な値をemptyで代用するのもまた宜しくない
素直にタイプセーフenumを使って恩恵を得るのが可読性と汎用性と、実用面で十分な効率を満足すると思う
あとこの三値のお題でEnumSetに言及しているのは謎
Setではフラグをいっぱい持つことはできないぞ
高効率なListのような仕様を期待しているのだろうか
Optional<Boolean>になる
Optionalをメンバとして使うのはSerializabeあたりの理由で微妙だしIGNOREという具体的な値をemptyで代用するのもまた宜しくない
素直にタイプセーフenumを使って恩恵を得るのが可読性と汎用性と、実用面で十分な効率を満足すると思う
あとこの三値のお題でEnumSetに言及しているのは謎
Setではフラグをいっぱい持つことはできないぞ
高効率なListのような仕様を期待しているのだろうか
531デフォルトの名無しさん (ワッチョイ f99f-wWLy)
2020/11/02(月) 17:39:42.45ID:O692h/lZ0 いやEnumSet的なもののインスタンスをたくさん持ちたいから高効率が希望ということか
なら普通にEnumSetでいいと思う
なら普通にEnumSetでいいと思う
532デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/02(月) 18:35:01.57ID:xsbidkkO0 ありがとう
一応、いまは2つ使ってやってます。
1つの EnumSet で 3値判定できれば楽かなって思ったんだけど、変なクラス作ってもわかりにくくなるし、これでいきます。
EnumSet<ItemType> excludes
EnumSet<ItemType> includes
一応、いまは2つ使ってやってます。
1つの EnumSet で 3値判定できれば楽かなって思ったんだけど、変なクラス作ってもわかりにくくなるし、これでいきます。
EnumSet<ItemType> excludes
EnumSet<ItemType> includes
533デフォルトの名無しさん (ワッチョイ 53f0-8n4k)
2020/11/02(月) 19:08:13.39ID:MdMNZpD/0 それ includes も excludes もそれぞれ A or B or C の何れかの状態しか取らないみたいなコード?
もしそうなら君が欲しいのは EnumSet じゃなくてボツった Enhanced Enum 的なものかもよ?
もしそうなら君が欲しいのは EnumSet じゃなくてボツった Enhanced Enum 的なものかもよ?
534デフォルトの名無しさん (ワッチョイ f99f-wWLy)
2020/11/02(月) 22:35:35.24ID:O692h/lZ0 そういうデータ構造だったのか
状態が排他的ならEnumMap<ItemType, X>でXを2値か3値のenumにするのもいいと思う
状態が排他的ならEnumMap<ItemType, X>でXを2値か3値のenumにするのもいいと思う
535デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/03(火) 09:16:21.62ID:8Mdr3goE0 問題説明するときには、断片でもいいからコード提示しないとダメなんだなつくづく思った
こっちは○○って言ってるのに、なんで見当違いな答えなの?
とか思ってしまうけど、具体例出してないのが悪いんよな
数学物理でもこういう質問と答えの行き違いみたいなの結構ある
こっちは○○って言ってるのに、なんで見当違いな答えなの?
とか思ってしまうけど、具体例出してないのが悪いんよな
数学物理でもこういう質問と答えの行き違いみたいなの結構ある
536デフォルトの名無しさん (ワッチョイ fb02-rsky)
2020/11/03(火) 18:16:01.83ID:8Mdr3goE0 eclipse のゴミ箱ボタン(GCボタン)押して思ったんだけど、Java の GC でマウスカクつくのな
普通 UI スレッドで長時間タスクって、その アプリの UI が固まるだけだけど
どういうスレッドの使い方したらこうなるんだろう
もちろん、GC の設定や環境によるものはあると思うけど
普通 UI スレッドで長時間タスクって、その アプリの UI が固まるだけだけど
どういうスレッドの使い方したらこうなるんだろう
もちろん、GC の設定や環境によるものはあると思うけど
537デフォルトの名無しさん (ワッチョイ 3602-2NH9)
2020/11/07(土) 07:34:51.13ID:lCK2kmHa0 ライブラリの著者が使ってほしくない機能をユーザーが使えないのってダメだよね
リフレクションじゃなくても、ちょっと設定すれば普通に private メソッドもフィールドも使えるようにしてほしいわ
中身ちょっと直したい時に、全部 pull して修正するの面倒
リフレクションじゃなくても、ちょっと設定すれば普通に private メソッドもフィールドも使えるようにしてほしいわ
中身ちょっと直したい時に、全部 pull して修正するの面倒
538デフォルトの名無しさん (ワッチョイ 5559-93sb)
2020/11/07(土) 10:35:21.34ID:BzysXMDS0 痒いところに手が届かないならライブラリの熟成度が低いかライブラリの設計が悪い可能性はあると思う
仮に開発に参加している初心者が簡単にprivateのカプセル化のメリットを破壊して回れるような方式だとしたらOOP言語としての信頼自体を損ないかねない
デメリットやリスクを理解した上で使う仕組みとしてリフレクション程度の面倒くささは悪くない采配だと思う
仮に開発に参加している初心者が簡単にprivateのカプセル化のメリットを破壊して回れるような方式だとしたらOOP言語としての信頼自体を損ないかねない
デメリットやリスクを理解した上で使う仕組みとしてリフレクション程度の面倒くささは悪くない采配だと思う
539デフォルトの名無しさん (ワッチョイ 3602-2NH9)
2020/11/08(日) 05:54:45.69ID:QaJs4UOf0 チームで作業してる時に、ポンコツが private メソッドいじっちゃうってなら、
ポンコツがいじれない箇所に設定を書けるようにすりゃいいだけだと思うけどな
コンパイラフラグとかJVMフラグとか
Groovy とかは、息をするように 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 メソッド呼ぶよね
チームで作業してる時に、ハゲが private メソッドいじっちゃうってなら、
ハゲがいじれない箇所に設定を書けるようにすりゃいいだけだと思うけどな
コンパイラフラグとかJVMフラグとか
Groovy とかは、息をするように private メソッド呼ぶよね
542デフォルトの名無しさん (JP 0H65-mMcf)
2020/11/08(日) 17:42:51.72ID:E458/dQkH うちの会社のハゲはチンポコで
チームで作業してる時に、チンポコが private メソッドいじっちゃうってなら、
チンポコがいじれない箇所に設定を書けるようにすりゃいいだけだと思うけどな
コンパイラフラグとかJVMフラグとか
Groovy とかは、息をするように private メソッド呼ぶよね
チームで作業してる時に、チンポコが private メソッドいじっちゃうってなら、
チンポコがいじれない箇所に設定を書けるようにすりゃいいだけだと思うけどな
コンパイラフラグとかJVMフラグとか
Groovy とかは、息をするように private メソッド呼ぶよね
543デフォルトの名無しさん (ワッチョイ 23ad-lcRl)
2020/11/11(水) 04:29:14.67ID:tSmBr0jI0 >>536
OSが変なのでは?
OSが変なのでは?
544デフォルトの名無しさん (ワッチョイ 1592-OoW6)
2020/11/11(水) 07:10:32.18ID:W2duQ0fU0545デフォルトの名無しさん (ワッチョイ 1b02-aWbd)
2020/11/11(水) 14:40:10.48ID:CiBMow/l0 カプセル化はわかってるけど、ライブラリ使い込んでいくにつれて、中身のそれいじらせろってなる事が多かったって話
ライブラリの設計が完璧なら必要ないのは分かるけど、そんなライブラリ現実にはほとんどない
ライブラリの設計が完璧なら必要ないのは分かるけど、そんなライブラリ現実にはほとんどない
546デフォルトの名無しさん (ワッチョイ cd9c-tKQa)
2020/11/11(水) 16:49:47.12ID:fIiehboa0 privateにする理由
・将来の互換性の維持(公開したメソッドは変更しずらくなる)
・privateのほうが実行速度はわずかに速い
・将来の互換性の維持(公開したメソッドは変更しずらくなる)
・privateのほうが実行速度はわずかに速い
547デフォルトの名無しさん (ワッチョイ 9b02-Y0tO)
2020/11/11(水) 17:23:52.36ID:ZZXoiZzr0 最初はみんな private で、それを継承したクラスを作り始めると元のクラスの private がどんどん protected になる。
548デフォルトの名無しさん (テテンテンテン MM4b-iaQn)
2020/11/11(水) 18:10:53.76ID:A+vlMwuMM どんどんって言うほどだとクラスかパッケージの設計が不味いんじゃね
549デフォルトの名無しさん (オイコラミネオ MMab-OoW6)
2020/11/12(木) 08:50:23.78ID:2UsfwbwTM このスレにまともなJavaプログラマーいないのか...
誰かprivateの利用方法に突っ込めよ
誰かprivateの利用方法に突っ込めよ
550デフォルトの名無しさん (オイコラミネオ MMab-OoW6)
2020/11/12(木) 09:01:47.04ID:2UsfwbwTM やっぱりなんでもない。
もう人それぞれでいいや。
privateはクラスのメソッドや変数に対して外からアクセスしてほしくないことを明確化するくらいの認識があればそれでいいよ。
もう人それぞれでいいや。
privateはクラスのメソッドや変数に対して外からアクセスしてほしくないことを明確化するくらいの認識があればそれでいいよ。
551デフォルトの名無しさん (ワッチョイ cd9c-tKQa)
2020/11/12(木) 10:07:00.95ID:8AT56phj0 >>550
そうだよ
Javaのprivateはセキュリティではなく非公開の意思表示に過ぎない
だから開発者が公開したくないとしてもリフレクションで簡単に抜けられる
つまり開発者の使わせたくない意思よりも利用者の使いたい意思が最終的には優先されるの
それならリフレクション使わずともprivate呼べる手立てを用意しといてよというのが最初の主張なんじゃないかな?
少なくとも元発言者がJavaのprivateを理解してない初心者だとは思えない
そうだよ
Javaのprivateはセキュリティではなく非公開の意思表示に過ぎない
だから開発者が公開したくないとしてもリフレクションで簡単に抜けられる
つまり開発者の使わせたくない意思よりも利用者の使いたい意思が最終的には優先されるの
それならリフレクション使わずともprivate呼べる手立てを用意しといてよというのが最初の主張なんじゃないかな?
少なくとも元発言者がJavaのprivateを理解してない初心者だとは思えない
552デフォルトの名無しさん (テテンテンテン MM4b-iaQn)
2020/11/12(木) 10:14:56.40ID:0HPTF3ezM 簡単に抜けられるならそれでいいだろ
ってのが答えだろうね
ってのが答えだろうね
553デフォルトの名無しさん (ワッチョイ 1b01-5VKD)
2020/11/12(木) 11:20:34.03ID:VX9X1ew10 君たちにプライベートなどないのだよ
554デフォルトの名無しさん (ワッチョイ 1b02-aWbd)
2020/11/12(木) 14:38:22.65ID:svuT5wEO0 リフレクションで全部解決するならそれでいいんだけど、解決しないときもあるから
少なくとも性能面で格段に落ちる
少なくとも性能面で格段に落ちる
555デフォルトの名無しさん (ワッチョイ 1b46-Y0tO)
2020/11/15(日) 21:24:45.76ID:wTz3BYxz0 javaとオブジェクト指向がごっちゃ?
リフレクションを多用したプログラムは基本的にバグの追跡が困難になって
システム全体の保守拡張性が失われていく
そもそもそういう事態を避けるためのオブジェクト指向なんだけどな
だからリフレクションを使う場面は
「公知され依存範囲も最小限の明示さえた範囲にとどまる場合」
に限るべきだと思う
リフレクションを多用したプログラムは基本的にバグの追跡が困難になって
システム全体の保守拡張性が失われていく
そもそもそういう事態を避けるためのオブジェクト指向なんだけどな
だからリフレクションを使う場面は
「公知され依存範囲も最小限の明示さえた範囲にとどまる場合」
に限るべきだと思う
556デフォルトの名無しさん (ワッチョイ 1b02-aWbd)
2020/11/16(月) 11:28:08.49ID:UaonMcvo0 いうて最近の言語はリフレクション相当のことが簡単にできるものばっかだし
557デフォルトの名無しさん (JP 0H93-iaQn)
2020/11/16(月) 11:33:16.32ID:vXUZo3CGH それがいいとは思わないけどな
558デフォルトの名無しさん (ワッチョイ 1b46-Y0tO)
2020/11/17(火) 18:58:02.35ID:MFEhUl1R0 オブジェクト指向で綺麗にシステム作っても
システムを拡張する時に依存性を無視して
勝手にデータベースから別ルートでデータを扱ったり
そんなことされたらもうおしまい
システムを拡張する時に依存性を無視して
勝手にデータベースから別ルートでデータを扱ったり
そんなことされたらもうおしまい
559デフォルトの名無しさん (ワッチョイ e2ad-b6az)
2020/11/23(月) 15:23:37.29ID:QcOiDeXE0 >>558
そういうことを防止するためにはそういうことができないような仕様の言語を新たに作るしかないでしょうな。
そういうことを防止するためにはそういうことができないような仕様の言語を新たに作るしかないでしょうな。
560デフォルトの名無しさん (ワッチョイ 0e02-wHXD)
2020/11/23(月) 15:37:21.97ID:orFN3nO80 アプリケーションの番人としていつまでも居座る、という手もある
ボランティアになるかもしれないけど
ボランティアになるかもしれないけど
561デフォルトの名無しさん (ワッチョイ 0e02-RToZ)
2020/11/24(火) 01:47:50.63ID:vl9hZWNY0562デフォルトの名無しさん (ワッチョイ c2ab-v2z3)
2020/12/04(金) 19:01:31.00ID:aixg0GRb0 junitの質問ってこちらで大丈夫でしょうか。
引数がinterfaceだったりabstractだったりするメソッドのテストってどうするんでしょう?
引数がinterfaceだったりabstractだったりするメソッドのテストってどうするんでしょう?
563デフォルトの名無しさん (ワッチョイ ac59-HWCG)
2020/12/05(土) 08:28:14.85ID:rfXr7q6U0 スタブとして自前で実装して引数に渡すか、Mockitoのようなライブラリを利用してモックテストする
564デフォルトの名無しさん (ワッチョイ dfab-PKMK)
2020/12/09(水) 17:38:11.52ID:3MRHajAc0 >>563
やっぱ実装しないとダメなんですね…。ありがとうございました。
やっぱ実装しないとダメなんですね…。ありがとうございました。
565デフォルトの名無しさん (ワッチョイ 8759-u7CM)
2020/12/09(水) 17:43:20.81ID:4HmF+HCx0 いやMockitoを使えば実装は要らない
知らないものを見ないふりしているといつまでも初心者のままだよ
知らないものを見ないふりしているといつまでも初心者のままだよ
566デフォルトの名無しさん (ワッチョイ bf01-4pnK)
2020/12/09(水) 18:23:23.41ID:1rAAexgP0 偉そうにw
567デフォルトの名無しさん (ワッチョイ 8759-u7CM)
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を使えば実装は要らない
> 知らないものを見ないふりしているといつまでも初心者のままだよ
一生許さないから
> いやMockitoを使えば実装は要らない
> 知らないものを見ないふりしているといつまでも初心者のままだよ
一生許さないから
574デフォルトの名無しさん (オッペケ Srb3-9wp+)
2020/12/22(火) 10:55:13.03ID:EExbCgorr PCをゲーム機のようにしか扱って来なかった人間ですが、3週間でサーティファイのJava能力2級を取得することは可能でしょうか?
スレッド処理やら例外やらは大まかに分かりましたが、インターフェースがビックリするくらい理解できないです
スレッド処理やら例外やらは大まかに分かりましたが、インターフェースがビックリするくらい理解できないです
575デフォルトの名無しさん (ワッチョイ 0f9c-+dzo)
2020/12/22(火) 11:08:00.09ID:fGHiXn/20 インターフェース=共通規格の仕様
って考えるといいかもね
あるインターフェースを実装しているクラスのインスタンスは共通規格に準拠しているから共通規格のメソッドを呼べる
そのクラスのインスタンスをインターフェース型変数に代入することができる
って考えるといいかもね
あるインターフェースを実装しているクラスのインスタンスは共通規格に準拠しているから共通規格のメソッドを呼べる
そのクラスのインスタンスをインターフェース型変数に代入することができる
576デフォルトの名無しさん (ワッチョイ 0f9c-+dzo)
2020/12/22(火) 11:12:00.11ID:fGHiXn/20 ゲームで例えるとこうだ
USBゲームパッド仕様=インターフェース
PS4コントローラー=USBゲームパッド仕様を実装したクラス
XBoxコントローラー=USBゲームパッド仕様を実装したクラス
どちらのコントローラーも固有の機能を持っているがPCに繋げばUSBゲームパッドとして使える(振る舞える)
USBゲームパッド仕様=インターフェース
PS4コントローラー=USBゲームパッド仕様を実装したクラス
XBoxコントローラー=USBゲームパッド仕様を実装したクラス
どちらのコントローラーも固有の機能を持っているがPCに繋げばUSBゲームパッドとして使える(振る舞える)
577デフォルトの名無しさん (オッペケ Srb3-9wp+)
2020/12/22(火) 11:23:31.03ID:EExbCgorr >>576
わざわざゲームで分かりやすく例えてくれてありがとうございます
わざわざゲームで分かりやすく例えてくれてありがとうございます
578デフォルトの名無しさん (ワッチョイ eaa5-tzJm)
2020/12/22(火) 11:24:06.79ID:AK8G7vhK0 ちげぇなぁ
こういう奴の言ってることは大抵こう
「クラスはなんとかギリギリ理解した(ような気がするけど)、その後のインタフェイスになってもう完全に分からなくなった理解不可能助けて」
こういう奴の言ってることは大抵こう
「クラスはなんとかギリギリ理解した(ような気がするけど)、その後のインタフェイスになってもう完全に分からなくなった理解不可能助けて」
579デフォルトの名無しさん (オッペケ Srb3-9wp+)
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使いたくないし
「未作成のクラスを検索する」とか
「自動生成と異なった実装になっているクラスを検索する」
みたいなことできないの?
メンバー変数を書き換えた時に作り直し忘れるとバグになるし面倒だよね
Lombokで自動生成するという手段があるらしいけどLombok使いたくないし
582デフォルトの名無しさん (ワッチョイ 3f59-t/Xm)
2020/12/25(金) 18:46:16.26ID:z1tztk6g0 クラスの代わりにRecordを使えば解決
ただし正式に使えるのはJava16から
ただし正式に使えるのはJava16から
583デフォルトの名無しさん (ワッチョイ 0bab-JtRj)
2020/12/26(土) 22:32:49.92ID:5jiSe6u40 馬鹿には無理
584デフォルトの名無しさん (ワッチョイ b101-L4wC)
2020/12/28(月) 18:23:31.38ID:LMTdakKW0 Intellijでクラスの中に書いたメソッドを実行するにはそのクラスの中にmain関数を作ってメソッド呼び出す処理を書いてrunする以外にありますか?色んなクラスにmainができてしまうので、普通はどうやるのか知りたいです。
585デフォルトの名無しさん (テテンテンテン MM97-mp7J)
2020/12/28(月) 22:23:00.13ID:h8cHolFuM586デフォルトの名無しさん (ワッチョイ 7fa5-cNR3)
2021/01/08(金) 14:44:14.15ID:rqN737YQ0587デフォルトの名無しさん (ワッチョイ 5f9c-NUt6)
2021/01/08(金) 14:54:25.00ID:GG1sOSQC0588デフォルトの名無しさん (ワッチョイ ff01-wy8K)
2021/01/08(金) 15:12:47.26ID:eXVg8SYp0 自動インポートは甘え
589デフォルトの名無しさん (ワッチョイ 7fa5-cNR3)
2021/01/08(金) 15:52:27.94ID:rqN737YQ0 >>587「import kihon.sample600.SampleClass01;」と書き足してもダメでした
590デフォルトの名無しさん (アウアウカー Sa53-tYBP)
2021/01/08(金) 16:09:54.53ID:f3mpSfzUa 同一パッケージはimportいらんくない?
javac ./*でいけるんじゃね
javac ./*でいけるんじゃね
591デフォルトの名無しさん (アウアウカー Sa53-tYBP)
2021/01/08(金) 16:10:35.19ID:f3mpSfzUa >>590
ミスったjavac ./*.javaで
ミスったjavac ./*.javaで
592デフォルトの名無しさん (ワッチョイ ff01-wy8K)
2021/01/08(金) 16:18:38.36ID:eXVg8SYp0 皮肉なものだなIDEならとイキったアホがimportの仕様をしらないとわw
593デフォルトの名無しさん (ワッチョイ ffda-ZT9E)
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ファイルが存在するので
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
> >>586
> import文がない
> ふつうのIDEならSampleClass01のところでCtrl+Spaceで自動インポートされる
> VSCodeに自動インポートがなかったら窓から投げ捨てろ
こいつwwww
596デフォルトの名無しさん (ワッチョイ ffda-ZT9E)
2021/01/08(金) 16:28:08.16ID:Q1os/2WZ0 Netbeansにしなさい
597デフォルトの名無しさん (ワッチョイ 7f40-Cbw0)
2021/01/12(火) 00:52:52.68ID:SnMLaeAE0 eclipse collectionsのConcurrentHashMapと標準のはどっちが高性能なの?
JMHと言うのやってみようと思ったけどエラー出て動かなかった
JPMSのバグらしい
JMHと言うのやってみようと思ったけどエラー出て動かなかった
JPMSのバグらしい
598デフォルトの名無しさん (ワッチョイ 7f40-Cbw0)
2021/01/12(火) 02:28:37.16ID:SnMLaeAE0 JDKの方が速かった
599デフォルトの名無しさん (ワッチョイ 7ebd-Z5af)
2021/01/21(木) 13:30:43.09ID:HsCZH7Vy0 JavaAPIに修正というかアップデートして欲しいとき
日本語で質問や要望だせるコミュは有りますか?
java MIDIのINでスレッド立ち上げるの辞めて欲しいのよね
日本語で質問や要望だせるコミュは有りますか?
java MIDIのINでスレッド立ち上げるの辞めて欲しいのよね
600デフォルトの名無しさん (ワッチョイ 91da-s56y)
2021/01/21(木) 13:39:02.26ID:dym1y4TL0601デフォルトの名無しさん (ワッチョイ 91da-s56y)
2021/01/21(木) 14:52:30.70ID:dym1y4TL0602デフォルトの名無しさん (ワッチョイ 82bd-Z5af)
2021/01/21(木) 15:13:31.95ID:f8qhc4HR0 ありがと。
日本語フォーラムに近いのは上かしら。
メンバーシップってほどなのかなーって気もしますけれど。
考えてみる。
日本語フォーラムに近いのは上かしら。
メンバーシップってほどなのかなーって気もしますけれど。
考えてみる。
603デフォルトの名無しさん (ワッチョイ cd9c-+QhG)
2021/01/21(木) 15:17:49.42ID:upjC6TmF0604デフォルトの名無しさん (ワッチョイ 41bd-Z5af)
2021/01/21(木) 20:13:53.97ID:jbt85nZO0 色々やってみたら、MSOSのアクティブじゃないアプリの優先度の上限についてる問題だったわ
605デフォルトの名無しさん (ワッチョイ 8701-FvK0)
2021/01/22(金) 19:32:48.29ID:Ji2YQvfh0 DBと連携する簡単なwebアプリを作っています。
eclipseでは一通り動作を確認しました。
それとは別のlinuxマシンがあり、その上でtomcatの所定の位置にwarファイル、
jdbcドライバを配置して、ブラウザからアクセスすると例外が出ます。
h2 dbを使っていますが組み込みモード、サーバーモードのどちらでも起こります。
ログを見る限り書き込み権限とかパーミッションの話のようですが、
具体的に何に誰の権限を与えるのかよくわかりません。
今のdbファイルの権限(とりあえずグループに書き込み権限を追加)
-rw-rw-r-- 1 pi pi 32768 1月 17 23:04 mydb.mv.db
-rw-rw-r-- 1 pi pi 2193 1月 16 14:34 mydb.trace.db
その後wabアプリにアクセスした際のログ
tomcat9/logs/catarina.out
[2021-01-20 23:14:12] [info] org.h2.message.DbException: ログファイル
エラー: "/mydb.trace.db"
[2021-01-20 23:14:12] [info] Log file error: "/mydb.trace.db", cause:
"java.io.FileNotFoundException: /mydb.trace.db (読み込み専用ファイルシ
ステムです)" [90034-200]
[2021-01-20 23:14:12] [info] org.h2.message.DbException: ログファイル
エラー: "/mydb.trace.db"
[2021-01-20 23:14:12] [info] Log file error: "/mydb.trace.db", cause:
"java.io.FileNotFoundException: /mydb.trace.db (読み込み専用ファイルシ
ステムです)" [90034-200]
[2021-01-20 23:14:12] [info] #011at org.h2.message.DbException.get(DbE
xception.java:194)
[2021-01-20 23:14:12] [info] #011at org.h2.message.TraceSystem.logWrit
ingError(TraceSystem.java:294)
[2021-01-20 23:14:12] [info] #011at org.h2.message.TraceSystem.openWri
ter(TraceSystem.java:315)
eclipseでは一通り動作を確認しました。
それとは別のlinuxマシンがあり、その上でtomcatの所定の位置にwarファイル、
jdbcドライバを配置して、ブラウザからアクセスすると例外が出ます。
h2 dbを使っていますが組み込みモード、サーバーモードのどちらでも起こります。
ログを見る限り書き込み権限とかパーミッションの話のようですが、
具体的に何に誰の権限を与えるのかよくわかりません。
今のdbファイルの権限(とりあえずグループに書き込み権限を追加)
-rw-rw-r-- 1 pi pi 32768 1月 17 23:04 mydb.mv.db
-rw-rw-r-- 1 pi pi 2193 1月 16 14:34 mydb.trace.db
その後wabアプリにアクセスした際のログ
tomcat9/logs/catarina.out
[2021-01-20 23:14:12] [info] org.h2.message.DbException: ログファイル
エラー: "/mydb.trace.db"
[2021-01-20 23:14:12] [info] Log file error: "/mydb.trace.db", cause:
"java.io.FileNotFoundException: /mydb.trace.db (読み込み専用ファイルシ
ステムです)" [90034-200]
[2021-01-20 23:14:12] [info] org.h2.message.DbException: ログファイル
エラー: "/mydb.trace.db"
[2021-01-20 23:14:12] [info] Log file error: "/mydb.trace.db", cause:
"java.io.FileNotFoundException: /mydb.trace.db (読み込み専用ファイルシ
ステムです)" [90034-200]
[2021-01-20 23:14:12] [info] #011at org.h2.message.DbException.get(DbE
xception.java:194)
[2021-01-20 23:14:12] [info] #011at org.h2.message.TraceSystem.logWrit
ingError(TraceSystem.java:294)
[2021-01-20 23:14:12] [info] #011at org.h2.message.TraceSystem.openWri
ter(TraceSystem.java:315)
606デフォルトの名無しさん (ワッチョイ bf01-uxcu)
2021/01/22(金) 19:46:37.35ID:WWOGJuaM0607デフォルトの名無しさん (ブーイモ MMcb-F+C/)
2021/01/22(金) 19:49:45.57ID:3IahkNr8M dbのパスがルートになってるけど、本当は/の前に何かあったんじゃないの?
608デフォルトの名無しさん (ワッチョイ 8701-FvK0)
2021/01/22(金) 20:31:56.26ID:Ji2YQvfh0609デフォルトの名無しさん (ワッチョイ 8701-FvK0)
2021/01/22(金) 20:57:53.49ID:Ji2YQvfh0 >>607
javaの方では一応
jdbc:h2:tcp://localhost/~/mydb
と指定してますが、ログの方はルートディレクトリに書こうとしてるみたいなことを言ってるんでしょうか。
でもホームディレクトリにファイルが出来てるんですよね…
調べてみるとこちらの質問も同じようにログファイルエラーが出ていますが、
これはurl指定が間違っていたからのようです。
https://stackoverflow.com/questions/64756454/why-does-spring-boot-with-embedded-h2-throw-a-org-h2-message-dbexception-error
試しに一回絶対パスで指定してみようかと思います。
javaの方では一応
jdbc:h2:tcp://localhost/~/mydb
と指定してますが、ログの方はルートディレクトリに書こうとしてるみたいなことを言ってるんでしょうか。
でもホームディレクトリにファイルが出来てるんですよね…
調べてみるとこちらの質問も同じようにログファイルエラーが出ていますが、
これはurl指定が間違っていたからのようです。
https://stackoverflow.com/questions/64756454/why-does-spring-boot-with-embedded-h2-throw-a-org-h2-message-dbexception-error
試しに一回絶対パスで指定してみようかと思います。
610デフォルトの名無しさん (ワッチョイ 077f-F+C/)
2021/01/22(金) 22:10:41.90ID:mLA72Gs/0 とりあえずotherにもw権限与えてみて様子を見てみるとか
611605 (ワッチョイ 8701-FvK0)
2021/01/23(土) 18:19:02.53ID:DvIRe0+n0612デフォルトの名無しさん (ササクッテロル Spbd-TMwD)
2021/02/01(月) 11:43:49.07ID:MkfMndgDp 今時はJava+springでバッチ作るとしたらどんなアーキテクチャが主流なんかね。
613デフォルトの名無しさん (ワッチョイ b501-bbbf)
2021/02/02(火) 15:25:59.09ID:uGvN1c8B0 Collections.sort(numbers, (a, b) -> {
return a - b;
});
これが昇順にソートされるのは何でですか?
sortの2つ目の引数にcompareを実装するラムダ式を入れて、aとbの比較をして、
結果の大小で戻り値が3種類に分かれるのはわかるんですが、その結果をどう使っているのかと、
numbersが1,2,3,4,5のときと、3,1,2,4,5のときでa,bに代入される順番やループ回数が違うのがわかりません。
return a - b;
});
これが昇順にソートされるのは何でですか?
sortの2つ目の引数にcompareを実装するラムダ式を入れて、aとbの比較をして、
結果の大小で戻り値が3種類に分かれるのはわかるんですが、その結果をどう使っているのかと、
numbersが1,2,3,4,5のときと、3,1,2,4,5のときでa,bに代入される順番やループ回数が違うのがわかりません。
■ このスレッドは過去ログ倉庫に格納されています
