Java 中的一个漏洞?

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

最近,我在Java中实现类似JavaScript的console.log功能,编写了一个泛型打印函数,发现Java允许混合类型参数而不报错。这是因为Java的类型擦除机制在运行时不检查类型一致性,而TypeScript则严格检查类型。这让我思考Java是否应该像TypeScript一样严格。

🎯

关键要点

  • 作者在Java中实现了类似JavaScript的console.log功能,编写了一个泛型打印函数。
  • Java允许混合类型参数而不报错,代码编译和运行正常。
  • 作者对Java的类型一致性表示惊讶,认为应该像TypeScript一样严格检查类型。
  • 在TypeScript中,类似的函数会对类型不一致发出警告,确保参数类型一致。
  • Java的类型擦除机制导致在运行时不检查类型一致性,所有参数被视为对象。
  • 作者思考Java是否应该像TypeScript一样实施更严格的类型检查,或这种灵活性是Java设计的意图。
➡️

继续阅读