在Kotlin中,如何实例化通用?在C#和Java中,这个任务非常简单,我觉得因为无法以任何方式做到这一点而感到非常愚蠢。
请注意,我无法控制"底层"的推导。 Kotlin泛型因此不能使用方差;但我能保证的是,它是一个可实例化的Kotlin类(不是Java),它有一个零参数构造函数。
另请注意,我已经阅读过此内容(没有让它工作):https://youtrack.jetbrains.com/issue/KT-6728
一点意见 - 经过一两个星期的比赛后真的非常喜欢Kotlin。
C#代码/一个非常简单的例子。 Java非常相似:
using System;
namespace GenInstance
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
var w = new Instancer<Whatever> ().Map ();
Console.WriteLine (w);
Console.ReadLine ();
}
}
public class Instancer<T> where T : new() {
public T Map() {
return new T();
}
}
public class Whatever {
public override string ToString ()
{
return "My Instance";
}
}
}