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