java - 对集合框架的动态类型转换效果

标签 java performance generics casting dynamic-cast

案例A:

List<String> MyList;
while(index<100) {
    MyList = MyObject.get(MyIndex);
}

案例B:

List MyList;
while(index<100) {
    MyList = (List<String>) MyObject.get(MyIndex);
}

以上哪个会更快?

对于情况 B,我假设动态转换发生在整个循环中。因此,我假设第二个可能比第一个慢。

请告诉我哪一个可以更快?

最佳答案

Java 泛型是编译时抽象。没有证据表明它们留在字节码中。它们只是简化开发,但不影响性能。在字节码中,您的第一个代码示例看起来与第二个示例完全相同。 Javac 只会为您插入转换。

关于java - 对集合框架的动态类型转换效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15198138/

相关文章:

javascript - 如何使用 REST api 删除带有 angularjs 的集合?

java - 使用静态工厂方法创建的对象的模拟行为

c++ - 如何以微秒精度计算操作时间

python - 用于选择数据的 Pandas 源

java - 什么是原始类型,为什么我们不应该使用它呢?

c# - 获取泛型类型的源代码表示?

java - 将 & 替换为 & 使用 Jackson ObjectMapper

java - cryptojs aes 256加密和java解密

python panda通过删除重复项加入动态列

java - 继承带有边界扩展的通用内部类的编译错误