次スレを立てる時は本文の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
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 0fba-HyQo)
2020/04/01(水) 15:09:15.95ID:9COIb57q0885デフォルトの名無しさん (ワッチョイ 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 よらねーんだアホ
だから低能なんだよお前は
あほ
だから低能なんだよお前は
あほ
939デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 20:31:43.15ID:2txaDFya0 疑問に思う前に手を動かせ糞初心者
ピーチクパーチク喚きやがって
あほ
ピーチクパーチク喚きやがって
あほ
940デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 20:38:40.39ID:WOQp3bQ90941デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 20:39:30.35ID:2txaDFya0 じゃあコンパイラが進化したんだろ
よかったな
よかったな
942デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/23(日) 20:40:56.61ID:WOQp3bQ90943デフォルトの名無しさん (ブーイモ MMe7-jNIj)
2021/05/23(日) 21:42:48.93ID:M92o8L4fM さすがFラン
教える側のスキルも高いww
教える側のスキルも高いww
944デフォルトの名無しさん (スッップ Sdba-gwqZ)
2021/05/23(日) 23:20:27.21ID:to7c/Wgud 初心者なんですけど ワッチョイ 4e10-lMMI の涙目敗走負けってことでいいんですか??
945デフォルトの名無しさん (ワッチョイ 4e10-lMMI)
2021/05/23(日) 23:24:15.67ID:2txaDFya0 逆
オバマロードが静的であることは事実だから
おまえの負け
オバマロードが静的であることは事実だから
おまえの負け
946デフォルトの名無しさん (ワッチョイ 3e02-cTKX)
2021/05/23(日) 23:32:32.83ID:zMFANV160 SpringBootでコンソールアプリケーションを作成したいんだけど
コマンドライン引数解析でいい感じのライブラリってある?
.NETでは↓こういうのがあってこれの類似品がJavaにあれば助かる
https://github.com/Cysharp/ConsoleAppFramework
コマンドライン引数解析でいい感じのライブラリってある?
.NETでは↓こういうのがあってこれの類似品がJavaにあれば助かる
https://github.com/Cysharp/ConsoleAppFramework
947デフォルトの名無しさん (ワッチョイ 5a9f-miPe)
2021/05/23(日) 23:42:14.02ID:b3Yb3C630 ApplicationRunner標準のApplicationArgumentsしか使ってないや
948デフォルトの名無しさん (ワッチョイ 5a01-S/TN)
2021/05/23(日) 23:48:00.16ID:8+E/rOe30949デフォルトの名無しさん (ワッチョイ 7601-L4y7)
2021/05/24(月) 00:37:58.81ID:VswUGgIR0 >>948
nullのときfalseにしたいだけだと思うよ
nullのときfalseにしたいだけだと思うよ
950デフォルトの名無しさん (ワッチョイ 979c-5O72)
2021/05/24(月) 01:14:48.10ID:E9VQgXzh0 >>949
nullのときにfalseにするならキャスト前に o == null で十分
instanceof 使わずに強制キャスト試みるなら k も要らんな
equals((Kyokumen)o) でいいな
どうせテキトーなコードなんだから
nullのときにfalseにするならキャスト前に o == null で十分
instanceof 使わずに強制キャスト試みるなら k も要らんな
equals((Kyokumen)o) でいいな
どうせテキトーなコードなんだから
951デフォルトの名無しさん (ワッチョイ 5a01-S/TN)
2021/05/24(月) 01:34:10.56ID:ffjxbchL0952デフォルトの名無しさん (ワッチョイ 7601-RnDR)
2021/05/24(月) 02:27:54.53ID:VswUGgIR0 >>950
それはキャストしたあとにヌルチェックするのが不十分ということにはならんよね
それはキャストしたあとにヌルチェックするのが不十分ということにはならんよね
953デフォルトの名無しさん (ワッチョイ 7601-RnDR)
2021/05/24(月) 02:29:52.62ID:VswUGgIR0 if分は三項演算子で十分と言ってるようなもので結局書き手の好みでしかないよ
954デフォルトの名無しさん (ワッチョイ 7601-RnDR)
2021/05/24(月) 02:32:12.56ID:VswUGgIR0 コストの差なんて誤差みたいなものだしキャストの前と後どちらでヌルチェックするかにこだわるのは時間の無駄だよ、それよりも将棋のアルゴリズムを考えたが良い
955デフォルトの名無しさん (ワッチョイ 3761-lZiV)
2021/05/24(月) 09:16:45.11ID:Mu3SKiXg0 たったこれだけのイディオムで書く書かない考えるまでもないだろ。
if (o == null || getClass() != o.getClass()) return false;
GoogleのAutoなんとかやIDEが勝手に追加してくれる。
if (o == null || getClass() != o.getClass()) return false;
GoogleのAutoなんとかやIDEが勝手に追加してくれる。
956デフォルトの名無しさん (ワッチョイ 4e10-fapT)
2021/05/25(火) 03:40:08.61ID:aPZR3p760957デフォルトの名無しさん (スップ Sdba-+uhp)
2021/05/25(火) 08:14:57.06ID:NjlFkzs4d method(Object o)
というメソッドを呼び出す時、String型だろうがInteger型だろうが引数に渡すことができますが
method(List<Object> oList)
というメソッドに対してList<String>やList<Integer>を引数に渡す事ができないのはなぜでしょうか?
というメソッドを呼び出す時、String型だろうがInteger型だろうが引数に渡すことができますが
method(List<Object> oList)
というメソッドに対してList<String>やList<Integer>を引数に渡す事ができないのはなぜでしょうか?
958デフォルトの名無しさん (ワッチョイ 6301-7S+s)
2021/05/25(火) 08:42:01.42ID:9mK+q0F80 >>957
仕様で禁止
仮にmethod(List<Object> oList)の中でoList.add("test")ってやってたら、List<Integer>を渡されたら困るでしょ
これができないのと同じこと
List<Object> objList;
List<Integer> intList = new ArrayList<>();
objList = intList; // コンパイルエラー
objList.add("数字じゃない");
仕様で禁止
仮にmethod(List<Object> oList)の中でoList.add("test")ってやってたら、List<Integer>を渡されたら困るでしょ
これができないのと同じこと
List<Object> objList;
List<Integer> intList = new ArrayList<>();
objList = intList; // コンパイルエラー
objList.add("数字じゃない");
959デフォルトの名無しさん (ワッチョイ 3761-lZiV)
2021/05/25(火) 09:30:33.81ID:LcgTzRfK0960デフォルトの名無しさん (ブーイモ MMab-T0K/)
2021/05/30(日) 17:47:48.28ID:y07gAalSM JPAのhibernate.ddl-auto=updateって使ってる?
961デフォルトの名無しさん (ワッチョイ 3e01-O+lH)
2021/06/04(金) 19:22:32.43ID:m+7qhb/N0 質問です
var stream = IntStream.range(0, 10).boxed();
このStreamから要素数を指定してグルーピングして
[0,1,2],[3,4,5],[7,8,9]
というStreamを得たいのですがどのようにデータを操作すれば良いですか?
Streamではこういうことできなかったりしますか?
var stream = IntStream.range(0, 10).boxed();
このStreamから要素数を指定してグルーピングして
[0,1,2],[3,4,5],[7,8,9]
というStreamを得たいのですがどのようにデータを操作すれば良いですか?
Streamではこういうことできなかったりしますか?
962デフォルトの名無しさん (ワッチョイ ca02-uikQ)
2021/06/04(金) 22:35:57.03ID:1mLYK0aA0 なぜ6が抜けてるのか...ミスだと仮定すると
Collection<List<Integer>> values = IntStream.range(0,10).boxed()
.collect(Collectors.groupingBy(i -> i / 3))
.values();
System.out.println(values);
実行結果
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]
Collection<List<Integer>> values = IntStream.range(0,10).boxed()
.collect(Collectors.groupingBy(i -> i / 3))
.values();
System.out.println(values);
実行結果
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]
963デフォルトの名無しさん (ワッチョイ 3e01-O+lH)
2021/06/04(金) 23:26:44.04ID:m+7qhb/N0 >>962
ありがとうございます!
6はミスなので気にしないで大丈夫です
collectはStreamが終わってしまうんですよね
[0,1,2]...をStreamで逐次に読み出したいんですせっかくのStreamなので
グルーピングの処理を逐次でできるといんですけど
ありがとうございます!
6はミスなので気にしないで大丈夫です
collectはStreamが終わってしまうんですよね
[0,1,2]...をStreamで逐次に読み出したいんですせっかくのStreamなので
グルーピングの処理を逐次でできるといんですけど
964デフォルトの名無しさん (ワッチョイ 3e01-O+lH)
2021/06/04(金) 23:44:45.71ID:m+7qhb/N0 無理なんですかね、.NETのLINQのGroupByもシーケンス全部を読み取るようですし
条件を指定した場合は要素を全部見ないといけないんでしょうけど
先頭から数件ごとにグルーピングする場合は理屈としてはシーケンシャルに
読み取れるはずなのでStreamでやれればと思ったんですけど、難しいですねこれ
いったん諦めます、もしわかったかたおられたら教えて欲しいです
私はRxJavaを試してみます
条件を指定した場合は要素を全部見ないといけないんでしょうけど
先頭から数件ごとにグルーピングする場合は理屈としてはシーケンシャルに
読み取れるはずなのでStreamでやれればと思ったんですけど、難しいですねこれ
いったん諦めます、もしわかったかたおられたら教えて欲しいです
私はRxJavaを試してみます
965デフォルトの名無しさん (ワッチョイ 7a4d-Maj3)
2021/06/05(土) 02:14:20.34ID:vquxfJwH0 Iterator使ってみた
https://ideone.com/X97Qfj
https://ideone.com/X97Qfj
966デフォルトの名無しさん (ワッチョイ ca02-uikQ)
2021/06/05(土) 02:32:28.30ID:3xxGtz3m0 >>964 すまんグルーピングじゃなくてただのwindowか...
RxJavaなら
Observable.range(0, 9).window(3).subscribe(....)
Streamだと今思いつかない。
RxJavaなら
Observable.range(0, 9).window(3).subscribe(....)
Streamだと今思いつかない。
967デフォルトの名無しさん (ワッチョイ 3e01-O+lH)
2021/06/05(土) 03:00:46.09ID:MxOWvxhv0968デフォルトの名無しさん (ワッチョイ caad-p9zx)
2021/06/05(土) 18:40:06.43ID:lg0pCfQ90 Kotlin もよろしく
Kotlinだとこうなる
val values = (1..10).chunked(3)
println(values)
出力
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
Kotlinだとこうなる
val values = (1..10).chunked(3)
println(values)
出力
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
969デフォルトの名無しさん (ワッチョイ 3e01-O+lH)
2021/06/05(土) 18:48:27.34ID:MxOWvxhv0 >>968
Kotlinすごいです!
Kotlinすごいです!
970デフォルトの名無しさん (テテンテンテン MMde-PbG/)
2021/06/05(土) 19:12:38.58ID:ZdF2VrafM Kotlin使いてえ
来週会社に行ったらみんなJavaを書くのをやめてKotlinしか使ってない世界にならないかなあ
あ、転職すりゃいーのか
来週会社に行ったらみんなJavaを書くのをやめてKotlinしか使ってない世界にならないかなあ
あ、転職すりゃいーのか
971デフォルトの名無しさん (ワッチョイ 0a01-UPQK)
2021/06/05(土) 21:27:20.46ID:f5S9H8yw0 >>968
chunkedが返すのは残念ながらList<List<T>>
chunkedが返すのは残念ながらList<List<T>>
972デフォルトの名無しさん (ワッチョイ 0a9f-PbG/)
2021/06/06(日) 04:18:19.03ID:5/y0UvPV0 sequenceに変換してからchunkedを呼べばいいんじゃないの?
973デフォルトの名無しさん (ワッチョイ caad-p9zx)
2021/06/06(日) 05:26:06.72ID:d9R15mSw0974デフォルトの名無しさん (ワッチョイ 8961-Fu2c)
2021/06/06(日) 07:26:35.60ID:lKbJDHfK0975デフォルトの名無しさん (テテンテンテン MMde-PbG/)
2021/06/06(日) 10:23:11.57ID:ybXqEAw1M >>973
Kotlin使いなのにまさかの初歩的質問だな
StreamとSequenceはパイプライン処理を抽象化したもので遅延評価される
振る舞いが違うし性能に差が出る
シーケンス図で説明できると早いんだが
1万件のリストを10回ずつmapとfilterして結果の先頭1件目を取り出す場合、リストなら必ず1万件全てに対して処理が走る
ストリームなら最初の1件目がお目当ての品だった場合、ストリームから後続の値が取り出されることすらなく処理が完了する
Kotlin使いなのにまさかの初歩的質問だな
StreamとSequenceはパイプライン処理を抽象化したもので遅延評価される
振る舞いが違うし性能に差が出る
シーケンス図で説明できると早いんだが
1万件のリストを10回ずつmapとfilterして結果の先頭1件目を取り出す場合、リストなら必ず1万件全てに対して処理が走る
ストリームなら最初の1件目がお目当ての品だった場合、ストリームから後続の値が取り出されることすらなく処理が完了する
976デフォルトの名無しさん (ワッチョイ 4a02-p9zx)
2021/06/06(日) 16:58:45.74ID:yq1OPwe70 そういう速さを求めるんだったら
そもそもJavaとかKotlinとか使わないと思う
そもそもJavaとかKotlinとか使わないと思う
977デフォルトの名無しさん (テテンテンテン MMde-PbG/)
2021/06/06(日) 18:00:10.88ID:YnVE4/VRM それってぼくは性能追求してないのでfor文で欲しいデータが見つかってもbreak全然書きませんって言ってるようなもんだ
Javaがよく使われる業務領域では社員数に応じてデータ量は増えるしRDBも絡む
小さなコレクションの基礎的な変形操作にしか活用してないならともかく、データの取り出し元がRDBだとか、繰り返し処理が全体に有意差を生むケースはいくらでも想定できる
Javaがよく使われる業務領域では社員数に応じてデータ量は増えるしRDBも絡む
小さなコレクションの基礎的な変形操作にしか活用してないならともかく、データの取り出し元がRDBだとか、繰り返し処理が全体に有意差を生むケースはいくらでも想定できる
978デフォルトの名無しさん (ワッチョイ caad-/d/6)
2021/06/06(日) 18:12:28.57ID:d9R15mSw0 >>975
JavaのStreamってKotlinのSequenceと同じなの?
JavaのStreamってKotlinのSequenceと同じなの?
979デフォルトの名無しさん (テテンテンテン MMde-PbG/)
2021/06/06(日) 18:42:58.32ID:YnVE4/VRM980デフォルトの名無しさん (ワッチョイ 4a02-p9zx)
2021/06/07(月) 01:52:52.07ID:rSnCAv9Z0 >>977
大部分のJavaプログラマはそういう理屈が分かっていないと思う
大部分のJavaプログラマはそういう理屈が分かっていないと思う
981デフォルトの名無しさん (ワッチョイ caad-IO17)
2021/06/07(月) 03:29:56.60ID:I7XktEYA0 >>975
なんで唐突に Sequence の話になっているのか?
なんで唐突に Sequence の話になっているのか?
982デフォルトの名無しさん (テテンテンテン MMde-PbG/)
2021/06/07(月) 10:46:02.62ID:1cyU61QNM983デフォルトの名無しさん (アウアウウー Sa11-/d/6)
2021/06/08(火) 09:50:05.38ID:CFn1v5aZa >>979
遅延なのは同じでは?
遅延なのは同じでは?
984デフォルトの名無しさん (ワッチョイ 0a9f-PbG/)
2021/06/08(火) 10:27:33.98ID:ZnZwWBys0 >>983
遅延なのは同じだよ?(うぜえ
遅延なのは同じだよ?(うぜえ
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★6 [ぐれ★]
- 財政膨張、自民党内に異論 麻生副総裁「やりすぎじゃないか」 [蚤の市★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★6 [ぐれ★]
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」★3 [ぐれ★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 ★2 [ぐれ★]
- 経団連会長、中国大使面会 代表団受け入れ要請 ★2 [蚤の市★]
- つかもうぜっ!!
- へっへっ屁が出る5秒前
- ワイの通り名が「キモハゲワキガなんやが」
- ペルソナ4リメイク楽しみだけど千枝も雪子もブスなんだよな
- 土曜日はSNSの民度が高い
- 死刑告知ってガストのクソ給仕ネコにやらせればよくね?
