相关疑难解决方法(0)

自动装箱和拆箱在Java和C#中表现不同

我手动将代码从Java(1.6)转换为C#,并发现原语(int和double)的行为有些困难.在C#中,似乎几乎所有转换都是自动发生的

        List<double> list1 = new List<double>();  // legal, C#
        double d0 = 3.0;
        list1.Add(d0);                            // legal, C#
        Double dd = 2.3f;                         // legal, C#
        list1.Add(dd);                            // legal, C#
        List<Double> list2 = new List<Double>();  // legal, C#
        double d1 = 3.0;
        list2.Add(d1);                            // legal, C#
        list2.Add(2.0);                           // legal, C#
        double d2 = list2.get(0);                 // legal, C#
Run Code Online (Sandbox Code Playgroud)

但在Java中只允许一些

        List<double> list1 = new ArrayList<double>();  // illegal, Java
        List<Double> list2 = new ArrayList<Double>();  // legal, Java
        double d1 = 3.0;
        list2.add(d1);                                 // legal, Java …
Run Code Online (Sandbox Code Playgroud)

c# java autoboxing

8
推荐指数
2
解决办法
3179
查看次数

标签 统计

autoboxing ×1

c# ×1

java ×1