2019-01-01から1年間の記事一覧
Kotlin では、プロパティのアクセサの可視性は、デフォルトではそのプロパティの可視性と同じです。 例えば以下のようなクラスを定義したとします。シャンプーを意味するクラスで変更可能な価格(price)をプロパティとして持っています。 class Shampoo { v…
Kotlin のクラスでは、フィールドを持つことができません。 しかし、カスタムアクセサを使用するときに バッキングフィールド が必要になることがあります。 この目的のために、Kotlinでは field という識別子を使用して自動的に作成されたバッキングフィー…
Kotlin ではインターフェースに抽象的なプロパティをを宣言する事が可能です。 例えば以下のようなものです。 interface Cat { val kind: String } Cat インターフェースを実装するクラスにおいて、kind の値を取得する手段を提供しなければならないという意…
今日も相変わらず 「Kotlinイン・アクション」 を読みながらの写経です。 Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行本(ソフトカバー…
明示していない場合も少なくないですが、現時点で私が書いているKotlinのエントリは、ほぼ 「Kotlinイン・アクション」 を読みながらの写経です。 Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メ…
Java では クラスの中にクラスを宣言する事が可能です。 あるクラスの一部機能を切り出して、クラス化してその外側のクラスからしか利用しない といったケースで使う事があります。 例えば以下のように記述できます。 public class Sample { private final S…
可視性のデフォルトはpublic Kotlin の可視性修飾子はJavaと似ていて、public, protected, preivate の修飾子 を持っています。 しかし、デフォルトの可視性(修飾子の指定を省略した場合の可視性)が、Kotlin では public になっています。 class Dog(val n…
Javaのクラスは明示的に final キーワードを付与しない限り、どのようなクラスからでも継承してそのサブクラスを作成可能です。 メソッドもオーバーライドできます。 ◾️簡単に継承できるというサンプル public class Person { protected final String name; …
Java で インターフェースの定義をするコードは以下のようになります。 public interface Printable { void print(); void printDetail(); } そしてこのインターフェースを実装した実装クラスのコードは以下のようになります public class JavaPrinter imple…
例えば以下のような User クラスとそのUserのオブジェクトを登録する関数が存在するとします。 class User(val id: Int, val firstName: String, val lastName: String) fun registerUser(user: User) { if (user.firstName.isEmpty()) { throw IllegalArgum…
現在のJavaにはなくてKotlinにはあるものの一つに トリプルクォート文字列(triple-quoted string) があります。 固定文字列は、"(ダブルクォート)で囲って記述しますが、 この際に、その文字列内に ダブルクォート を入れたり 改行を入れたりしようとす…
Java で 文字列分割する時は、 String クラスの split メソッドを利用することになります。 分割した文字列を配列にして返してくれます。 例えば、"100-123-A500-10" という文字列があったとして、"-" で区切りたいと思った時は以下のようになります String …
Linuxでログファイルの状態をリアルタイムで確認する場合 tailコマンドに -f オプションをつけて tail -f {ログファイル名} という使い方をすることが多々あります。 例えば、今まさにログが追記されている application.log というログファイルの内容を リア…
Kotlin で マップを生成するために mapOf という関数を利用します。 例えば以下のように呼び出します。 val map = mapOf(1 to "1yen", 5 to "5yen", 10 to "10yen", 50 to "50yen") この mapOf 関数の宣言は以下のようになされています public fun <K, V> mapOf(va</k,>…
Javaのメソッドで可変長引数を扱う場合は、 <型>... 仮引数名 という記述で引数の部分を記述します。 例えば、与えられた可変長の文字列群をList化して出力するメソッドなら以下の様になります。 import java.util.Arrays; void convToListAndPrint(String..…
前回のエントリ で、文字列の前後に prefixとpostfixの文字列を付与する decorate というしょうもない関数を定義してみました。 この関数の呼び出しは以下のようになるのですが decorate({ベースの文字列}, {prefix}, {postfix}) Kotlinの 拡張関数(extent…
Javaの場合、メソッドは必ずクラスに属する必要があります。 対象のクラスの操作を提供するという意味ではこの形は良いものであると思います。 ただし、業務アプリケーションなどを作成していくうちに、どうしても特定のクラスに属さないユーティリ的なメソ…
Javaで例えば、Book というクラスを定義するとして属性には以下を持つものとします。 Book title : 本のタイトル author : 著者 price : 価格(円) isbn : ISBN-13 remarks : 備考。(あれば何か書く。特に無いかもしれない) これを単純にJavaのクラスとし…
Javaでのコレクションの初期化とKotlinの関数でのコレクションの初期化を比較してみます。 コレクションの内容と、実クラスを表示してみます。 Javaのコレクション JavaにおけるList生成 List<Integer> list1 = Arrays.asList(1, 2, 3); System.out.printf("Data -> %</integer>…
「Kotlinイン・アクション」 を読みながらの写経まだまだ続いております。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア…
Kotlin における while ループは Java と同じですが、 for ループは、Javaにおける for-each に該当するものしか存在しません。 いわゆるインデックス指定での for ループはありません。 whileループ Kotlin には while と do-while のループが存在していて…
Java で switch文を使って処理を分岐するケースは、 when 式で記述します。 例えば、数値型の値を条件にとって 値が 1 なら ''Value is One" と出力する 値が 2 なら ''Value is Two" と出力する 値が 3から10 なら ''Value range in 3 .. 10 (value = xx)" …
Kotlin ではREPLの機能が備わっているので、わざわざmain関数書いたりしなくても、 ちょっとしたコードを試すときにはREPLを利用するのが便利なケースがあります。 REPLは Intellij IDEA からも実行できるようになっています。 「Tools」→「Kotlin」→「Kotli…
「Kotlinイン・アクション」 を読みながらの写経続いております。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行本…
AWS 認定ソリューションアーキテクト – アソシエイト(AWS Certified Solutions Architect - Associate)の資格を取ってみました。(合格しました) 規約的にも細かな試験内容等書いたりはしませんが、受けてみた感想とか書いてみます。 もちろん、今回私が…
「失敗から学ぶRDBの正しい歩き方」 を読んでみました。 失敗から学ぶRDBの正しい歩き方 (Software Design plus)作者: 曽根壮大出版社/メーカー: 技術評論社発売日: 2019/03/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る 内容紹介では以下…
「Kotlinイン・アクション」 を読みながら相変わらず写経してます。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行…
「Kotlinイン・アクション」 を読みながら写経してます。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行本(ソフト…
「Kotlinイン・アクション」 を読みながら写経してます。(Javaと比較しながら) Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行本(ソフト…
「基礎からわかるTCP-IP-ネットワークコンピューティング入門-第3版」 を読んでみました。 基礎からわかるTCP/IP ネットワークコンピューティング入門 第3版作者: 村山公保出版社/メーカー: オーム社発売日: 2015/02/26メディア: 単行本(ソフトカバー)この…