今天给大家介绍一下java中是如何实现返回值为任何类型,而且不需要强制类型转换就可以直接使用。
在一般情况下返回类型要么是范型,要么就是引用类型、基础类型之类的数据。但是这些类型都是确切的返回类型,如果我想返回我传入的任意类型值,这个时候这些都做不到。
那怎么办呢,java已经考虑到这一点了,就是通过 <V> V 实现的。下面来看具体的案例介绍:
-
public class Java_Field{
-
<V> V get(Object obj){
-
return (V)obj;
-
}
-
public static void main(String[] args) {
-
Java_Field java_field=new Java_Field();
-
int number=java_field.get(1);
-
System.out.println("number"+number);
-
String str=java_field.get("1");
-
System.out.println("str:"+str);
-
double aDouble=java_field.get(1.32d);
-
System.out.println("aDouble:"+aDouble);
-
float aFloat=java_field.get(1.2f);
-
System.out.println("aFloat:"+aFloat);
-
}
-
}
从例子上面就可以看出,参数是什么类型,返回值就是什么类型。不需要任何强制性转型就可以得到想要的类型。
这种用法的前提是:在返回值不明确的情况下,又想兼容多个返回类型的时候就可以采用这个方法了。
转载自帅气的林老师。