首页 > 编程知识 正文

无参数泛型方法,java泛型方法具体实例

时间:2023-05-04 21:33:11 阅读:11296 作者:495

文章目录1、通用方法2、定义通用方法3、以通用方法返回通用类实例4、使用通用类型统一传递的参数类型

一、通用方法

泛型方法的定义与其所在的类是否是泛型类是没有任何关系的,所在的类可以是泛型类,也可以不是泛型类

二、定义通用方法classdemo{publictfun(tt ) } /可以接收任意类型的数据返回t; } publicclassgenericsdemo 26 { publicstaticvoidmain [ ] args } { demod=new demo (; stringstr=d.fun(mldxc ); intI=d.fun(20; system.out.println(str; system.out.println(I; }程序执行结果:

三、通用方法通用类实例classinfotextendsnumber { private tvar; public T getVar () { return var; }公共语音设置(tvar ) { this.var=var; } @Override public String toString () return'info ) ' var='var ' ); } publicclassgenericsdemo 27 { publicstaticvoidmain (字符串[ ] args ) infointegerI=fun(30 ); system.out.println(I.getvar ) ); } publicstatictextendsnumberinfotfun (t param ) { InfoT temp=new InfoT ); TEMP.Setvar(Param ); 返回时间; }程序执行结果:

四、使用泛型统一传递的参数类型class InfoT{ private T var; public T getVar () { return var; }公共语音设置(tvar ) { this.var=var; } @Override public String toString () return'info ) ' var='var ' ); } publicclassgenericsdemo 28 { publicstaticvoidmain [ ] args } { info stringi1=newinfo string (}; InfoString i2=new InfoString (; I1.Setvar(mLdxc ); I2.Setvar(qldpy ); add(I1,i2 ); }publicstatictvoidadd(infotI1,InfoT i2 ) system.out.println (i1.getvar (' I2.getvar ) ); }程序执行结果:

如果传递的两个Info对象类型不匹配,则上述程序add方法将发生编译错误。

class InfoT{ private T var; public T getVar () { return var; }公共语音设置(tvar ) { this.var=var; } @Override public String toString () return'info ) ' var='var ' ); } publicclassgenericsdemo 28 { publicstaticvoidmain [ ] args } { info stringi1=newinfo string (}; InfoInteger i2=new InfoInteger (; I1.Setvar(mLdxc ); I2.Setvar(20; add(I1,i2 ); }publicstatictvoidadd(infotI1,InfoT i2 ) system.out.println (i1.getvar (' I2.getvar ) ); }

因此,通过使用通用统一传递的参数类型,可以确保程序操作的安全性

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。