Provided with Konvert
Konvert
already provides a lot of default TypeConverter
:
The following tables share this legend:
-
✔
= a TypeConverter
exists and is enabled by default -
☑
= a TypeConverter
exists but is not enabled by default - empty = no
TypeConverter
existing
Basic Types
From\To | BigDecimal | BigInteger | Boolean | Byte | Char | Double | Float | Int | Long | Number | Short | String | UByte | UInt | ULong | UShort |
BigDecimal | ✔ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
BigInteger | ✔ | ✔ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
Boolean | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
Byte | ✔ | ✔ | ☑ | ✔ | ☑ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ☑ | ☑ | ☑ | ☑ |
Char | ☑ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
Double | ✔ | ☑ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ✔ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
Float | ✔ | ☑ | ☑ | ☑ | ☑ | ✔ | ✔ | ☑ | ☑ | ✔ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
Int | ✔ | ✔ | ☑ | ☑ | ☑ | ✔ | ✔ | ✔ | ✔ | ✔ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
Long | ✔ | ✔ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ✔ | ✔ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
Number | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ✔ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
Short | ✔ | ✔ | ☑ | ☑ | ☑ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ☑ | ☑ | ☑ | ☑ |
String | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ |
UByte | ✔ | ✔ | ☑ | ☑ | ☑ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
UInt | ✔ | ✔ | ☑ | ☑ | ☑ | ✔ | ✔ | ☑ | ✔ | ✔ | ☑ | ✔ | ☑ | ✔ | ✔ | ☑ |
ULong | ✔ | ✔ | ☑ | ☑ | ☑ | ✔ | ☑ | ☑ | ☑ | ✔ | ☑ | ✔ | ☑ | ☑ | ✔ | ☑ |
UShort | ✔ | ✔ | ☑ | ☑ | ☑ | ✔ | ✔ | ✔ | ✔ | ✔ | ☑ | ✔ | ☑ | ✔ | ✔ | ✔ |
Temporal Types
From\To | Date | Instant | LocalDate | LocalDateTime | LocalTime | OffsetDateTime | OffsetTime | ZonedDateTime |
Date | ✔ | ✔ | | | | | | |
Instant | ✔ | ✔ | | | | | | |
LocalDate | | | ✔ | | | | | |
LocalDateTime | | | ✔ | ✔ | ✔ | | | |
LocalTime | | | | | ✔ | | | |
Long (epoch ms) | ☑ | ☑ | | | | | | |
Long (epoch s) | ☑ | ☑ | | | | | | |
OffsetDateTime | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
OffsetTime | | | | | ✔ | | ✔ | |
String | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ |
ZonedDateTime | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
From\To | Long (epoch ms) | Long (epoch s) | String |
Date | ✔ | ☑ | ✔ |
Instant | ✔ | ☑ | ✔ |
LocalDate | | | ✔ |
LocalDateTime | | | ✔ |
LocalTime | | | ✔ |
OffsetDateTime | ✔ | ☑ | ✔ |
OffsetTime | | | ✔ |
ZonedDateTime | ✔ | ☑ | ✔ |
Enum
From\To | Enum |
BigDecimal | ☑ |
BigInteger | ☑ |
Byte | ☑ |
Double | ☑ |
Enum | ✔ |
Float | ☑ |
Int | ☑ |
Long | ☑ |
Number | ☑ |
Short | ☑ |
String | ☑ |
UByte | ☑ |
UInt | ☑ |
ULong | ☑ |
UShort | ☑ |
From\To | BigDecimal | BigInteger | Byte | Char | Double | Float | Int | Long | Number | Short | String | UByte | UInt | ULong | UShort |
Enum | ☑ | ✔ | ☑ | ☑ | ☑ | ☑ | ✔ | ✔ | ✔ | ✔ | ✔ | ☑ | ✔ | ✔ | ✔ |
The EnumToEnumConverter
will fail, if the target enum does not provide all possible values as the source enum.
Iterables
From\To | ArrayList | Collection | HashSet | ImmutableCollection | ImmutableList | ImmutableSet | Iterable | LinkedHashSet | List | MutableCollection | MutableIterable | MutableList | MutableSet | PersistentCollection | PersistentList | PersistentSet | Set |
any iterable | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
The values inside are also mapped, if a TypeConverter
for them is enabled.
Maps
From\To | HashMap | ImmutableMap | LinkedHashMap | Map | MutableMap | PersistentMap |
any map | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
The key and value type parameters are also mapped, if a TypeConverter
for both is enabled.
Other
ToAnyConverter
Special and simple case: target is the Any
type from which all types inherit.
From\To | kotlin.Any |
any type | ✔ |
SameTypeConverter
Special and simple case: source and target are exactly the same type.