Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我不';您没有访问泛型类型类元素的权限吗?_Java_Generics_Kotlin_Types_Interface - Fatal编程技术网

Java 为什么我不';您没有访问泛型类型类元素的权限吗?

Java 为什么我不';您没有访问泛型类型类元素的权限吗?,java,generics,kotlin,types,interface,Java,Generics,Kotlin,Types,Interface,我在Kotlin中创建了一个泛型函数,我想在其中实例化一个泛型类型 interface TickerEntity{ val tickers: Array<String> val fee: Double val bid : Double val ask : Double } inline fun < reified T : TickerEntity> getStockBuySell() { val tickerEntity:Class&l

我在Kotlin中创建了一个泛型函数,我想在其中实例化一个泛型类型

interface TickerEntity{

  val tickers: Array<String>
  val fee: Double
  val bid : Double
  val ask : Double

}

  inline fun < reified T : TickerEntity> getStockBuySell() {

    val tickerEntity:Class<T> = T::class.java

  }
interface TickerEntity{
valtickers:Array
val费用:双倍
val出价:双倍
瓦尔:双人
}
内联乐趣getStockBuySell(){
val tickerEntity:Class=T::Class.java
}
TickerEntity是一个接口。我打算实例化实现它的类

上面的函数可以正常工作,但我不能访问每个类元素。似乎它们的构造函数都没有启动


我的问题:如何正确实例化上述示例中的接口?我想访问每个类元素。

要创建它的实例,您可以在Java类上调用
newInstance()
,前提是它有一个零参数构造函数:

inline fun < reified T : TickerEntity> getStockBuySell() {
    val tickerEntity : T = T::class.java.newInstance()
    // ...
}

要创建它的实例,可以在Java类上调用
newInstance()
,前提是该类具有零参数构造函数:

inline fun < reified T : TickerEntity> getStockBuySell() {
    val tickerEntity : T = T::class.java.newInstance()
    // ...
}
getStockBuySell { MyTickerEntityImplementationClass("someConstructorArgument") }