第24行Class is a Raw type.References to generic Type Class<t> should be parametrised
出现错误。第24行是try in block中的第一行。之前它工作正常,但现在我出现了这个错误,因为我无法运行它。
package com.example.testing;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class Menu extends ListActivity {
String classes[]={"MainActivity","TextPlay","example2","example3","example4","example5"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(Menu.this,android.R.layout.simple_list_item_1,classes));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
String cheese=classes[position];
try {
Class ourClass = Class.forName("com.example.testing."+ cheese);
Intent ourIntent=new Intent(Menu.this , ourClass);
startActivity(ourIntent);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
错误是:
`Class is a Raw type.References to generic Type Class<t> should be parametrised`
答案 0 :(得分:1)
我认为这不是错误,应该是警告。
如果您看到Class javadoc file,则可以看到forName
方法返回Class<?>
所以你可以使用@SuppressWarning
注释忽略警告,或者你可以提供通用的类型:
Class<?> ourClass = Class.forName("com.example.testing."+ cheese);
希望它有所帮助。