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

时间:2010-02-20 05:20:04

标签: java

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

以上示例无效。我收到了一个错误。

我如何实现最初的问题?

5 个答案:

答案 0 :(得分:24)

正确的语法是

 return new String[]{ ans1, ans2 };

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

String[] arr = new String[2];
arr[0] = ans1;
arr[1] = ans2;
return arr;

我们创建一个长度为2的String数组,将第一个值赋给ans1,将第二个值赋给ans2,然后返回该数组。

答案 1 :(得分:10)

return new String[] { ans1, ans2 };

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

答案 2 :(得分:4)

return new String[] {ans1 , ans2};

答案 3 :(得分:2)

return new String[]{ans1,ans2};

这应该有效。在评论中提出您的其他问题。由于Java是强类型语言,因此应该实例化所有变量/结果。由于您没有实例化想要返回任何地方的结果,我们正在返回语句本身进行实例化。

答案 4 :(得分:-1)

我现在只是一名高中生,但是我从我的一个朋友那里得到的一个简单的解决方案应该可行。它是这样的(这是我的AP类项目的一部分):

public String firstMiddleLast()
{
   //returns first, middle, and last names
    return (first + " " + middle + " " + last);
}