【发布时间】:2015-03-27 00:13:57
【问题描述】:
我正在开发一个必须处理自定义变量的应用程序aVar-
String aVar = price/barcode/area1/true // varName/varType/varScope/tracable
aVar 中可能添加了一些其他属性,由 ('/') 分隔。
要获得varName, varType, varScope 等我必须做以下事情,请参阅下面的代码 -
String[] token = aVar.split("/");
String varName = token[0];
String varType = token[1];
String varScope = token[2];
String traceable = token[3];
在这里您可以看到varName 取自token[0],即price,varType 取自token[1],即“条形码”等等。在这里我假设 - 拆分后 varName 总是在 token[0] 中,varType 总是在 token[1] 中等等。
现在我的问题是 - split() 方法返回的 String 数组是否总是包含 String 令牌,它们的出现顺序是(价格-->条形码-->area1-->true)?
我已经用一些输入测试了几次,发现订单保持不变。但我不确定 ALWAYS 是否适用于 VERY LONG 字符串。
【问题讨论】:
-
YES 它是一个从源字符串的第一个值到最后一个值的有序数组。
-
我看不出该代码是如何编译的——
String.split接受char并没有重载。你的意思是aVar.split("/")? -
@Jon Skeet,很棒的发现。这是一个错字(我刚刚改正)来自习惯于 char 的 java script split() 版本。
-
这就是为什么创建一个简短但完整的程序,编译并运行它,然后将 that 复制并粘贴到问题中的原因。它避免了这样的问题。
标签: java arrays string split string-split