This question is an exact duplicate of:
What does <> (angle brackets) mean in Java?
我正在阅读有关 AsyncTask
的内容在安卓中。我有这个示例代码:
private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
protected Long doInBackground(URL... urls) {
int count = urls.length;
long totalSize = 0;
for (int i = 0; i < count; i++) {
totalSize += Downloader.downloadFile(urls[i]);
publishProgress((int) ((i / (float) count) * 100));
}
return totalSize;
}
protected void onProgressUpdate(Integer... progress) {
setProgressPercent(progress[0]);
}
protected void onPostExecute(Long result) {
showDialog("Downloaded " + result + " bytes");
}
}
它应该被调用:
new DownloadFilesTask().execute(url1, url2, url3);
我不明白什么<URL, Integer, Long>
方法。我在其他一些类(class)中见过它们,例如 String<>
但我不知道他们的目的是什么。
最佳答案
它定义了 generics 的类型.
例如:
List<Integer> list;
您声明了一个 List 类的变量。但是 List
是这样声明的,如果我是对的:
public interface List<T> extends Collection<T>
T 是此类的用户可以定义的类型的占位符。在我的示例中,我选择用 Integer 填充 T。在本例中,这意味着我将有一个整数列表。
关于java - Java 中的 Class<something> 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303368/