chansek
05/19/2017, 12:24 PMlouiscad
05/19/2017, 12:25 PM@JvmStatic
on your string constants, java swicth doesn't need literals, but compile time constants. const
prefix should also work, and is cleanerDavid W
05/19/2017, 12:25 PMobject
at top-level is sorta the same as a static class.maciekjanusz
05/19/2017, 12:26 PMchansek
05/19/2017, 12:27 PMDavid W
05/19/2017, 12:27 PMchansek
05/19/2017, 12:28 PMchansek
05/19/2017, 12:29 PMmaciekjanusz
05/19/2017, 12:29 PMobject
itself is nothing alike, it's just a class with enforced single instancevincentloi
05/19/2017, 12:29 PMvincentloi
05/19/2017, 12:30 PMcompanion object {
val apiKey = "abc"
}
maciekjanusz
05/19/2017, 12:30 PMchansek
05/19/2017, 12:31 PMmaciekjanusz
05/19/2017, 12:32 PMmaciekjanusz
05/19/2017, 12:32 PMconst val CONSTANT = "constant"
maciekjanusz
05/19/2017, 12:32 PMvincentloi
05/19/2017, 12:33 PMDavid W
05/19/2017, 12:34 PMvincentloi
05/19/2017, 12:34 PMDavid W
05/19/2017, 12:35 PMobject Obj {
@JvmStatic fun foo() {}
fun bar() {}
}
java:
Obj.foo(); // works fine
Obj.bar(); // error
maciekjanusz
05/19/2017, 12:36 PMmaciekjanusz
05/19/2017, 12:37 PMmaciekjanusz
05/19/2017, 12:38 PMchansek
05/19/2017, 12:50 PMDavid W
05/19/2017, 12:51 PMlouiscad
05/19/2017, 12:55 PMJvmStatic
. The const
prefix is just made exactly for this, and is available at the top level accessibe in java NameOfYourKotlineFileKt.YOUR_CONSTANT
, or in an object
accessing it like in KotlinDavid W
05/19/2017, 12:59 PMobject Constants {
const val USERNAME_KEY = "key123423423"
}
maciekjanusz
05/19/2017, 1:02 PMconst val USERNAME_KEY = "key123423423"
maciekjanusz
05/19/2017, 1:02 PMobject Constants
maciekjanusz
05/19/2017, 1:02 PMconstants.kt
file (or any other name)maciekjanusz
05/19/2017, 1:02 PMUSERNAME_KEY
directlymaciekjanusz
05/19/2017, 1:03 PMobject
above will work also, but is just not necessary in Kotlin, why make it more complex? 🙂David W
05/19/2017, 1:03 PMBut the places I was using those constants changed to: Constants.TEST -> Constants.INSTANCE.getTEST() -- Any better way to achieve this?I'm just trying to get it the same syntax as their entire app is already using.
David W
05/19/2017, 1:05 PMcom.something.else
but instead we group together related stuff in packages.maciekjanusz
05/19/2017, 1:07 PMmaciekjanusz
05/19/2017, 1:08 PMmaciekjanusz
05/19/2017, 1:09 PMchansek
05/19/2017, 1:21 PMchansek
05/19/2017, 1:23 PMmyanmarking
05/19/2017, 1:37 PMmyanmarking
05/19/2017, 1:37 PMmyanmarking
05/19/2017, 1:38 PMmyanmarking
05/19/2017, 1:38 PMvincentloi
05/19/2017, 1:51 PMmyanmarking
05/19/2017, 1:52 PMmyanmarking
05/19/2017, 1:53 PMmyanmarking
05/19/2017, 1:53 PMmaciekjanusz
05/19/2017, 1:59 PMmaciekjanusz
05/19/2017, 2:02 PMchansek
05/19/2017, 2:03 PMchansek
05/19/2017, 2:03 PMmaciekjanusz
05/19/2017, 2:08 PM