次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.9
https://mevius.5ch.net/test/read.cgi/tech/1552143555/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Java入門・初心者質問スレ Part.10
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ 0fba-HyQo)
2020/04/01(水) 15:09:15.95ID:9COIb57q0839デフォルトの名無しさん (ワッチョイ 2a01-Yqly)
2021/05/07(金) 17:38:07.54ID:O1URPzeE0 実装に依存してもいい状況なら別に構わないと思うが
抽象に依存させたいならCopyableでIterableなものを定義する
抽象に依存させたいならCopyableでIterableなものを定義する
840デフォルトの名無しさん (ワッチョイ ea55-9/J3)
2021/05/07(金) 19:02:56.91ID:WyGI7kgq0 >>839
ありがとうございました。
ありがとうございました。
841デフォルトの名無しさん (ワッチョイ 1763-DjaX)
2021/05/07(金) 22:14:13.48ID:bt5OxQUb0 try-catchで何も終了処理を書かなくても
Closableのcloseメソッドに発生した例外を自動で渡すようにJavaの仕様を変えてください。
トランザクション処理が死ぬほどめんどくさいです。
Closableのcloseメソッドに発生した例外を自動で渡すようにJavaの仕様を変えてください。
トランザクション処理が死ぬほどめんどくさいです。
842デフォルトの名無しさん (ワッチョイ fa4d-9/J3)
2021/05/08(土) 00:05:40.85ID:ymOTovzu0 try-with-resourcesだとダメなの?
843デフォルトの名無しさん (ワッチョイ 1763-DjaX)
2021/05/08(土) 00:40:50.06ID:5NS/CJgC0 rollbackのためにexceptionキャッチしないといけない
デフォルトrollbackにしたらcommitのあとrollbackしてすごいログがうっとうしかった
デフォルトrollbackにしたらcommitのあとrollbackしてすごいログがうっとうしかった
844デフォルトの名無しさん (ワッチョイ 2a9f-NHvE)
2021/05/08(土) 01:02:02.87ID:qZ0dJlAo0 定型的な呼び出しのブロックを関数化して処理をラムダ式で渡したらきれいに書けそうな気がする
845デフォルトの名無しさん (ワッチョイ 2601-8aL7)
2021/05/08(土) 01:04:02.44ID:0OKKDiC40 コミットして良いフラグを立てるかThrowableをキャッチするしかないんじゃないかな
僕ならこうする
https://paiza.io/projects/JVylMfZi1uOk0tJ0S9x6OA
僕ならこうする
https://paiza.io/projects/JVylMfZi1uOk0tJ0S9x6OA
846デフォルトの名無しさん (ワッチョイ 1763-DjaX)
2021/05/08(土) 01:29:24.92ID:5NS/CJgC0 入出力が雑多すぎてラムダが使いにくい
構造体を定義する必要もなくスコープの外に複数の結果を戻せるtry-catchで書きたい
構造体を定義する必要もなくスコープの外に複数の結果を戻せるtry-catchで書きたい
847デフォルトの名無しさん (ワッチョイ 1763-DjaX)
2021/05/08(土) 01:31:20.73ID:5NS/CJgC0 >>845
10-15行目そういうことか
10-15行目そういうことか
848デフォルトの名無しさん (ワッチョイ 2601-8aL7)
2021/05/08(土) 02:16:45.91ID:0OKKDiC40 ラムダ式使わないならこうとか
https://paiza.io/projects/r8ugpFSI1v-IozwJDsMBEg
https://paiza.io/projects/r8ugpFSI1v-IozwJDsMBEg
849デフォルトの名無しさん (ワッチョイ c3c7-/TFo)
2021/05/15(土) 08:10:42.65ID:J7vyd3+s0 新明快Java入門やれば、どのくらいのレベルにまでなりますか?
850デフォルトの名無しさん (ワッチョイ 2352-4oWM)
2021/05/15(土) 10:11:05.55ID:g/RpY5PE0851デフォルトの名無しさん (ワッチョイ 2d5f-NtHj)
2021/05/15(土) 11:50:17.54ID:2b2xBvmi0 業務でJava使ったことないんですが、GOLD取得してたらやる気くらいの証明になりますかね?
残念ながら若い年齢ではないけど。
残念ながら若い年齢ではないけど。
852デフォルトの名無しさん (ワッチョイ c3c7-/TFo)
2021/05/15(土) 13:03:10.87ID:J7vyd3+s0 >>850
なるほど
なるほど
853デフォルトの名無しさん (ワッチョイ eb7c-JrGs)
2021/05/15(土) 16:37:37.01ID:HLV2svjn0 率直な話
女子部ってどうなん?
女子部ってどうなん?
854デフォルトの名無しさん (スッップ Sd2f-aofp)
2021/05/15(土) 18:20:18.65ID:+39lhQ8wd >>851
silver取らなきゃgold受けられないしやる気の証明はできるんじゃない?
silver取らなきゃgold受けられないしやる気の証明はできるんじゃない?
855デフォルトの名無しさん (ワッチョイ b310-sort)
2021/05/16(日) 04:43:30.39ID:UeIwH95e0 (うまい例かどうか心配なのですが)
車名とオプションをフィールドとして持つ車オブジェクトがあります。これを車名の重複を許さない Collecition に格納します。
(N-box, 自動運転)
(ハスラー, パワースライドドア)
ここで新規のオブジェクトについて、既に同じ車名が Collection に存在すれば、オプションの内容を確認して特定の条件を満たす場合だけエントリーを差し替えたいと考えています。
((ハスラー, 自動運転) のエントリーを既存エントリー(ハスラー, パワースライドドア) と置き換えるかどうかは、既存エントリーのオプションにより決まる)
オブジェクトの hashcode() と equals(Object) を車名フィールドで実装して Collection を Set とすることで 「車名の重複のないCollection」 を作ることはできました。特定の車名をもつ既存エントリーへの参照を取ってくるうまい方法はないでしょうか。contains(Object) が真になる Collection 内のオブジェクトへの参照を得る方法です。
です。
(実際には車名は単一のフィールドではなく、複数のオブジェクトとプリミティブ形配列の組み合わせです)
1. Collection を ArrayList<車> にして、重複回避は contains(Object) をつかって自前でやり、既存のエントリーを get( indexOf(新エントリー) ) で参照
2. Collection を Map<車,車> にして同じオブジェクトを key と value の両方で登録し、既存のエントリーを get(新エントリー) で参照
ていうのでできないことはないのですが、ちょっとカッコ悪い気がしまして。
車名とオプションをフィールドとして持つ車オブジェクトがあります。これを車名の重複を許さない Collecition に格納します。
(N-box, 自動運転)
(ハスラー, パワースライドドア)
ここで新規のオブジェクトについて、既に同じ車名が Collection に存在すれば、オプションの内容を確認して特定の条件を満たす場合だけエントリーを差し替えたいと考えています。
((ハスラー, 自動運転) のエントリーを既存エントリー(ハスラー, パワースライドドア) と置き換えるかどうかは、既存エントリーのオプションにより決まる)
オブジェクトの hashcode() と equals(Object) を車名フィールドで実装して Collection を Set とすることで 「車名の重複のないCollection」 を作ることはできました。特定の車名をもつ既存エントリーへの参照を取ってくるうまい方法はないでしょうか。contains(Object) が真になる Collection 内のオブジェクトへの参照を得る方法です。
です。
(実際には車名は単一のフィールドではなく、複数のオブジェクトとプリミティブ形配列の組み合わせです)
1. Collection を ArrayList<車> にして、重複回避は contains(Object) をつかって自前でやり、既存のエントリーを get( indexOf(新エントリー) ) で参照
2. Collection を Map<車,車> にして同じオブジェクトを key と value の両方で登録し、既存のエントリーを get(新エントリー) で参照
ていうのでできないことはないのですが、ちょっとカッコ悪い気がしまして。
856デフォルトの名無しさん (ワッチョイ a301-vYPf)
2021/05/16(日) 05:10:46.49ID:E/1J84BK0 Set.getで良い気がする
857デフォルトの名無しさん (ワッチョイ a301-vYPf)
2021/05/16(日) 05:12:57.44ID:E/1J84BK0 引数に車オブジェクトを渡さないといけないけど
車名で車オブジェクトを得るなら
Map<String, 車>で車名 => 車のマップを作るとか
車名で車オブジェクトを得るなら
Map<String, 車>で車名 => 車のマップを作るとか
858デフォルトの名無しさん (ワッチョイ 834d-0qpL)
2021/05/16(日) 05:23:51.11ID:FVgsFl6o0 >オブジェクトの hashcode() と equals(Object) を車名フィールドで実装
車名が同じならオプションが違っても同値なん?
> 車名は単一のフィールドではなく、複数のオブジェクトとプリミティブ形配列の組み合わせ
車名クラスでまとめ、hashCode()を実装、Map<車名,車>でget(車名)
車名が同じならオプションが違っても同値なん?
> 車名は単一のフィールドではなく、複数のオブジェクトとプリミティブ形配列の組み合わせ
車名クラスでまとめ、hashCode()を実装、Map<車名,車>でget(車名)
859デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2021/05/16(日) 11:05:12.12ID:LKzrJH8Q0 車名をレコードとして定義すればequals()やhashCode()の実装は不要
SetはMapのkeyだけのコレクション(Set<Key>, Map<Key, Value>)
keyとして比較すべきじゃないオブジェクトを入れたSet<車>はよくない
SetはMapのkeyだけのコレクション(Set<Key>, Map<Key, Value>)
keyとして比較すべきじゃないオブジェクトを入れたSet<車>はよくない
860デフォルトの名無しさん (ワッチョイ b310-sort)
2021/05/16(日) 17:14:07.11ID:UeIwH95e0 みなさま、レスありがとうございます。
>>856
おっしゃる通り Set.get(Object) があればいいのですが見当たりません。
>>859 の
> keyとして比較すべきじゃないオブジェクトを入れたSet<車>はよくない
がお作法なのですね。
>>857,858,859
実際には車名は単一のオブジェクトではないので、そこをクラスなりレコードとして定義して、Collection は Map とするのがアドバイスですね。
>>858
> 車名が同じならオプションが違っても同値なん?
車オブジェクトは車名が同じであれば同一として扱える場合が多いです。しかし車名の一致を equals(Object) でハンドリングするのがよろしくないのかもしれません。
仕事のプログラミングではないので、もう少しじっくり悩んでみます。
>>856
おっしゃる通り Set.get(Object) があればいいのですが見当たりません。
>>859 の
> keyとして比較すべきじゃないオブジェクトを入れたSet<車>はよくない
がお作法なのですね。
>>857,858,859
実際には車名は単一のオブジェクトではないので、そこをクラスなりレコードとして定義して、Collection は Map とするのがアドバイスですね。
>>858
> 車名が同じならオプションが違っても同値なん?
車オブジェクトは車名が同じであれば同一として扱える場合が多いです。しかし車名の一致を equals(Object) でハンドリングするのがよろしくないのかもしれません。
仕事のプログラミングではないので、もう少しじっくり悩んでみます。
861デフォルトの名無しさん (ワッチョイ 739f-TF5N)
2021/05/16(日) 20:34:26.44ID:MBSdoreJ0 俺もMap<車名, 車>一択だと思うよ
車名より車種と例えるとより適切かな
車 has a 車種とすると冗長さも改善できる
車名より車種と例えるとより適切かな
車 has a 車種とすると冗長さも改善できる
862デフォルトの名無しさん (ワッチョイ adad-KSUd)
2021/05/19(水) 21:21:57.64ID:8rivzblS0 凄い低次元の質問ですが、、、
皆さんタイピングって、ホームポジション通りにやっていますか?
今度、Javaを勉強する事になりました。
我流のなんちゃってブラインドタッチでも問題なかったのですが
{}等の記号を打ちなれていなくて。
タイピングを基本通りに直すべきでしょうか?
皆さんタイピングって、ホームポジション通りにやっていますか?
今度、Javaを勉強する事になりました。
我流のなんちゃってブラインドタッチでも問題なかったのですが
{}等の記号を打ちなれていなくて。
タイピングを基本通りに直すべきでしょうか?
863デフォルトの名無しさん (オッペケ Sr63-Wcp/)
2021/05/19(水) 21:25:10.93ID:nXtJTB3Xr コーディングはUS配列だと楽だよ
個人の感想だが
個人の感想だが
864デフォルトの名無しさん (ワッチョイ adad-KSUd)
2021/05/19(水) 21:33:51.04ID:8rivzblS0865デフォルトの名無しさん (ワッチョイ 7701-yvuG)
2021/05/19(水) 21:34:57.71ID:9nPWOfi50 >>862
我流である程度精度とスピード出ているなら問題ないと思いますが、そうでないなら基本をマスターした上で自分に合ったやり方を見つけていくのが良いと思います。
我流である程度精度とスピード出ているなら問題ないと思いますが、そうでないなら基本をマスターした上で自分に合ったやり方を見つけていくのが良いと思います。
866デフォルトの名無しさん (ワッチョイ 3b68-Adon)
2021/05/19(水) 21:51:11.72ID:vDIwyYL80 基本はホームポジションでも
Shift押しながらとかだと我流になってしまってるな
Shift押しながらとかだと我流になってしまってるな
867デフォルトの名無しさん (ワッチョイ adad-KSUd)
2021/05/19(水) 22:00:22.69ID:8rivzblS0868デフォルトの名無しさん (スッップ Sd2f-aofp)
2021/05/19(水) 22:11:19.31ID:oCU5pJ7cd869デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2021/05/19(水) 22:32:22.28ID:u9Tr9lyP0 我流でも指が楽に動くようならそれに越したことは無い
一般的に推奨されてるどの指でどのキーを打つかってやつは
指にかかる負荷や連続タイプ時の動きが考慮されてないから
参考程度にとどめておいたほうがいい
一般的に推奨されてるどの指でどのキーを打つかってやつは
指にかかる負荷や連続タイプ時の動きが考慮されてないから
参考程度にとどめておいたほうがいい
870デフォルトの名無しさん (ワッチョイ 739f-TF5N)
2021/05/19(水) 23:46:27.23ID:rhqdChZG0 これはもしやdvorakや中指シフトを布教してもいい流れ…?(ウズウズ
871デフォルトの名無しさん (ワッチョイ 5302-Qmtv)
2021/05/20(木) 06:38:05.35ID:l+4b2Li70 ダイヤモンドカーソルが捨てられない。
872デフォルトの名無しさん (ワッチョイ 3b68-Adon)
2021/05/20(木) 10:24:43.99ID:8/8IoBOi0873デフォルトの名無しさん (スッップ Sd2f-aofp)
2021/05/20(木) 11:10:44.82ID:0com/Bnld874デフォルトの名無しさん (ワッチョイ 3b68-Adon)
2021/05/20(木) 12:04:28.12ID:8/8IoBOi0 Ctrl「」
Alt「」
Alt「」
875デフォルトの名無しさん (オッペケ Sr99-sYBi)
2021/05/20(木) 19:02:26.06ID:30h9gtLkr JavaのGOLD持ってれば実務で組んでなくても何かしらの評価になりますかね?
他言語経験者でJavaの勉強しようと思うんだけど、ゴールをどういうところにもっていこうかと思ってる。
他言語経験者でJavaの勉強しようと思うんだけど、ゴールをどういうところにもっていこうかと思ってる。
876デフォルトの名無しさん (ワッチョイ ab02-Adon)
2021/05/20(木) 20:27:10.80ID:MNzWSTCi0 「JavaのGOLDを持っているんだな」
という評価になる
もしJavaのプログラミングを仕事にしたいのであれば
そういう求人のところに応募するしかない
雇う側はゼロから教えるつもりだから
知識があるかどうかは関係がない
ちょっと有利かもしれない
という評価になる
もしJavaのプログラミングを仕事にしたいのであれば
そういう求人のところに応募するしかない
雇う側はゼロから教えるつもりだから
知識があるかどうかは関係がない
ちょっと有利かもしれない
877デフォルトの名無しさん (ワッチョイ 312c-TVsO)
2021/05/20(木) 21:17:11.84ID:7GLv43lA0 Ruby on Rails なんて、1年の未経験者が10年以上のプロよりも、技術力が上!
WSL2, Linux, Node.js(Webpack, Babel), Docker Compose, CircleCI,
VSCode(Remote Container, Remote WSL)、データベース
さらに最近は、AWS Fargate, Terraform, React, Vue.js
一方、YouTube で有名な雑食系エンジニア・KENTA は、
SES系Java は何もしなくても良いって言ってるw
SIer が、IT土方奴隷を集めているだけだから
YouTube では、自社開発系RubyのKENTA vs SES系Javaのモローの戦い
WSL2, Linux, Node.js(Webpack, Babel), Docker Compose, CircleCI,
VSCode(Remote Container, Remote WSL)、データベース
さらに最近は、AWS Fargate, Terraform, React, Vue.js
一方、YouTube で有名な雑食系エンジニア・KENTA は、
SES系Java は何もしなくても良いって言ってるw
SIer が、IT土方奴隷を集めているだけだから
YouTube では、自社開発系RubyのKENTA vs SES系Javaのモローの戦い
878デフォルトの名無しさん (ワッチョイ b310-Qmtv)
2021/05/20(木) 21:38:42.92ID:cxFAF0HU0 黄金の知識をちゃんとコードに反映できるレベルなら
そこらへんの低能が書いたコードより遥かに綺麗になることは間違いない
ただ知識詰め込んで黄金取りましたっていうなら低能と一緒
そこらへんの低能が書いたコードより遥かに綺麗になることは間違いない
ただ知識詰め込んで黄金取りましたっていうなら低能と一緒
879デフォルトの名無しさん (スッップ Sdba-gwqZ)
2021/05/21(金) 07:43:57.35ID:xiC/0WHtd 20代までなら実務経験なくても多少評価高く見てもらえるんじゃない?
他言語の経験はあるみたいだしそこでの活躍次第でいくらでも上振れる
30代以上なら資格なくてもJavaの実務経験豊富な奴採るかな
他言語の経験はあるみたいだしそこでの活躍次第でいくらでも上振れる
30代以上なら資格なくてもJavaの実務経験豊富な奴採るかな
880デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/21(金) 11:11:47.91ID:zMzSk3zP0 Javaの仕事したいわけじゃないんじゃないかな・・・だってJavaだよ
881デフォルトの名無しさん (スッップ Sdba-gwqZ)
2021/05/21(金) 12:05:09.44ID:xiC/0WHtd Javaの仕事したくないのにgold取る意味が分からん
評価欲しいならその業務に適した資格があるだろ
評価欲しいならその業務に適した資格があるだろ
882デフォルトの名無しさん (ワッチョイ 4e10-fapT)
2021/05/21(金) 12:28:59.03ID:0Sgqy91j0 IBM HLアセンブラーの資格試験がありません。よくこれだけで30年食えたわ
883デフォルトの名無しさん (ワッチョイ c7fd-FS33)
2021/05/21(金) 13:53:03.23ID:E7VjYYrK0 GOLDとっても若くないと取得しても意味がないかな
受験料安ければ自己研鑽でとってもいいんだけどなぁ
保有してる方はどういう理由で取得されたんですか?
受験料安ければ自己研鑽でとってもいいんだけどなぁ
保有してる方はどういう理由で取得されたんですか?
884デフォルトの名無しさん (ワッチョイ 5a81-2aW8)
2021/05/21(金) 14:34:00.41ID:J6y23PLS0 Javaでおすすめのparser libraryってありますか?
885デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/21(金) 14:48:02.65ID:zMzSk3zP0 >>884
何をパースするん? CSV? JSON? XML?
何をパースするん? CSV? JSON? XML?
886デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)
2021/05/21(金) 15:06:39.75ID:DJROoS0Z0 初心者だがファイル読み込みとは言わずパーサを欲しがる……
とするとSableCCみたいなパーサジェネレータが欲しいんだろ
とするとSableCCみたいなパーサジェネレータが欲しいんだろ
887デフォルトの名無しさん (ワッチョイ b602-lMMI)
2021/05/21(金) 17:52:45.42ID:UJ1kX+6I0 住所のパーサー
888デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/21(金) 20:18:52.67ID:zMzSk3zP0 総務省の全国地方公共団体コードを参照して
都道府県、市区町村、その他住所に分割したことならある
総務省|電子自治体|全国地方公共団体コード
https://www.soumu.go.jp/denshijiti/code.html
都道府県、市区町村、その他住所に分割したことならある
総務省|電子自治体|全国地方公共団体コード
https://www.soumu.go.jp/denshijiti/code.html
889デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)
2021/05/22(土) 10:32:23.88ID:zUe7A7la0 最後が32ページとかなってるがこいつらマジで印刷するつもりなのか、バカだろ
総務省はアホとバカのすくつか?
最高学府でエクセル印刷するバカを量産してんのか?
総務省はアホとバカのすくつか?
最高学府でエクセル印刷するバカを量産してんのか?
890デフォルトの名無しさん (ワッチョイ 5a81-CDvz)
2021/05/22(土) 14:16:48.59ID:tNDHMa2e0891デフォルトの名無しさん (ワッチョイ 0eda-WUTn)
2021/05/22(土) 16:14:37.91ID:UkwPJEM/0 HttpUrlConnectionを使ってサーバに対してPOST送信してるのですが、
送信データはBASE64文字列のため、「+」が含まれているとスペースに置き換わってしまいます。
これはJavaの仕様なのでしょうか?
何か回避策ありますかね?
// POSTデータ送信処理
try (OutputStream out = con.getOutputStream()) {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
writer.write("signature=" + signature);
writer.flush();
writer.close();
送信データはBASE64文字列のため、「+」が含まれているとスペースに置き換わってしまいます。
これはJavaの仕様なのでしょうか?
何か回避策ありますかね?
// POSTデータ送信処理
try (OutputStream out = con.getOutputStream()) {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
writer.write("signature=" + signature);
writer.flush();
writer.close();
892デフォルトの名無しさん (ワッチョイ 9a87-I6Yg)
2021/05/22(土) 17:43:07.78ID:BpGuuP7G0 URLEncodeしたら良いのでは?
893デフォルトの名無しさん (ワッチョイ 4e10-fapT)
2021/05/22(土) 19:16:21.75ID:OTmzqgg10 >>889
ただの大学出ってだけでなくて、東京一工早慶とかゴロゴロいそうなイメージ
ただの大学出ってだけでなくて、東京一工早慶とかゴロゴロいそうなイメージ
894デフォルトの名無しさん (ワッチョイ df01-WkiI)
2021/05/22(土) 19:20:56.87ID:slWco1FS0895デフォルトの名無しさん (ワッチョイ bb5f-crVl)
2021/05/22(土) 19:36:52.96ID:ltwxHPV/0 (Kyokumen)oの処理は何をしているのでしょうか
基本かと思うのですが
class Kyokumen implements Constants,Cloneable {
//中略
public boolean equals(Object o) {
Kyokumen k=(Kyokumen)o;
if (k==null) return false;
return equals(k);
}
//中略
}
基本かと思うのですが
class Kyokumen implements Constants,Cloneable {
//中略
public boolean equals(Object o) {
Kyokumen k=(Kyokumen)o;
if (k==null) return false;
return equals(k);
}
//中略
}
896デフォルトの名無しさん (ワッチョイ 275f-Hm19)
2021/05/22(土) 19:49:20.98ID:wyVRn0/c0897デフォルトの名無しさん (ワッチョイ bb5f-crVl)
2021/05/22(土) 19:51:28.10ID:ltwxHPV/0 Java将棋のアルゴリズムという本からの抜粋です
ありがとうございました。
ありがとうございました。
898デフォルトの名無しさん (ワッチョイ 5a9f-miPe)
2021/05/23(日) 01:42:48.15ID:b3Yb3C630 邪悪なコードに見えるけど、きっと抜粋元では型チェックしてるし、オーバーロードもprivateなんでしょう
899デフォルトの名無しさん (ワッチョイ 5b2c-5BAZ)
2021/05/23(日) 13:09:09.14ID:zmSGPUw10 インスタンス同士の等価でしょ。
丸投げ判定
Ruby で言う、<=> 宇宙船演算子
丸投げ判定
Ruby で言う、<=> 宇宙船演算子
900デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)
2021/05/23(日) 13:40:34.46ID:P4UGjjTl0 1 equalsはObjectで受け取るのがお約束
2 次のステップでは適切な型かどうかチェックするのもセオリー
3 その後にようやくホントの比較をする
これをすっ飛ばすとセオリーだけがヘンにこびりついた謎コードが出来上がる
曰く「equalsではObjectで受けとれ」てな村の伝承で型チェックせず無条件にキャストしてる
でも局面と局面以外を比較するミスなんてそうそう起きないでしょコレ
昔からの惰性でキャストしてる
2 次のステップでは適切な型かどうかチェックするのもセオリー
3 その後にようやくホントの比較をする
これをすっ飛ばすとセオリーだけがヘンにこびりついた謎コードが出来上がる
曰く「equalsではObjectで受けとれ」てな村の伝承で型チェックせず無条件にキャストしてる
でも局面と局面以外を比較するミスなんてそうそう起きないでしょコレ
昔からの惰性でキャストしてる
901デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)
2021/05/23(日) 13:44:08.84ID:P4UGjjTl0 ・キャスト知らない
・equalsの典型的な書き方知らない
将棋の本読んでる場合じゃねーぞ
Javaの教科書一通り読んだ方が早いゾ
基本と分かってて基本をやって無いんだからこの先幾度となくつっかかって読み通せなくなるのが目に見えてる
・equalsの典型的な書き方知らない
将棋の本読んでる場合じゃねーぞ
Javaの教科書一通り読んだ方が早いゾ
基本と分かってて基本をやって無いんだからこの先幾度となくつっかかって読み通せなくなるのが目に見えてる
902デフォルトの名無しさん (ワッチョイ 5b2c-5BAZ)
2021/05/23(日) 14:33:42.74ID:zmSGPUw10 たいてい、どの言語でも「Effective 何々」と言う本に書いてある
インスタンス同士の比較を定義しましょうとか、
インスタンス.to_string を定義しましょうとか
インスタンス同士の比較を定義しましょうとか、
インスタンス.to_string を定義しましょうとか
903デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)
2021/05/23(日) 14:39:32.91ID:P4UGjjTl0904デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 15:42:25.84ID:2txaDFya0 なんでobjectで受け取ってるか理解してないガチ素人しかいなくてワロタw
回答側も初心者しかいなくてワロタw
回答側も初心者しかいなくてワロタw
905デフォルトの名無しさん (ワッチョイ 5b2c-5BAZ)
2021/05/23(日) 16:04:36.11ID:zmSGPUw10 Object は基底クラスだから、
つまり、すべてのクラスを受け付けるように作っている
つまり、すべてのクラスを受け付けるように作っている
906デフォルトの名無しさん (ワッチョイ 5a9f-miPe)
2021/05/23(日) 16:13:39.47ID:b3Yb3C630 >>899
RubyおじさんJava分かってないじゃん
インスタンス等価を評価したいならそもそもオーバーライドする必要がない
super.equals(k) と書いていない以上、Objectクラスのインスタンス等価の実装が呼ばれることはない
再起でスタックオーバーフローになってないならオーバーロードが省略されてると考えるのが妥当
ついでに言うと、equalsをオーバーロードするのは悪手もいいところ
ただしequalsのオーバーロードをprivateで書いた場合は直ちに実害はない(やりたいとは決して思わんけど)
RubyおじさんJava分かってないじゃん
インスタンス等価を評価したいならそもそもオーバーライドする必要がない
super.equals(k) と書いていない以上、Objectクラスのインスタンス等価の実装が呼ばれることはない
再起でスタックオーバーフローになってないならオーバーロードが省略されてると考えるのが妥当
ついでに言うと、equalsをオーバーロードするのは悪手もいいところ
ただしequalsのオーバーロードをprivateで書いた場合は直ちに実害はない(やりたいとは決して思わんけど)
907デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 16:15:22.80ID:2txaDFya0 そういう意味じゃねーんだなぁ
908デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 16:19:28.38ID:WOQp3bQ90909デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 16:32:49.81ID:2txaDFya0 ルビーのおっさんは論外だからもうレスしないほうがいいぞ
910デフォルトの名無しさん (ワッチョイ 5a9f-miPe)
2021/05/23(日) 17:03:37.00ID:b3Yb3C630 >>908
書くだけ無駄な上にミスを誘発する
特にオーバーロードだけ書いてオーバーライドを忘れるとMapなどでまともに動かなくなる
サブクラスを増やしたときもオーバーロード向けのオーバーライドがいちいち必要になって冗長だしこれまたミスを誘う
オーバーロード間で挙動に一貫性がなかったりするとこれまた分かりにくいバグを生む
書くだけ無駄な上にミスを誘発する
特にオーバーロードだけ書いてオーバーライドを忘れるとMapなどでまともに動かなくなる
サブクラスを増やしたときもオーバーロード向けのオーバーライドがいちいち必要になって冗長だしこれまたミスを誘う
オーバーロード間で挙動に一貫性がなかったりするとこれまた分かりにくいバグを生む
911デフォルトの名無しさん (ワッチョイ 979c-5O72)
2021/05/23(日) 18:20:34.20ID:9APxQxbl0 >>908
オーバーライドではなくオーバーロードだよ? 悪手に決まってんじゃん
元のコードを読み返してみて equals の中から equals が呼ばれてる
これがスタックオーバーフローしないのは equals(Kyokumen k) というオーバーロードが存在するからと推測できる
このようなオーバーロードをしてるとちょっとしたことでスタックオーバーフローしがち
だからやめようね
オーバーライドではなくオーバーロードだよ? 悪手に決まってんじゃん
元のコードを読み返してみて equals の中から equals が呼ばれてる
これがスタックオーバーフローしないのは equals(Kyokumen k) というオーバーロードが存在するからと推測できる
このようなオーバーロードをしてるとちょっとしたことでスタックオーバーフローしがち
だからやめようね
912デフォルトの名無しさん (ワッチョイ 1a61-lZiV)
2021/05/23(日) 18:56:42.05ID:KO9AQv5q0 内側の隠蔽用途なら、適当に_つけるとかなんかすればいいしな。
913デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:05:03.23ID:WOQp3bQ90 >>910
そうなんだ
そうなんだ
914デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:05:53.77ID:WOQp3bQ90915デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:07:30.09ID:WOQp3bQ90 間違って書いたとしてもスタックオーバーフローになるなら実装時に気づくと思うけどなあ
なんでダメなのかあまり説得力を感じなかった
なんでダメなのかあまり説得力を感じなかった
916デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:08:22.16ID:WOQp3bQ90 オーバーライド忘れてMapが動かなくなるのはオーバーライドがあろうがなかろうがそんなの当たり前じゃん
君たちの批判はすべて言いがかりレベルの些末なことだよ
君たちの批判はすべて言いがかりレベルの些末なことだよ
917デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:09:45.22ID:WOQp3bQ90 僕はそんなミスをしたことがないんだよね、僕が優秀なだけなのかな
なんか優秀でごめんだけど、本当に意味がわからないんだよね
なんか優秀でごめんだけど、本当に意味がわからないんだよね
918デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 19:18:10.69ID:2txaDFya0 ”君たち”じゃないから
くそみたいな低レベルな話してるのはおまえともう一人の奴だけだ
関係ないやつを巻き込むな
くそみたいな低レベルな話してるのはおまえともう一人の奴だけだ
関係ないやつを巻き込むな
919デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:19:24.44ID:WOQp3bQ90920デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:20:23.07ID:WOQp3bQ90921デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 19:26:05.46ID:2txaDFya0 別にワイは握手なんて言ってない
噛みつくな阿呆
噛みつくな阿呆
922デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:30:45.97ID:WOQp3bQ90923デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:31:01.71ID:WOQp3bQ90 率直に
924デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:35:54.83ID:WOQp3bQ90 > public boolean equals(Object o) {
> Kyokumen k=(Kyokumen)o;
> if (k==null) return false;
> return equals(k);
> }
このメソッドはKyokumenでないオブジェクトが渡されたときに
実行時例外が投げられるけれども、実行時例外が投げられるからこそ
実装ミスに気づける良いコードとも言えるわけです
> Kyokumen k=(Kyokumen)o;
> if (k==null) return false;
> return equals(k);
> }
このメソッドはKyokumenでないオブジェクトが渡されたときに
実行時例外が投げられるけれども、実行時例外が投げられるからこそ
実装ミスに気づける良いコードとも言えるわけです
925デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:39:00.17ID:WOQp3bQ90 Javaの標準ライブラリはジェネリクス使ってコンパイル時に型の間違いを検出できるようにするのが
理想なんでしょうけどね
理想なんでしょうけどね
926デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 19:50:40.79ID:2txaDFya0 頭悪そうだからわかってて言ってるのか知らんが
オバマロードの糞な点はメソッドの選択が動的ではないということだろ
オバマロードの糞な点はメソッドの選択が動的ではないということだろ
927デフォルトの名無しさん (ワッチョイ 979c-5O72)
2021/05/23(日) 19:52:33.86ID:9APxQxbl0 >>914
そりゃあちゃんと書いてれば再帰にはならないけどさ
equals(Kyokumen k) の型を間違えたり変更したりしただけで equals(Object o) がマッチしてしまう危険性がある
たとえば equals(KyokumenB k) にしてしまったりとか
そりゃあちゃんと書いてれば再帰にはならないけどさ
equals(Kyokumen k) の型を間違えたり変更したりしただけで equals(Object o) がマッチしてしまう危険性がある
たとえば equals(KyokumenB k) にしてしまったりとか
928デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:58:09.23ID:WOQp3bQ90 >>926
> オバマロードの糞な点はメソッドの選択が動的ではないということだろ
それはオーバーロードの説明であってクソなところの説明ではないよね
いまだにあなたは何も言ってない状況です、給料泥棒だよ
> オバマロードの糞な点はメソッドの選択が動的ではないということだろ
それはオーバーロードの説明であってクソなところの説明ではないよね
いまだにあなたは何も言ってない状況です、給料泥棒だよ
929デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 19:59:35.86ID:WOQp3bQ90930デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 20:03:19.38ID:2txaDFya0 >それはオーバーロードの説明であってクソなところの説明ではないよね
動的でないメソッドの選択が実装者にとってとてつもなく糞で言語の欠陥って言ってるのが
わからないくらいアホなんだからレスつけるな低能
動的でないメソッドの選択が実装者にとってとてつもなく糞で言語の欠陥って言ってるのが
わからないくらいアホなんだからレスつけるな低能
931デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 20:04:24.08ID:WOQp3bQ90 >>930
どうしてクソなのか説明できる?
どうしてクソなのか説明できる?
932デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 20:05:58.14ID:2txaDFya0 説明できなきゃ動的でないってレスもできないよなぁアホ
「私は低能だからわからないので教えてください」って言ったら説明してやるよ低能
「私は低能だからわからないので教えてください」って言ったら説明してやるよ低能
933デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 20:07:50.86ID:WOQp3bQ90 >>932
私は低能だからわからないので教えてください
私は低能だからわからないので教えてください
934デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 20:08:15.84ID:WOQp3bQ90 言っとくけど僕にはプライドなんてないからね!!
935デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 20:20:11.34ID:2txaDFya0 ほんとド低能は低能すぎてしょうがないにゃぁ
オバマロードしたメソッドはコンパイルされた段階でどのメソッドが呼び出されるか既に確定してるんだよ
今回のように同じ型を引数に渡せるメソッドが2つあった場合Objectの方のメソッドしか絶対に呼ばれない
これが糞な理由だ
これでわからなかった諦めて入門書からやりなおせ低能
オバマロードしたメソッドはコンパイルされた段階でどのメソッドが呼び出されるか既に確定してるんだよ
今回のように同じ型を引数に渡せるメソッドが2つあった場合Objectの方のメソッドしか絶対に呼ばれない
これが糞な理由だ
これでわからなかった諦めて入門書からやりなおせ低能
936デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 20:22:39.10ID:2txaDFya0 今回のようにとは言ったがオーバーロードしたメソッドがあるかは全くわからんけどな
そんなもん作っても呼ばれないんだから無意味だしないと考えるのが妥当
そんなもん作っても呼ばれないんだから無意味だしないと考えるのが妥当
937デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 20:28:33.19ID:WOQp3bQ90 >>935
え、全然わかんないんだけど、何言ってるのこの人、ちゃんと説明してる?
> 今回のように同じ型を引数に渡せるメソッドが2つあった場合Objectの方のメソッドしか絶対に呼ばれない
実引数の型によるよね
え、全然わかんないんだけど、何言ってるのこの人、ちゃんと説明してる?
> 今回のように同じ型を引数に渡せるメソッドが2つあった場合Objectの方のメソッドしか絶対に呼ばれない
実引数の型によるよね
938デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 20:29:59.37ID:2txaDFya0 よらねーんだアホ
だから低能なんだよお前は
あほ
だから低能なんだよお前は
あほ
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- プーチン大統領「ウクライナ軍が撤退すれば戦闘は終わる」と主張 [どどん★]
- 【テレビ】玉川徹「これ天災じゃなくて人災でしょ。責任どうするんだ」 日本のホテル、中国人観光客からのキャンセルが相次ぐ [冬月記者★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★10 [Ailuropoda melanoleuca★]
- 高市総理の「そんなことよりも」発言を釈明 木原官房長官「急いで話題転換する趣旨」 [ぐれ★]
- 【中国国防省】日本は戦争犯罪を悔い改め、憲法改正と軍備増強という危険な試みをただちに改めよと発信… [BFU★]
- 参政・梅村みずほ議員「土葬を原則禁止にしろ」「上皇陛下も火葬が望ましいといってる」 [バイト歴50年★]
