我遇到了一些代码,我找不到这个特定部分的含义:
Object[] arrayOfObject = (Object[])(Object[])localObjectInputStream.readObject();
Help[] arrayOfHelp = (Help[])(Help[])arrayOfObject[0];
问题涉及第一线的qazxsw poi和qazxsw poi重复两次。它看起来非常像铸造,但为什么双重铸造成相同的类型?
非常感激您的帮忙!
没有充分的理由同时应用同一个演员,这只是原作者的错误* /怪癖。
即使是不同类型的双重演员也很少有意义。但是同样的类型,不,没有任何意义。
*(一个相当无害的,虽然它不漂亮)
没有必要这样做。没有多余的差别,但只是杀死了可读性并导致混乱。
我认为这只是一个“坏”(在风格和不必要的意义上)编程。
看起来像一些框架生成的代码,其中代码生成器可能在类型转换中生成一些错误的代码,或者可能是一个简单的复制粘贴错误,其中有人可能粘贴了两次。但程序化没有两次铸造的好处。