Integer
demo1Value1
=
(
Integer
)
demo1
(
1
)
;
String
demo1Value2
=
(
String
)
demo1
(
2
)
;
Boolean
demo1Value3
=
(
Boolean
)
demo1
(
3
)
;
Double
demo1Value4
=
(
Double
)
demo1
(
4
)
;
System
.
out
.
println
(
demo1Value1
)
;
System
.
out
.
println
(
demo1Value2
)
;
System
.
out
.
println
(
demo1Value3
)
;
System
.
out
.
println
(
demo1Value4
)
;
Integer
demo2Value1
=
demo2
(
1
)
;
String
demo2Value2
=
demo2
(
2
)
;
Boolean
demo2Value3
=
demo2
(
3
)
;
Double
demo2Value4
=
demo2
(
4
)
;
System
.
out
.
println
(
demo2Value1
)
;
System
.
out
.
println
(
demo2Value2
)
;
System
.
out
.
println
(
demo2Value3
)
;
System
.
out
.
println
(
demo2Value4
)
;
public
static
Object
demo1
(
int
type
)
{
switch
(
type
)
{
case
1
:
return
new
Integer
(
1
)
;
case
2
:
return
new
String
(
"a"
)
;
case
3
:
return
new
Boolean
(
false
)
;
default
:
return
new
Double
(
1.0
)
;
public
static
<
T
>
T
demo2
(
int
type
)
{
switch
(
type
)
{
case
1
:
return
(
T
)
new
Integer
(
1
)
;
case
2
:
return
(
T
)
new
String
(
"a"
)
;
case
3
:
return
(
T
)
new
Boolean
(
false
)
;
default
:
return
(
T
)
new
Double
(
1.0
)
;
java 的方法返回不同类型的参数解决办法:返回类型为Object,接受返回参数后,强制转换成相应的类型。使用泛型标注返回类型。示例:/** * @ClassName: Test * @Author: bianhailong * @Description: * @Date: 7/11/2021 2:36 PM */public class Test { public static void main(String[] args) { Integer
一般来说,开发人员偶尔会遇到这样的情形: 在一个特定容器中映射任意
类型
的值。然而
Java
集合API只提供了
参数
化的容器。这限制了
类型
安全地使用HashMap,如单一的值
类型
。但如果想混合苹果和梨,该怎样做呢?
幸运的是,有一个简单的设计模式允许使用
Java
泛型映射
不同
的值
类型
,Joshua Bloch在其《Effective
Java
》(第二版,第29项)中将其描述为
类型
安全的异构容器(typesafe hetereogeneous container)。
关于这个主题,近碰到一些不太合适的解决方案。它给了我在这篇文章中解释这个问题域,并阐述一些实现细节的想法。
使用Jav
java
中return多个或者多种
类型
的值的
方法
(list;Map)
1.在写
方法
的时候,有时候需要
返回
多个值,有时候
返回
的多个值的
类型
还
不同
,依据
不同
情况以下提供了三种
方法
返回
多个值。
2.具体思路都在代码注释里了。如果
返回
的多个值
类型
相同,可以用
方法
一和
方法
二;如果
返回
的多个值
类型
不同
,可以用
方法
三。
初试写作,略感激动。
import
java
.util.*;
public class Demo {
//
方法
1:
返回
list
public static List<i
### 回答1:
在
Java
中,利用泛型
返回
类型
不同
的对象
方法
可以非常方便地处理
不同
类型
的对象。泛型允许我们在定义类、接口或
方法
时使用
类型
形参,从而可以使得这些类、接口或
方法
可以处理多种
不同
类型
的对象。
在定义
方法
时,可以使用泛型来
指定
该
方法
的
返回
类型
,同时也可以允许该
方法
的
参数
可以是
不同
类型
的对象。例如,可以定义一个泛型
方法
来
返回
不同
类型
的对象:
```
java
public static <T> T getObject(T[] array, int index) {
if (index < array.length) {
return array[index];
return null;
在这个
方法
中,使用了泛型
类型
形参T来
指定
返回
类型
,同时也使用了泛型数组
参数
T[]来允许传入
不同
类型
的对象数组。调用该
方法
时,可以通过传入
不同
类型
的数组和索引来获取
不同
类型
的对象:
```
java
String[] strArray = {"Hello", "World"};
Integer[] intArray = {1, 2, 3};
String str = getObject(strArray, 1);
Integer i = getObject(intArray, 2);
通过这种
方法
,可以避免在代码中使用不必要的if语句或者switch语句来处理
不同
类型
的对象,同时也可以使代码更加简洁、清晰、易于维护。
### 回答2:
Java
泛型是一种提高代码复用性和安全性的
方法
。
Java
泛型允许定义类、接口和
方法
在声明时不
指定
类型
,而是在实例化或调用
方法
时
指定
类型
,这样可以提高程序的灵活性。
Java
泛型
返回
类型
不同
的对象
方法
就是指
方法
的
返回
值
类型
是可变的,可以根据
不同
的实例化对象
返回
不同
类型
的对象。在
Java
泛型中可以使用通配符和泛型限定来实现。
使用通配符”?”实现泛型
返回
类型
不同
的对象
方法
在
Java
泛型中,“?”是一种通配符,表示任意
类型
。使用通配符“?”可以在
方法
返回
值和
参数
中使用任意
类型
。通配符一般应用于
参数
的只读操作,不能用于写入新数据。以下是使用通配符“?”实现泛型
返回
类型
不同
的对象
方法
的示例:
public class GenericReturnType {
public static <T> T getObject(Class<T> clazz) throw Exception{
T obj = clazz.getConstructor().newInstance();
return obj;
public static void main(String[] args) throw Exception{
String str = getObject(String.class);
Integer intObj = getObject(Integer.class);
在这个例子中,构造
方法
获取一个泛型
类型
对象,并
返回
该对象。通过使用通配符“?”,这个
方法
能够
返回
不同
类型
的对象。
使用泛型限定实现泛型
返回
类型
不同
的对象
方法
Java
泛型限定是指使用“extends”或“super”关键字限制
类型
的范围,使得泛型
类型
只能是某个类或其子类,或某个超类或其父类。使用泛型限定可以在泛型
返回
类型
不同
的对象
方法
中灵活地对
类型
进行限制。以下是使用泛型限定实现泛型
返回
类型
不同
的对象
方法
的示例:
public static <T extends Number> T getObject(Class<T> clazz) throws Exception {
T obj = clazz.getConstructor().newInstance();
return obj;
在这个例子中,使用了“ extends Number”的泛型限定,表示“T”只能是Number或其子类
类型
。这样,该
方法
只能
返回
一个Number或其子类对象。
Java
泛型能够提高代码的可读性、重用性和安全性。通过使用通配符“?”和泛型限定,“泛型
返回
类型
不同
的对象
方法
”可以根据
不同
的实例化对象
返回
不同
类型
的对象。
### 回答3:
Java
中泛型是一种强
类型
检查机制,它可以确保集合中只存储特定
类型
的数据。
Java
中利用泛型可以方便地创建
不同
类型
的集合、类、接口和
方法
。在
Java
中,可以将泛型作为
方法
的
返回
类型
,用来
返回
不同
类型
的对象。
泛型的
返回
类型
可以使用通配符来表示,例如:
```
java
public class Data<T> {
private T data;
public Data(T data) {
this.data = data;
public T getData() {
return data;
public static void main(String[] args) {
Data<String> stringData = new Data<String>("Hello World");
Data<Integer> intData = new Data<Integer>(100);
System.out.println(stringData.getData());
System.out.println(intData.getData());
在上面的例子中,Data类使用泛型T作为
类型
参数
,并实现了一个
方法
来
返回
T
类型
的数据。在main
方法
中,我们创建了Data<String>和Data<Integer>的实例,并调用getData
方法
来获得各自
类型
的数据。
此外,
Java
中还提供了通配符表达式和上限通配符来进一步扩展泛型的使用。
使用通配符表达式时,可以使用问号(?)代替泛型
类型
参数
,表示能够接受任何
类型
的数据。例如:
```
java
public static void printList(List<?> list) {
for (Object obj : list) {
System.out.print(obj + " ");
System.out.println();
在上面的例子中,printList
方法
的
参数
是一个可以接受任何
类型
的数据的List集合。
使用上限通配符时,可以对泛型
类型
参数
进行限制,只允许
方法
返回
指定
的对象
类型
或其子
类型
。例如:
```
java
public static <T extends Number> T add(T a, T b) {
return (T) (a.intValue() + b.intValue());
在上面的例子中,add
方法
使用了一个泛型
类型
参数
T,并使用extends关键字将其限制为Number的子
类型
。这样,我们就可以保证
方法
只会
返回
Number
类型
或其子
类型
的数据。
因此,
Java
利用泛型
返回
类型
不同
的对象的
方法
可以通过泛型的继承特性、通配符表达式和上限通配符来实现。通过正确使用泛型,可以增加代码的可读性和可维护性,避免出现
类型
转换错误和其他常见的程序错误。