首页 > 解决方案 > 在 Java 中返回任何类型的方法

问题描述

我正在上 11 年级的计算机科学课程,我正在尝试编写一个可以简化大量代码的文件。现在我正在尝试将输入和输出合并为一种方法;

public static void askln(String text, String type){
     System.out.println(text);
     if(type.equals("int"))
          return getInt();
     if(type.equals("char"))
          return getChar();
     if(type.equals("String")) 
          return getString();
     if(type.equals("double"))
         return getDouble();
     if(type.equals("float"))
         return getFloat();
     if(type.equals("long")) 
         return getLong();
}

getInt()是一种从用户那里获取整数的方法。我假设人们会理解其他吸气剂的作用。

此代码不起作用,因为 'void' 不会返回任何内容。我想知道是否有一个返回类型可以让我返回任何值。

标签: javareturn-type

解决方案


您应该将参数交换为String typeClass<T> type并将返回类型交换为T. 您必须在返回值之前定义一个通用参数,因此签名将如下所示:public static <T> T askln(String text, Class<T> type).

为了让您的编译器满意,您可能应该让getXXX()方法返回 Object 并在返回到T.


推荐阅读