1

この質問は、 Java での <> (山かっこ) の意味は何ですか?の正確な複製です。

私はAsyncTaskAndroidで読んでいます。私はこのサンプルコードを持っています:

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>。他のいくつかのクラスでそれらを見たことString<>がありますが、それらの目的が何であるかわかりません。

4

2 に答える 2

2

ジェネリックの型を定義します。


例えば:

List<Integer> list;

クラス List の変数を宣言します。しかしList、私が正しければ、次のように宣言されています。

public interface List<T> extends Collection<T>

T は、このクラスのユーザーが定義できる型のプレースホルダーです。私の例では、T を Integer で埋めることを選択しました。この場合、整数のリストがあることを意味します。

于 2012-04-24T17:58:23.967 に答える
0

http://docs.oracle.com/javase/tutorial/java/generics/generics.htmlです。

しかし、基本的には、次のようなコンテナがあることを意味します

List<> aList

コンパイラは保持している型を知る必要があるため、コンテナに関連付けられた型を特定します

List<String> aList
于 2012-04-24T18:03:02.790 に答える