编写一个泛型方法,使得该方法能够接受任意类型的参数并输出其对应的类型名字,通过标准输入读取一个数字,输出对应的类型名字。(1:String,2:Integer,3:Double,4:character,5:Float)
时间: 2024-03-03 22:48:59 浏览: 70
好的,以下是对应的泛型方法的实现:
```java
public static <T> void printType(T input) {
System.out.println(input.getClass().getSimpleName());
}
```
该方法使用了 Java 的反射机制,通过 `getClass()` 方法获取输入参数的类对象,再通过 `getSimpleName()` 方法获取类的简单名称,即可输出对应的类型名字。
那么根据您的要求,解析标准输入的数字,可以使用 `Scanner` 类进行读取,然后调用上述泛型方法输出对应类型的名称。代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int inputNum = scanner.nextInt();
switch (inputNum) {
case 1:
printType("string");
break;
case 2:
printType(123);
break;
case 3:
printType(3.14);
break;
case 4:
printType('c');
break;
case 5:
printType(1.23f);
break;
default:
System.out.println("Invalid input!");
}
}
public static <T> void printType(T input) {
System.out.println(input.getClass().getSimpleName());
}
}
```
运行程序,输入对应数字,即可输出对应类型的名称。
阅读全文