Size: a a a

Kotlin Community

2020 February 18

AO

Alexey Otts in Kotlin Community
Andrew Mikhaylov
А как ты на джавовых дженериках это сделать предлагаешь? :)
Правильно, надо делать на скаловых женериках, там это можно)
источник

BP

Bogdan Panchenko in Kotlin Community
Alexey Otts
Правильно, надо делать на скаловых женериках, там это можно)
А как там сделали ?
источник

AO

Alexey Otts in Kotlin Community
Bogdan Panchenko
А как там сделали ?
Refined types, вобщем в компиляторе есть Singletone типы
источник

AO

Alexey Otts in Kotlin Community
Конкретно этот пример с аннотацией конечно не сделаешь тоже, потому что это уже не рантайм. Но для рантайм компилятор может дать значение по такому типу
источник
2020 February 19

ZB

Zaigham Baig in Kotlin Community
Hi guys, I need Kotlin's books in English
источник

AE

Alexandr Emelyanov in Kotlin Community
Zaigham Baig
Hi guys, I need Kotlin's books in English
search in google and amazon
источник

ZB

Zaigham Baig in Kotlin Community
Alexandr Emelyanov
search in google and amazon
I did, I need a free copy
источник

AE

Alexandr Emelyanov in Kotlin Community
Zaigham Baig
I did, I need a free copy
we do not discuss pirated books
источник

ZB

Zaigham Baig in Kotlin Community
Alexandr Emelyanov
we do not discuss pirated books
OK
источник

R

Roman Q in Kotlin Community
Привет
Меня в Kotlin JVM почему-то забанило, может кто-нибудь глянуть?
источник

RI

Ruslan Ibragimov in Kotlin Community
Roman Q
Привет
Меня в Kotlin JVM почему-то забанило, может кто-нибудь глянуть?
Не стоит скидывать ссылки на сокращалки, @tgkotbot это не любит. Обсуждение в @kotlin_meta
источник

R

Roman Q in Kotlin Community
ok
источник

AN

Alexander Nozik in Kotlin Community
Это наверное к андроидЁрам
источник

I

Ivan in Kotlin Community
Подскажите. Есть объект, который приходит с сервера

class MyObject(
   val p0: Int,
   val p1: String,
   ...
)

У него нет никакого id.
Хочу генерировать его сам.
Как это лучше сделать?
Хочу, чтобы только одинаковые элементы имели одинаковые айди.
Будет ли безопасно суммировать hashCode каждого поля аналогично типичной реализации hashCode():

override fun hashCode(): Int {
   var result = p0.hashCode()
   result = 31 * result + p1.hashCode()
   result = 31 * result + p2.hashCode()
   ...
   return result
}


И, соотвественно, использовать такой hashCode в качестве айдишника
источник

VP

Vladimir Petrakovich in Kotlin Community
Ivan
Подскажите. Есть объект, который приходит с сервера

class MyObject(
   val p0: Int,
   val p1: String,
   ...
)

У него нет никакого id.
Хочу генерировать его сам.
Как это лучше сделать?
Хочу, чтобы только одинаковые элементы имели одинаковые айди.
Будет ли безопасно суммировать hashCode каждого поля аналогично типичной реализации hashCode():

override fun hashCode(): Int {
   var result = p0.hashCode()
   result = 31 * result + p1.hashCode()
   result = 31 * result + p2.hashCode()
   ...
   return result
}


И, соотвественно, использовать такой hashCode в качестве айдишника
Гарантировать уникальность можно только если взять криптографический хэш
источник

QH

Quantum Harmonizer in Kotlin Community
Ivan
Подскажите. Есть объект, который приходит с сервера

class MyObject(
   val p0: Int,
   val p1: String,
   ...
)

У него нет никакого id.
Хочу генерировать его сам.
Как это лучше сделать?
Хочу, чтобы только одинаковые элементы имели одинаковые айди.
Будет ли безопасно суммировать hashCode каждого поля аналогично типичной реализации hashCode():

override fun hashCode(): Int {
   var result = p0.hashCode()
   result = 31 * result + p1.hashCode()
   result = 31 * result + p2.hashCode()
   ...
   return result
}


И, соотвественно, использовать такой hashCode в качестве айдишника
Нет.
Какая задача решается?
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
Гарантировать уникальность можно только если взять криптографический хэш
Гарантировать уникальность ни один хеш не может, длина которого меньше длины исходных данных :)
источник

VP

Vladimir Petrakovich in Kotlin Community
Andrew Mikhaylov
Гарантировать уникальность ни один хеш не может, длина которого меньше длины исходных данных :)
Ну с таким подходом и version 4 UUID не гарантированно уникальны, но на практике скорее отовсюду баги полезут и на сервер упадёт метеорит, чем это случится
источник

VP

Vladimir Petrakovich in Kotlin Community
Конечно, затея так себе, но работать будет
источник

AT

Alexey Tkachenko in Kotlin Community
Vladimir Petrakovich
Ну с таким подходом и version 4 UUID не гарантированно уникальны, но на практике скорее отовсюду баги полезут и на сервер упадёт метеорит, чем это случится
UUID — это таки не хэш
источник