当前位置: 首页 > 面试题库 >

Java2D:将Graphics转换为Graphics2D是否总是安全的

汪臻
2023-03-14
问题内容

假设我们始终使用Sun JVM(例如1.5+),将Graphics引用强制转换为Graphics2D是否总是安全的?

我还没有看到它引起任何问题,据我所知,Graphics类是遗留代码,但是Java设计人员不想更改Swing和AWT类的接口以保持向后兼容性。


问题答案:

根据此处的讨论,
Graphics到始终是安全的Graphics2D。但是,我无法对此迅速找到Sun的官方声明

从Graphics强制转换为Graphics2D是有效的,原因是Sun表示Java
1.2或更高版本中API返回的所有Graphics对象都是Graphics2D的子类。

这里的另一个提示具有相同的结论。

Graphics Object始终可以强制转换Graphics2D g2d =(Graphics2D)g;



 类似资料:
  • 查找C++标准,我们有 C++17§6.9.2/3[碱化合物] 3指针类型的每个值都是下列值之一: null C++标准似乎没有更多地说明整数到指针的转换。查阅C17标准: C17§6.3.2.3/5(强调地雷) 整数可以转换为任何指针类型。除了前面指定的,结果是实现定义的,可能没有正确对齐,可能没有指向引用类型的实体,并且可能是一个陷阱表示。68) 对我来说,似乎任何不适合[basic.comp

  • 问题内容: 我这里有点问题。 我有一个applet,用户可以在其中“绘制”它。为此,我使用java.awt.Graphics2D。但是,如何将用户绘图图像保存为JPEG图像,或者至少将其转换为BufferedImage或其他内容?我不知道该怎么做。 谢谢。 问题答案: 我这样做,并且效果很好: 就这些了:)谢谢大家:)

  • 因此,我想知道是否有一个利索的方法来做这件事,除了

  • 问题内容: 我做了几个布尔比较: 听起来像布尔值,并且可以互换。 有时候使用起来更清晰 我想知道: 是和python中预分配? 是始终返回相同的(或者与预先分配)(或)? 它是安全的替代与比较布尔值? 这与最佳实践无关。 我只想知道真相。 问题答案: 您可能永远不需要比较布尔值。如果您正在执行以下操作: …只需将其更改为: 没有或需要。 正如评论者所指出的,有比较布尔值的正当理由。如果两个布尔值都

  • 问题内容: 我需要开发一个可长期离线运行的Web应用程序。为了使它可行,我无法避免将敏感数据(个人数据,而不是您将仅存储散列数据的类型)保存在本地存储中。 我接受不建议这样做,但是我几乎没有选择要执行以下操作来保护数据: 使用斯坦福JavaScript加密库和AES-256将所有内容都加密到本地存储中 用户密码是加密密钥,未存储在设备上 通过ssl从单个受信任的服务器提供所有内容(在线时) 使用o

  • 问题内容: 我有一个CSV导入到我们的数据库。“列”之一包含 应 为INT的数据,但某些行的数字仅落在BIGINT范围内(因为它们是来自我们合作伙伴之一的测试数据)。我们在内部存储INT,不希望更改。 我想从BIGINT安全地转换为INT。安全地说,如果发生算术溢出,则不会出现任何错误。如果转换成功,我希望我的脚本继续进行。如果失败,我希望它短路。我似乎无法弄清楚正确的语法。这就是我得到的: 我曾