我有以下字符串赋值语句
String items[] = line.split("\",\"",15);
String fileNamet = items[1].replaceAll("\"","").trim();
我需要引入一个新的if语句
if (valid) {
String items[] = line.split("\",\"",15);
} else {
String items[] = line.split("\",\"",16);
}
String fileNamet = items[1].replaceAll("\"","").trim();
现在,item变为if循环的本地,并且给了我编译错误。如何在if循环之外声明items数组?
答案 0 :(得分:6)
这是三元运算符擅长的场景(JLS 15.25 Conditional Operator ?:)
String[] items = line.split("\",\"", (valid ? 15 : 16));
没有重复的代码,一旦你习惯它,它就会更好。
那就是说,你也可以在if
之外取出声明,如果这是你更熟悉的话。
String[] items;
if (valid) {
items = line.split("\",\"",15);
} else {
items = line.split("\",\"",16);
}
答案 1 :(得分:1)
在外面宣布:
String items[];
if (valid) {
items = line.split("\",\"",15);
} else {
items = line.split("\",\"",16);
}
String fileNamet = items[1].replaceAll("\"","").trim();