1

我目前正在尝试重构 BufferedImage 类中的 getRGB、getSubimage 和 setRGB 方法。我对 Java 还很陌生,想写出好的代码;问题是我的参数列表变得很长,给我带来了问题。我发现参数对象是一种解决方案,但是我正在努力实现它。

我能否得到一个关于如何使用参数对象改进以下方法的表示?

public void setRGB​(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)

4

1 回答 1

1

好吧,根据您提供的信息,这并不多,您想要的很简单。所以,你应该将所有这些参数包装在一个类中(这个类应该遵循 JavaBeans 规范,如果你还没有阅读,你绝对应该阅读它),如下所示:

public class RGB {
    private int startX;
    private int startY;
    private int w;
    private int h;
    private int[] rgbArray;
    private int offset;
    private int scansize;

// getters and setters

}

然后,您的方法将只接收一个表示此类的对象:

     public void setRGB​(RGB rgb) {...}
于 2019-11-06T21:30:23.770 回答