【Console Application】ファイルとデータベース 166【学習記】
ファイルとかデータベースの話🤤
→ toLowerCase はロケール非対応で挙動が統一的ではないらしいので lowercase やそれにロケール情報を入れて使う、という方法になるっぽい
→ file の時もそうだったけど fileName からパス取ったりとかは Java のライブラリでほぼ同じコード
→Kotlin の setter,getter の仕様の違いで Kotlin ではプロパティ名のままで取り出せる
#学習記 #Kotlin #toLowerCase #immutable
Csv
それじゃ Csv 移植するぽ🤤
そういや file はオーバーロードもない検査機能の1つしかなかったせいか略値設定は生きなかったけど Csv は結構数あるしそこそこオーバーロードも書いた気がするから今度こそ略値設定が活きる!…筈🤤
こちらは file の時と違ってクラス作って直接文字列のメンバー拵えてるんだけど…なんで enum じゃないのかっていうのもあるのよねこれ🤔
まぁ ExceptionMsg だから「例外が起きてからしか使わない」ってとこが大きいかも🤤
エラーとして止めるかそのまま進むかは呼び出し側に委ねる様な file の存在検査は「状態」を保持するコードが入用だったので enum だった、ってとこかな☺️
static に拘る必要は無いけど new しないと取り出せないのと new しなくても取り出せる、でも static だから確定で起動時にメモリ取る…このあたりは「実行速度調整」や「使用メモリ削減」が必要な場合になったら考えたら良い話かなって思う🤤
現段階では「移植」なので static で行くぽ🤪
Kotlin は型推測してくれるから初期値のある文字列なら型宣言省略できるけど val,var を付けないといけないのでやっぱりコピペは1行ずつになるっていう…🙄
まぁ、コードじゃなくて宣言だけのクラスだしまだマシ…かな?🤤
Csv は、もう最初から Java 側の import そのまままず入れちゃう😞
移植終わっても使ってなければ現状と同じ灰色で未使用って教えてくれるし🤤
JV は KT に直さないと流石に Unresolved だけど🙄
この `Array<Array<String>>` という表記法が凄い嫌い😞
String[][] じゃ駄目なん?🙄
………
_人人人人人人人人人_
> そんな物は無い <
 ̄Y^Y^Y^Y^Y^Y^Y^ ̄
😞😞😞
む、 name や path の get が外れてメンバー名でそのまま取れるのは getter に変換されるようになったからというのはどこかで見たので分かるけど toLowerCase() が非推奨になってる🙄
なんだ、代わりが有るならいいや🤤
………🤔
これはもしやみんな大好きテンプレートリテラルの出番?🤪
加算記号の時より文字数多いじゃんって思うけどこっちの書式のが好き🤤
IntelliJ は やたらと immutable 化を推してくる😞
知ってるぞ。調子に乗って val 宣言した文字列、別のオブジェクトメンバーに渡しておいて後で改変しようとすると immutable string だから弄れなくなるの🙄
「凄い分かりにくくて面倒な immutable を解除する手順」を通してやっと本来の加工の処理に戻れるという事を🤬
だったら最初から mutable の var のままにしとくお😑
Java の方だと null 入れてローカル変数を掃除するコードになってるんだけど null 許容にしないといけなくて面倒なのでもうこれはガベコレ任せでいいやってなった🙄
次回は
引き続き Csv の移植をするぽ🤤
チラっと見た感じではコンストラクタかな、次は🤔
この記事が気に入ったらサポートをしてみませんか?