註解適用於方法時,看起來過多。如何使用@SuppressWarnings(「unchecked」)對單個cast進行批註而不是整個方法?
如何使用註釋@SuppressWarnings(「unchecked」)進行單次強制轉換而不是整個方法?
在這個例子中,我剛剛完成檢查演員是否安全,所以我繼續演員,但我得到一個惱人的警告。
@Override
public void execDetails()
{
Map<Integer, ResponseList<?>> responseMap =
new HashMap<Integer, ResponseList<?>>();
// ... omitted code ...
ResponseList<?> responseList = responseMap.get(requestId);
Class<?> elementType = responseList.getElementType();
if (elementType == ExecutionDetail.class)
((ResponseList<ExecutionDetail>)responseList).add(new ExecutionDetail());
}
看來只有當轉換和變量聲明在同一個語句中時,註釋纔會有幫助。 – H2ONaCl
@broiyan:是的,這並不會讓我感到驚訝 - 但是你可以隨便引入一個額外的局部變量:) –
由於共享範圍的緣故,它可能會在開關塊中變得非常難看。 – shmosel