在您的C#示例中,没有装箱或拆箱(和自动装箱)操作。
double只是的别名
struct
Double。
在Java中,装箱是必需的。因为类型擦除,你不能创建
List<double>,只
List<Double>。在编译时,
List<?>将变成,
List<Object>并且需要进行装箱/拆箱,因此您可以将本机类型变量添加到
List<Object>或将本机变量分配给List的元素。

在您的C#示例中,没有装箱或拆箱(和自动装箱)操作。
double只是的别名
struct
Double。
在Java中,装箱是必需的。因为类型擦除,你不能创建
List<double>,只
List<Double>。在编译时,
List<?>将变成,
List<Object>并且需要进行装箱/拆箱,因此您可以将本机类型变量添加到
List<Object>或将本机变量分配给List的元素。