2017-09-25 17 views
6

Kotlinのブール値 - 整数間の変換方法はありませんか?私はいつも話しています:ブール整数 - Kotlinでの変換

true -> 1 
false -> 0 

もしそうでないなら、それをする慣用方法は何ですか?

+0

true.intを行うことができますか? – nhaarman

+0

明らかに真/偽でなければならないフィールドに対して、0または1を返す要求をAPIに行います。同時に、私は同じタイプのフィールドのために同様のAPIに他のリクエストを行い、真/偽を返します。私はすべてのAPIからその応答を処理するコードを共有したいと思います。 – pk1914

答えて

13

あなたは明確にすべきフィールドに0または1を返すAPIへのリクエストを作る

fun Boolean.toInt() = if (this) 1 else 0 
1

いいえ変換する方法はありません。あなただけのコードの下に、以下で変換することができ

val output = if (input) 1 else 0 
2

のようなブールの拡張機能を書くことができます真/偽になります。同時に、私は同じタイプのフィールドのために同様のAPIに他のリクエストを行い、真/偽を返します。私はすべてのAPIからその応答を処理するコードを共有したいと思います。

この場合、マッピングライブラリ(jacksonなど)のコンバータを使用するのが最適なオプションと思われます。

普通のKotlinでは、この目的のために拡張機能/プロパティを使用できます。

6

私は、この場合には拡張プロパティBooleanを拡張することをお勧めしたい:

val Boolean.int 
    get() = if (this) 1 else 0 

今、あなたは、単に、このためのユースケースになりますどのようなあなたのコード

関連する問題