我有这将在数组返回两个字符串的方法, split(str, ":", 2)
要精确。
有没有在Java中更快的方式数组中的两个值赋给字符串变量比
String[] strings = str.split(":", 2);
String string1 = strings[0];
String string2 = strings[1];
例如是存在一个语法像
String<string1, string2> = str.split(":", 2);
提前致谢。
我有这将在数组返回两个字符串的方法, split(str, ":", 2)
要精确。
有没有在Java中更快的方式数组中的两个值赋给字符串变量比
String[] strings = str.split(":", 2);
String string1 = strings[0];
String string2 = strings[1];
例如是存在一个语法像
String<string1, string2> = str.split(":", 2);
提前致谢。
不,是在Java中没有这样的语法。
然而,其他一些语言有这样的语法。 例子包括Python的元组拆包,并在许多函数式语言模式匹配。 例如,在Python中你可以写
string1, string2 = text.split(':', 2)
# Use string1 and string2
或F#你可以写
match text.Split([| ':' |], 2) with
| [string1, string2] -> (* Some code that uses string1 and string2 *)
| _ -> (* Throw an exception or otherwise handle the case of text having no colon *)
您可以创建一个holder类:
public class Holder<L, R> {
private L left;
private R right;
// create a constructor with left and right
}
然后,你可以这样做:
Holder<String, String> holder = new Holder(strings[0], strings[1]);
我可以说“使用循环”。 可能是循环,可能是一段时间,这取决于你。 如果你这样做,你不必担心数组的大小。 一旦你通过数组的大小为“终止条件”,将工作进展顺利。
更新:
我将使用代码如下图所示。 我没有欠幅也无妨,但我总是用这种风格。
串[]字符串= str.split( “:”,2);
List keepStrings = new ArrayList();
for(int i=0;i<strings.length;i++)
{
String string = strings[i];
keepStrings.add(string);
}