Java 中的一个漏洞?
💡
原文英文,约400词,阅读约需2分钟。
📝
内容提要
最近,我在Java中实现类似JavaScript的console.log功能,编写了一个泛型打印函数,发现Java允许混合类型参数而不报错。这是因为Java的类型擦除机制在运行时不检查类型一致性,而TypeScript则严格检查类型。这让我思考Java是否应该像TypeScript一样严格。
🎯
关键要点
- 作者在Java中实现了类似JavaScript的console.log功能,编写了一个泛型打印函数。
- Java允许混合类型参数而不报错,代码编译和运行正常。
- 作者对Java的类型一致性表示惊讶,认为应该像TypeScript一样严格检查类型。
- 在TypeScript中,类似的函数会对类型不一致发出警告,确保参数类型一致。
- Java的类型擦除机制导致在运行时不检查类型一致性,所有参数被视为对象。
- 作者思考Java是否应该像TypeScript一样实施更严格的类型检查,或这种灵活性是Java设计的意图。
🏷️
标签
➡️