关于字符串数组声明

Ara*_*rav 1 java string

我有以下字符串赋值语句

String items[] = line.split("\",\"",15);
String fileNamet = items[1].replaceAll("\"","").trim();
Run Code Online (Sandbox Code Playgroud)

我需要引入一个新的if语句

if (valid) {
    String items[] = line.split("\",\"",15);
} else {
    String items[] = line.split("\",\"",16);
} 
String fileNamet = items[1].replaceAll("\"","").trim();
Run Code Online (Sandbox Code Playgroud)

现在,item变为if循环的本地,并且给出了编译错误.如何在if循环之外声明items数组?

pol*_*nts 6

这是种情景模式,其中三元运营商擅长(JLS 15.25条件运算符:? )

String[] items = line.split("\",\"", (valid ? 15 : 16));
Run Code Online (Sandbox Code Playgroud)

没有代码重复,一旦你习惯它,它会更好地读取.

也就是说,你也可以在if你不熟悉的范围之外宣读声明.

String[] items;
if (valid) {
  items = line.split("\",\"",15);
} else {
  items = line.split("\",\"",16);
} 
Run Code Online (Sandbox Code Playgroud)