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 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

10个经典的 Java main 方法面试题

在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。

581
来自专栏desperate633

LeetCode 115. Distinct Subsequences题目分析代码

给出字符串S和字符串T,计算S的不同的子序列中T出现的个数。 子序列字符串是原始字符串通过删除一些(或零个)产生的一个新的字符串,并且对剩下的字符的相对位置没...

702
来自专栏机器学习入门

LWC 60:736. Parse Lisp Expression

LWC 60:736. Parse Lisp Expression 传送门:736. Parse Lisp Expression Problem: You a...

2007
来自专栏Jed的技术阶梯

图解选择排序

上面的算法的缺点:在每趟比较过程中,一旦发现某个元素比第1位的元素小,就交换它们,但这是没必要的,徒增了交换的次数 优化:选择排序的核心是,在每趟比较中,找到...

1314
来自专栏吾爱乐享

java之学习泛型的概述和基本使用

1516
来自专栏数据结构与算法

1009 产生数 2002年NOIP全国联赛普及组

009 产生数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 De...

2544
来自专栏HTML5学堂

Math对象面试题目

HTML5学堂:JavaScript的Math对象的命令虽然简单,但是逻辑性要求比较高,它可以辅助开发者实现一些JavaScript复杂效果,这就要求大家有一定...

2425
来自专栏web前端教室

JS判断重复数组是否有重复项

大家好,今天我们来讲一下,如何使用javascript判断一个数组之中,是否有相同重复的元素。 在讲之前,先来讲一下思路: 在现实当中,当我们要判断某几个东西...

2959
来自专栏Python专栏

写了这么多年的python,tuple竟然是可变的?

1172
来自专栏King_3的技术专栏

leetcode-541-Reverse String II

1535

扫码关注云+社区