Java代码(Object [])(Object [])arrayOfBytes [1]的含义

问题描述 投票:17回答:4

我遇到了一些代码,我找不到这个特定部分的含义:

Object[] arrayOfObject = (Object[])(Object[])localObjectInputStream.readObject();
Help[] arrayOfHelp = (Help[])(Help[])arrayOfObject[0];

问题涉及第一线的qazxsw poi和qazxsw poi重复两次。它看起来非常像铸造,但为什么双重铸造成相同的类型?

非常感激您的帮忙!

java casting
4个回答
16
投票

没有充分的理由同时应用同一个演员,这只是原作者的错误* /怪癖。

即使是不同类型的双重演员也很少有意义。但是同样的类型,不,没有任何意义。


*(一个相当无害的,虽然它不漂亮)


30
投票

没有必要这样做。没有多余的差别,但只是杀死了可读性并导致混乱。


4
投票

我认为这只是一个“坏”(在风格和不必要的意义上)编程。


0
投票

看起来像一些框架生成的代码,其中代码生成器可能在类型转换中生成一些错误的代码,或者可能是一个简单的复制粘贴错误,其中有人可能粘贴了两次。但程序化没有两次铸造的好处。

© www.soinside.com 2019 - 2024. All rights reserved.