如何在一个方法中 return 2 个字符串:String example(String firstName, String secondName)

How to return 2 Strings in one method: String example(String firstName, String secondName)

Public class Example1
{

    String fullname(String firstName, String secondName)
    {
        return firstName,secondName;
        //return fullname(firstName,secondName); doesn't work either :(
    }

    public static void main(String[] args) 
    {
        Example1 myname=new Example();
        System.out.println(myname.fullname("John", "Wick");
    }
}

不过,当我 运行 我的程序时出现错误。 你们能帮帮我吗?非常感谢

一个方法只有一个 return 类型,所以除非你把两个字符串打包成 class 和 return 那 class (或者把两个字符串放在字符串数组或其他一些字符串容器),你只能 return 一个字符串。

如果您的唯一要求是将全名显示为单个字符串,您可以简单地连接两个字符串:

String fullname (String firstName, String secondName) 
{
    return firstName + " " + secondName;
}

一个方法一次只能return一个值。连接字符串和 return,或者您可以使用 class。设置详细信息和 return class

的实例

方法一:

 return firstname+"|"+secondname;

如果您希望在调用方法中将它们分开,只需使用 return_value.split("|")。现在你得到一个包含 2 个元素的字符串数组,firstname 和 secondname

方法二:

创建一个class 赞

 public class Person{
   private String firstName;
   private String secondName;
   public Person(String fname, String sname){
      firstname = fname; 
      secondname = sname;
    }
   // getter setters
 }

在方法中做

 Person p = new Person(firstname, secondname);
 return p;

您不能一次 return 2 个字符串。您可以像这样使用字符串数组:

 public String[] fullname(String firstName, String secondName){

      String[] names = new String[2];
      names[0] = firstName;
      names[1] = secondName;
      return names;
 }

解决这个问题的另一种合乎逻辑的方法是将它们连接起来然后拆分。

您可以使用也可以使用列表

 List<String> nameList =  new ArrayList<String>();
 nameList.add(firstName);

并获取 nameList.get(0) 等元素

你可以使用

 Map<String,String> nameMap = new HashMap<String,String>();
 nameMap.put("firstName",firstName);
 nameMap.put("secondName",secondName);

有很多方法可以使用数据结构来解决这个问题。

好吧,你有三个选择

  1. 将字符串和 return 连接为一个字符串。在接收端拆分字符串。

  2. Return 字符串数组

  3. Return 一个对象。即设置两个srings为两个成员变量和return对象。