Erfan
05/07/2018, 1:00 PMvar items: Array<T> = ?
I wanted to use arrayOf<T>()
but this doesn't work.Andreas Sinz
05/07/2018, 1:17 PMT
isErfan
05/07/2018, 1:20 PMErfan
05/07/2018, 1:21 PMAndreas Sinz
05/07/2018, 1:22 PMAny
rrader
05/07/2018, 1:26 PMErfan
05/07/2018, 1:26 PMType mismatch
when I try to do :
var items: Array<T> = arrayOf<Any>()
Andreas Sinz
05/07/2018, 1:27 PMT
in your code, you need to use Array<Any> = arrayOf()
spand
05/07/2018, 1:27 PMAndreas Sinz
05/07/2018, 1:28 PMAndreas Sinz
05/07/2018, 1:29 PMAny
and cast the items where necessaryErfan
05/07/2018, 1:31 PMclass PaginationManager<T>(var items: Array<T>,
var totalCount: Int,
val pageSize: Int,
var pageNumber: Int,
var status: PaginationStatus = PaginationStatus.WaitingForNextPageTrigger,
private val fetchClosure: PaginationFetchClosure<T>)
I just wanted to have default empty array for that.
Now I set an empty array of known type, in the call site.Erfan
05/07/2018, 1:32 PMAndreas Sinz
05/07/2018, 1:32 PMclass ...(var items: Array<T> = emptyArray(), ...
work?spand
05/07/2018, 1:32 PMclass Foo<T> {
val foo: Array<T> = Array<Any?>(0, {}) as Array<T>
}
works just fine. Its just an unchecked castAndreas Sinz
05/07/2018, 1:33 PMT
is known. I was suspecting that he had a Array<T>
inside a non-generic classdiesieben07
05/07/2018, 1:34 PMArray<T>
, use List<T>
. "Because Java" array-generics behave differently than everywhere else.Erfan
05/07/2018, 1:34 PMspand
05/07/2018, 1:35 PMspand
05/07/2018, 1:36 PMErfan
05/07/2018, 1:42 PMErfan
05/07/2018, 1:42 PMErfan
05/07/2018, 1:43 PM