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 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 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.Andreas 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 PMErfan
05/07/2018, 1:42 PM