java中返回任意类型值( <V> V get(Object obj))

今天给大家介绍一下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);
    }
}

从例子上面就可以看出,参数是什么类型,返回值就是什么类型。不需要任何强制性转型就可以得到想要的类型。

这种用法的前提是:在返回值不明确的情况下,又想兼容多个返回类型的时候就可以采用这个方法了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏温安适的blog

手写jvm中的各种OOM

3259
来自专栏拭心的安卓进阶之路

深入理解 Java 反射:Class (反射的入口)

深入理解 Java 反射系列: 深入理解 Java 反射:Class (反射的入口) 深入理解 Java 反射:Field (成员变量) 深入理解 Java ...

20210
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-day10-基础题-继承;抽象类

Java基础-day10-基础题-继承&抽象类 什么是继承?继承有什么好处? 继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类...

3266
来自专栏jessetalks

Javascript基础回顾 之(三) 面向对象

Javascript中的对象 什么是对象   我们可以把Javascript中对象理解为一组无序的键值对,就好像C#中的Dictionary<string,O...

32611
来自专栏Java帮帮-微信公众号-技术文章全总结

第十五天 常用API-object&string&stringbuilder&stringbuffer【悟空教程】

第十五天 常用API-object&string&stringbuilder&stringbuffer【悟空教程】

971
来自专栏Android干货

python学习笔记

522
来自专栏开发之途

重拾Java(8)-反射

1767
来自专栏C/C++基础

控制对象的创建方式(禁止创建栈对象or堆对象)和创建的数量

我们知道,C++将内存划分为三个逻辑区域:堆、栈和静态存储区。既然如此,我称位于它们之中的对象分别为堆对象,栈对象以及静态对象。通常情况下,对象创建在堆上还是在...

532
来自专栏yang0range

Java的面试基础题(二)

1)特点:存储对象;长度可变;存储对象的类型可不同 2)Collection (1)List:有序的;元素可重复,有索引 (add(index, elem...

782
来自专栏平凡文摘

深入理解Java类型信息(Class对象)与反射机制

933

扫码关注云+社区