原始类型警告

我不是一个java开发人员,但我想修复我的项目中这部分代码中唯一的警告:

public abstract class SelectorThread<T extends MMOConnection, RP extends ReceivablePacket, SP extends SendablePacket> { protected static final Log _log = new MMOLogger(SelectorThread.class, 1000); private final AcceptorThread _acceptorThread; private final ReadWriteThread[] _readWriteThreads; protected SelectorThread(SelectorConfig sc, IPacketHandler packetHandler) throws IOException { _acceptorThread = new AcceptorThread("AcceptorThread", this, sc); _readWriteThreads = new ReadWriteThread[sc.getSelectorThreadCount()]; for (int i = 0; i < _readWriteThreads.length; i++) _readWriteThreads[i] = new ReadWriteThread("ReadWriteThread-" + (i + 1), this, sc, packetHandler); } ... } 

警告:

 Type safety: The expression of type ReadWriteThread[] needs unchecked conversion to conform to ReadWriteThread[] 

请有人帮我解决这个问题,或者告诉我必须知道解决这个问题。 我知道上面的行是由修复的,但这对数组不起作用。

Upd:我看到我的问题是重复的,我的问题是:在数组中使用generics是不安全的。 但是,我如何更改代码来修复此问题呢? 我出现的只是

 _readWriteThreads = (ReadWriteThread[]) Array.newInstance(ReadWriteThread.class, sc.getSelectorThreadCount()); 

但是这段代码也给了我一个警告。

你可以添加注释@SuppressWarnings(“unchecked”)