相关疑难解决方法(0)

Java Class.cast()与强制转换运算符

在我的C++时代被教授关于C风格演员的邪恶,我很高兴首先发现在Java 5中java.lang.Class已经获得了一种cast方法.

我认为最后我们有一个处理铸造的OO方式.

结果Class.caststatic_castC++不同.它更像是reinterpret_cast.它不会在预期的位置生成编译错误,而是会延迟到运行时.这是一个简单的测试用例,用于演示不同的行为.

package test;

import static org.junit.Assert.assertTrue;

import org.junit.Test;


public class TestCast
{
    static final class Foo
    {
    }

    static class Bar
    {
    }

    static final class BarSubclass
        extends Bar
    {
    }

    @Test
    public void test ( )
    {
        final Foo foo = new Foo( );
        final Bar bar = new Bar( );
        final BarSubclass bar_subclass = new BarSubclass( );

        {
            final Bar bar_ref = bar;
        }

        { …
Run Code Online (Sandbox Code Playgroud)

java generics casting compiler-warnings

104
推荐指数
5
解决办法
16万
查看次数

标签 统计

casting ×1

compiler-warnings ×1

generics ×1

java ×1