相关疑难解决方法(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万
查看次数

什么时候应该使用类的java 5方法?

查看一些代码,我遇到了以下代码

trTuDocPackTypdBd.update(TrTuDocPackTypeDto.class.cast(packDto));
Run Code Online (Sandbox Code Playgroud)

我想知道这种方式是否有任何优势

trTuDocPackTypdBd.update((TrTuDocPackTypeDto)packDto);
Run Code Online (Sandbox Code Playgroud)

我问开发人员负责,他说他使用它是因为它是新的(这对我来说似乎不是一个特别好的理由),但是当我想要使用这种方法时我很感兴趣.

java java-5

12
推荐指数
1
解决办法
8085
查看次数

标签 统计

java ×2

casting ×1

compiler-warnings ×1

generics ×1

java-5 ×1