也许你已经发现在code list 1中的TestGen这个泛型类,其中K,V可以是任意的型别。也许你有时候呢想限定一下K和V当然范围,怎么做呢?看看如下的代码:
7 L3 e6 X: P" o% S+ l0 b3 d8 {/ s
+ [* A, d/ J1 _* e) ^& Q3 Q* c //Code list 8
, m8 P) T, ?9 t$ D3 q9 D2 U
# S6 l5 ]! r. Y0 P8 C) \( G% F/ w class TestGen2
! m# e2 z& m i" b! x$ d/ ^/ r 0 p- [4 d7 h( `7 T4 t) J
{private V v=null;
9 C# z- ~! x$ m. ]% ]6 b4 S' u * D8 C! t/ f/ D/ m0 `. d- G$ A
private K k=null;
/ ?) Y& N% S& n + X' m+ l+ _! B; |8 ?
public void setV(V v){) D K$ j1 z- ~; {3 f/ d3 N5 M: ~
* R" v. K5 @( A! O/ E1 W this.v=v;}
0 A1 o. b5 J F' D
! j; Z) N/ ]$ [1 N' p n public V getV(){
% c3 |" s4 K/ L1 |! C* {+ K # K# O# m9 T5 B% l/ {7 L5 i
return this.v;}, L+ R- L/ ?8 i& l
1 j+ P/ ]0 v' E7 }9 f+ p2 @6 P3 |( { e public void setK(K k){
. R5 L z7 a3 X0 l2 x/ ]8 d : h2 B, J- {/ i" d& A. @, b
this.k=k; }. `0 \: Z l8 `
0 R* G7 R- J+ [- k" M2 t5 e! v public V getK(){
9 w% o: p) E |( h
w D, q# C. v B6 S return this.k; }( y9 i( E0 {1 B$ p9 X
6 O4 \ [( t# j
public static void main(String[] args)+ w( ?" e5 H0 z4 i' }
8 E! ]1 r" v% b: {# C$ D5 G {TestGen2t2=new TestGen2();; n7 L% E# p! }3 R
9 T1 s8 o i3 f3 ^; F6 r& t+ s t2.setK(new String("String"));
" Z! r. ?9 _* O9 u3 b8 n & ~) m2 H, a+ M# v
t2.setV(new Integer(123));
7 b, J1 z Y" h, D. ~1 Z
$ {, I" N' F" R2 C& L System.out.println(t2.getK());8 H/ |8 h; |) f0 c' X$ ~
: q7 ^/ |1 q. O9 H System.out.println(t2.getV());}} |