I’m attempting implement the add method mentioned in the Generic sparse matrix addition question
class Matrix<T extends Number>
{
private T add(T left, T right)
{
if (left instanceof Integer)
{
return new Integer(((Integer)left).intValue() + ((Integer)right).intValue());
}
}
The compiler errors with found java.lang.Integer Required T at the line where I return a new Integer. I’m not sure what I’m missing since T extends Number and Integer is a subclass of Number.
The compiler doesn’t let you do this because
Tmight be some other class, such asDouble.You know that
TisIntegerfrom theinstanceofcheck, but the compiler doesn’t.