如何在一个return语句中返回两个字符串?

hig*_*der 13 java

public String[] decode(String message)
{
     String ans1 = "hey"; 
     String ans2 = "hi";  
     return {ans1 , ans2};  // Is it correct?
}
Run Code Online (Sandbox Code Playgroud)

以上示例无法正常工作.我收到了一个错误.

我怎样才能实现最初的问题?

Mar*_*iot 24

正确的语法是

 return new String[]{ ans1, ans2 };
Run Code Online (Sandbox Code Playgroud)

即使你已经创建了两个String(ans1ans2)你还没有创建String数组(或String[]),你试图返回.上面显示的语法是稍微更详细但等效的代码的简写:

String[] arr = new String[2];
arr[0] = ans1;
arr[1] = ans2;
return arr;
Run Code Online (Sandbox Code Playgroud)

我们在其中创建一个长度为2的String数组,将第一个值分配给ans1第二个ans2,然后返回第二个,然后返回该数组.


Cor*_*old 10

return new String[] { ans1, ans2 };
Run Code Online (Sandbox Code Playgroud)

你必须这样做的原因只是说{ans1,ans2}实际上并没有创建你想要返回的对象.它所做的只是将两个元素添加到数组中,但没有"new String []",您实际上没有创建一个数组来添加元素.