似乎contains()
中的Rectangle
方法不包含在右下角。
例如,以下代码返回“false”;
Rectangle r = new Rectangle(0,0,100,100);
System.out.println(r.contains(100, 100));
引自Rectangle API(Java 8):
public Rectangle(int x,int y,int width,int height) 构造一个新的Rectangle,其左上角指定为(x,y),其宽度和高度由同名的参数指定。
使用宽度和高度与(0,0)的起始Point
意味着Rectangle
具有从(0,0)到(99,99)的点 - 宽度为100像素,高度为100像素,基于给定的起始像素( 0,0)总是包含在Rectangle
中。
这意味着(100,100)确实不会包含在构造的Rectangle
中。根据上面的逻辑,(100,100)将包含在下面(使用online java compiler验证):
Rectangle r = new Rectangle(1,1,100,100);
参考文献: