可以不惜一切代价避免铸造吗? [关闭]

问题描述 投票:-1回答:1

我在这里到那里都读了很多文章,关于为什么在JAVA中进行Casting并不是那么好的习惯,而我的问题是可以避免使用Casting吗?有必要吗?在任何情况下,您都必须从Object转换为Object或从Interface转换为实现此接口的另一个Object?

java python oop interface casting
1个回答
-4
投票

当然是可以避免的。这就是“实践”的重点:每当您遇到问题X时,您就会想到解决问题X的各种不同方法。假设解决方案(Y)之一涉及强制转换。这种做法暗示着:尽管并非普遍如此,但您通常提出的解决方案Y存在其他解决方案将不具备的问题。尽管将“自卑”分配给解决方案很棘手(您如何衡量此类事情),但“许多专家” *会发现该解决方案可能不那么理想。[在许多情况下,泛型是避免转换的关键工具,但有时过度使用泛型(List<T>中的T是其自身的陷阱)。是的,在极少数情况下,最好避免使用泛型,而改用强制类型转换,这样导致比不惜一切代价避免强制类型转换更好的解决方案。

此规则基本上适用于每个经验法则,

有例外

,因此在这里。有时,涉及铸造的解决方案是正确的解决方案,即使有避免这种解决方案的解决方案。它很少见。*)黄鼠狼词;没有实际的例子,很难使用更具决定性的措辞。
© www.soinside.com 2019 - 2024. All rights reserved.