我想提请图像上已经存在的BufferedImage,像这样的:Java - 铸造产生的对象是否具有与铸造对象相同的参考值?
public static void drawImageOnTopOfOtherImage(BufferedImage a, BufferedImage b) {
Graphics g = a.getGraphics();
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(b);
}
然而,这种情况下,两个图形对象,g
和g2
。图形实例占用了大量的内存,所以建议你处理掉您使用它们来减少内存使用完毕后,像这样的:
g.dispose();
它将使一个很大的意义做类似的东西这在一开始对我来说:
public static void drawImageOnTopOfOtherImage(BufferedImage a, BufferedImage b) {
Graphics g = a.getGraphics();
Graphics2D g2 = (Graphics2D) g;
g.dispose();
g2.drawImage(b);
g2.dispose();
}
但是,如果从铸造导致的对象具有相同的参考值作为铸造对象,那么这将无法工作。
所以,这里是我的问题:是否由铸造产生的对象具有相同的参考值作为铸造对象以使得
TypeA a = (TypeA) b;
等于
TypeA a = (TypeA) b.clone();
? (请注意,图形对象不是Cloneable
,所以这对于图形对象不起作用)
这是相同的参考,所以你的想法是不必要的,不会工作。 – shmosel