下面的代码段在NetBeans 6.9中导致此警告。

[rawtypes] found raw type: org.openide.nodes.PropertySupport.Reflection
  missing type parameters for generic class org.openide.nodes.PropertySupport.Reflection<T>




Property dataProp = new PropertySupport.Reflection(t, dataStore.getFloat3DClass(),
                        workingData);

/**
 * Gets the Class object associated with the primitive 3d float array (i.e., float[][][]).
 *
 * @return  the Class object.
 */
public Class<?> getFloat3DClass()
{
    if (class3DFloat == null)
    {
       try
       {
           class3DFloat = Class.forName("[[[F");
       }
       catch (ClassNotFoundException ex)
       {
           Exceptions.printStackTrace(ex);
       }
    }

    return class3DFloat;
}


在运行时,getFloat3DClass()返回其值是类Classfloat[][][]对象。如何在设计时指定此名称并避免出现此警告?

最佳答案

你辛苦了制作dataStore.getFloat3DClass()时不要使用PropertySupport.Reflection,请使用float[][][].class,它将起作用。并且该值也将由运行时为您缓存。

09-04 14:33