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

Vik*_*jan 1 java string methods return

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");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的程序时出现错误。你能帮我吗?多谢

HJK*_*HJK 5

一种方法一次只能返回一个值。连接两个字符串并返回,或者您可以使用一个类。设置详细信息并返回该类的实例

方法一:

 return firstname+"|"+secondname;
Run Code Online (Sandbox Code Playgroud)

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

方法二:

创建一个类似的类

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

在方法中做

 Person p = new Person(firstname, secondname);
 return p;
Run Code Online (Sandbox Code Playgroud)


Dan*_*elo 5

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

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

      String[] names = new String[2];
      names[0] = firstName;
      names[1] = secondName;
      return names;
 }
Run Code Online (Sandbox Code Playgroud)

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

您也可以使用使用列表

 List<String> nameList =  new ArrayList<String>();
 nameList.add(firstName);
Run Code Online (Sandbox Code Playgroud)

并获得元素,如nameList.get(0)

您可以使用

 Map<String,String> nameMap = new HashMap<String,String>();
 nameMap.put("firstName",firstName);
 nameMap.put("secondName",secondName);
Run Code Online (Sandbox Code Playgroud)

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