【Console Application】ファイルとデータベース 180【学習記】
ファイルとかデータベースの話🤤
→ Kotlin はジェネリクスやコンストラクタオーバーロードに対してはちょっと弱い言語なのかも
→初期化引数として型不明って使い方したいだけなのにコレクションとして指定が要る ( Java ではできてたのに)
→ getter,setter の型違いオーバーロードが上手く作れない
→コンストラクタでプライマリを書くとセカンダリと位置が大きく離れて確認が不便に
#学習記 #Kotlin #generics #constructor
generics
前回の getter で違う型を返す方法、もう少し調べたい🤤
………
………
………
複数の値を返す Pair,Triple 、ラムダ、「引数」の型推論………
なんてのが出てくるけど全部「ソレジャナイ🙄」なんだよねぇ…😞
Kotlin だって言ってるのに Java が出てきたりあまつさえ TypeScript が出てきたり…😞
………
だめぽ…出てこない😞
どう調べたら出たんだったろ…ジェネリクスの時だったおのは間違いないんだけど…🙄
… Kotlin ジェネリクスを調べてた頃の記事に手がかり無いかしら🤤
………
どこかでやった気がしてたけどそもそも Kotlin のジェネリクスはまだ何もやってなかったっぽい😞
………
思いついたのを試すだけ試してみようかな…
まぁ、そうよね🙄
思いつく手法は尽きたから諦めて Record クラス移植するぽ😞
Record
………なんか IntelliJ が🤬だお🙄
テンプレートの書き方が良くないぽ?🤔
プライマリをちゃんと用意すればいいのかな?って思って、でもそれだとセカンダリが離れてて見辛いから上にってやったら init はプロパティの後に書かないとならなくて怒られるし Record 側のインスタンス化のとこは相変わらずエラーだしでこれはだめぽ😞
………なるほど、現在の書き方だと List<String> 的な指定が要る使い方になるのね🙄
うーん…配列の場合は型の指定が必要だけど RecordElement は中身の型は固定だから各セカンダリコンストラクタのとこで指定できれば良い筈なんだけど…🤔
🙄🙄🙄
………
解決策を探してたら手前の段階で探してた系統の情報が出てくる等🙄
やっぱ駄目なんだこれ…😞
うーん…なんか調べてみたけれどできないっぽい…
道はジェネリクスのまま Record 側での new は RecrodElement<String,String> で通すか、ジェネリクスを諦めてセカンダリコンストラクタを量産するか…😞
力技で解決💪😤
そうよ、外から使う時に変な苦労を背負わせちゃ駄目なのよ😞
ほんとはやり方あるのかもしれないけどまぁこれが一番平和かなって思う🙄
保守性は低いが致し方なし🤪
次回は
Record の移植を続けようかな🤤
この記事が気に入ったらサポートをしてみませんか?