小编And*_*ndy的帖子

这是否真的在扩大与自动装箱?

我在回答另一个问题时看到了这一点,参考了​​Java规范的缺点:

还有更多的缺点,这是一个微妙的话题.看看这个:

public class methodOverloading{
     public static void hello(Integer x){
          System.out.println("Integer");
     }

     public static void hello(long x){
          System.out.println("long");
     }

     public static void main(String[] args){
         int i = 5;
         hello(i);
     }
}
Run Code Online (Sandbox Code Playgroud)

这里将打印"long"(我自己没有检查过),因为编译器会选择加宽自动装箱.使用自动装箱时要小心,或者根本不使用它!

我们是否确定这实际上是扩大而不是自动装箱的一个例子,还是完全不同于其他东西?

在我的初始扫描中,我同意声明输出i在声明为基元而不是对象的基础上"长" .但是,如果你改变了

hello(long x)
Run Code Online (Sandbox Code Playgroud)

hello(Long x)
Run Code Online (Sandbox Code Playgroud)

输出将打印"整数"

这里到底发生了什么?我对java的编译器/字节码解释器一无所知...

java primitive autoboxing

28
推荐指数
2
解决办法
4001
查看次数

C#标记枚举字大小

如果我宣布

[Flags]
public enum MyColor
{
    Red = 1;
    Green = 2;
    Blue = 4;
    White = 8;
    Magenta = 16;
    ... (etc)
}
Run Code Online (Sandbox Code Playgroud)

有没有办法确定/设置此枚举占用的字节数?它还会以什么字节顺序结束?(例如,我是否必须通过线路正确发送HostToNetwork()?)另外,为了调用HostToNetwork,我可以转换为字节数组并进行迭代吗?

c# attributes

9
推荐指数
2
解决办法
3114
查看次数

标签 统计

attributes ×1

autoboxing ×1

c# ×1

java ×1

primitive ×1