Rumah > Soal Jawab > teks badan
Adakah ini bermakna jenis yang dikembalikan boleh menjadi <T> atau T?
大家讲道理2017-07-03 11:45:17
Jawapan di atas sangat profesional... Saya akan menjawabnya dalam bahasa vernakular, haha
Sebagai contoh, apabila saya melihat kaedah, ia mungkin kelihatan seperti ini
public BigCar find(Long carId)
Prasyarat untuk kaedah ini disusun tanpa masalahBigCar
是一个已存在的类嘛,想表述根据一个车的id查询大车BigCar
Pada masa ini anda juga ingin menulis keretaSmallCar
的查询方法,估计就应该先创建一个SmallCar
, dan kemudian menulis kaedah pertanyaan
public SmallCar find(Long carId)
Tiada masalah, pada masa ini, jika anda ingin menulis cara pertanyaan berdasarkan ID sama ada kereta besar atau kereta kecil, cara menulisnya adalah
public XXX find(Long carId)
Maka penyusun pasti akan bimbang Apa kejadahnya XXX anda? ! ! Here comes the point
Ada tatabahasa pada masa ini Jika anda ingin menyatakan ini
representasi, anda boleh menulis n rujukan di dalamnya, dipisahkan dengan koma, jadi ia menjadi XXX
只是一个代指,但是具体是啥不知道,那就用<>
.
public <XXX> XXX find(Long carId)
Jadi, hanya mewakili penentu, yang mentakrifkan sekumpulan pembolehubah untuk kegunaan seterusnya Jika anda mentakrifkannya dalam kaedah, maka skop penggunaan pembolehubah ini adalah dalam kaedah ini. Kemudian pembolehubah ini boleh digunakan dalam keseluruhan kelas, contohnya: <>
public class Car<X, XX>{
X x;
XX xx;
Long id;
public X findX(){
return x;
}
}
typecho2017-07-03 11:45:17
Cara menulis kaedah generik dalam Java, sintaks menetapkan
Jenis pulangan ialah T
<T> menunjukkan bahawa ini adalah kaedah generik (saya rasa ia berkaitan dengan kompilasi, lagipun, generik Java dipadamkan