Java:传递int [3]函数期望3 int

时间:2016-03-08 19:07:00

标签: java arrays

从我的Perl时代起,我希望能够编写这样的代码,给定定义Color.rgb(int,int,int)

int[] myColorData = {127, 42, 251};
Color myColor = Color.rgb(myColorData);

有没有办法在Java中做类似的事情?我试图避免必须指定[0][1][2]和变量名3次,因为它不会给读者增加任何内容。

请注意,这只是一个简单的例子;我对更通用的解决方案感兴趣,而不仅仅是如何调用Color.rgb()。我理解类型int[]与类型int不同,但我想知道是否有办法将数组分解为int,或者是否有其他调用方法会做类似的事吗?

1 个答案:

答案 0 :(得分:0)

  

但是我想知道是否有办法将数组分解为int,或者是否有其他类似的调用方法呢?

Java中没有直接的方法,但您始终可以创建自己的方法:

int[] myColorData = {127, 42, 251};
Color c = convertRGB(myColorData);

public static Color convertRGB (int[] color){
    return new Color(color[0], color[1], color[2]);
}

您也可以将它写入您自己的Utilities类,这样您就可以使用自定义方法:

final class MyColorUtil
{
    public static Color convertRGB (int[] color){
        return new Color(color[0], color[1], color[2]);
    }
}