@inzhrr

Какие знаниями java нужно обладать чтобы переходить на kotlin?

Хочу начать писать приложения под Android и на данный момент активно учу java, планирую перейти на kotlin, т.к. прочитав в интернете понял что сейчас он более актуален. Знаниями каких тем в java нужно обладать чтобы можно было начать изучать kotlin?
  • Вопрос задан
  • 253 просмотра
Пригласить эксперта
Ответы на вопрос 2
xez
@xez
TL Junior Roo
Разрешаю изучать Котлин с любым уровнем знания джавы, в том числе и без знания джавы.
Ответ написан
Комментировать
402d
@402d
начинал с бейсика на УКНЦ в 1988
Знаю яву и не фига не понимаю в котлин коде.
Смотришь в код и ничего знакомого
data class CoverFront
constructor(
    /** May contain any keyword from [CoverType]. */
    var coverType: String? = null,
    /** May contain any keyword from [Media] or a name. */
    var media: KeywordOrName? = null,
    var mediaCol: MediaCol? = null,
) : AttributeCollection {

    /** Construct an empty [CoverFront]. */
    constructor() : this(null)

    /** Produce an attribute list from members. */
    override val attributes: List<Attribute<*>>
        get() = listOfNotNull(
            coverType?.let { CoverFront.coverType.of(it) },
            media?.let { CoverFront.media.of(it) },
            mediaCol?.let { CoverFront.mediaCol.of(it) },
        )

    /** Defines types for each member of [CoverFront]. */
    companion object : AttributeCollection.Converter<CoverFront> {
        override fun convert(attributes: List<Attribute<*>>): CoverFront =
            CoverFront(
                extractOne(attributes, coverType),
                extractOne(attributes, media),
                extractOne(attributes, mediaCol),
            )
        override val cls = CoverFront::class.java
        @Deprecated("Remove this symbol")
        @JvmField val Types = this
        @JvmField val coverType = KeywordType("cover-type")
        @JvmField val media = KeywordOrNameType("media")
        @JvmField val mediaCol = AttributeCollection.Type("media-col", MediaCol)
    }
    override fun toString() = "CoverFront(${attributes.joinToString()})"
}

Например, что тут похоже на яву ?
Только дополнительные костыли для того, чтобы этот класс можно было использовать в java части приложения.

Знание java & kotlin нужно для написания универсального кода. А так только мешает. Синтаксический сахар разный. Общих моментов меньше чем того что различается.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы