将int传递给以Integer为参数的方法?

Var*_*run 2 java

将int传递给以Integer作为参数的方法是否可以.这是代码

public class PassingInt 
{
    public static void main(String args[])
    {
        int a = -1;
        passIntToInteger(a);//Is this Ok?
    }

    private static void passIntToInteger(Integer a) 
    {
        System.out.println(a);
    }

}
Run Code Online (Sandbox Code Playgroud)

pet*_*rov 7

是的,没关系,它会被自动装箱.

反之亦然,称为自动拆箱.

更多信息:

自动装箱和拆箱


Chr*_*ian 5

是的.

为什么?因为自动拳击.基元转换为其相应包装类的对象.来自Java教程:

自动装箱是Java编译器在基元类型和相应的对象包装类之间进行的自动转换.例如,将int转换为Integer,将double转换为Double,依此类推.

在你的情况下:

primitive type: int -> wrapper class: Integer
Run Code Online (Sandbox Code Playgroud)