比如Rectangle与Rectangle2D,Line与Line2D,Point与Point2D……这些东西究竟有什么区别,为什么要分这么多种,大家一般都使用的是哪些?
感觉这些东西好混乱啊,无从下手

解决方案 »

  1.   

    主要是精度不同
    Point使用的是整数,而Point2D使用的是float和double。
    在一般运用中看不出来,但是当要绘制的点有很多,要通过复杂计算得到的坐标,如果精度不够,计算的结果误差会非常大。
      

  2.   

    那Graphics和Graphics2D的区别?我不是很明白书上为什么一定要将Graphics g强制转化为Graphics2D
      

  3.   

    看看他们的API就明白了,Graphics2D的功能比Graphics多多了
    还有一点,如果要使用你的程序更快一点,最好是使用double类型,而少使用float类型,用空间换时间。
    如使用Point2D.Double代替Point2D.Float.
    例如Intel芯片内部是用double处理的,如果使用 float,则要进行一些额外的转化。
    但是当你的程序中有太多的数据需要太多内存时,使用float代替double
      

  4.   

    因为它其实就是Graphics2D、API中的Graphics不过是为了兼容性遗留下来的。