为什么有的学生对象定义了<String>泛型,还可以传入123int类型,有的学生对象定义了<Integer>泛型还可以传入float、String类型,(代码中的show3()方法) ????????????求大神解答。package com.vdate.day18;/** * 泛型定意在方法上 * * 泛型是个类,只能接受引用类型,不能传int这些基本数据类型,但是可以传他的包装类,integer * */public class demo3 { public static void main(String[] args) { Student2<String> s1 = new Student2<String>(); s1.show("hhhh"); //s1.show(123);// Student2<Integer> s2 = new Student2<Integer>(); // s2.show("hhhh"); s2.show(123);// s2.show2("dsda"); s2.show2(123F); Student2<Integer> s3 = new Student2<Integer>(); s2.show3("dsda"); s2.show3(123F); s2.show3(123); }}class Student2<E>{ int age; //泛型定义在方法上 public void show(E e) { System.out.println("show=" + e); } public void show2(Object o) { System.out.println("show=" + o); } //定义在方法上 public <A> void show3(A a) { System.out.println("show=" + a); } }
1 回答
堇延未七
TA贡献36条经验 获得超19个赞
首先看show2方法,它的入参是一个Object的对象,万物都是Object的对象,所以不管传进来的是字符串还是整数,都会转化为Object对象输出;show3方法中入参是A类型,和泛型E是没有关系的,可以传入任意类型
添加回答
举报
0/150
提交
取消