a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 87|回复: 0

[基础知识] JAVA基础知识指导:限制泛型中类型参数的范围

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
也许你已经发现在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());}}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-16 18:38 , Processed in 0.274950 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表