【发布时间】:2021-03-16 07:11:29
【问题描述】:
我有一个字符串Result = "FFF-556-GHH-788;DDR4TG441"。我使用 StringTokenizer 分割分隔符';'上的字符串。但是我得到的两个子字符串是1->"FFF-556-GHH-788" 和2->"DDR4TG441DDR4TG441DDR4TG441"。为什么 String 2 重复了 3 次?
代码: 主要:
datum = parseResult(Result);
有趣:
public QRResultData parseResult(String Result)
{
QRResultData data = new QRResultData();
StringTokenizer multiTokenizer = new StringTokenizer(Result, ";");
if(multiTokenizer.hasMoreTokens())
{
data.busNumber = multiTokenizer.nextToken();
}
if(multiTokenizer.hasMoreTokens())
{
data.seatNumber = multiTokenizer.nextToken();
}
return data;
}
【问题讨论】:
-
StringTokenizer 是一个遗留类,出于兼容性原因保留,但不鼓励在新代码中使用它。建议任何寻求此功能的人使用 String 的 split 方法
-
检查您在结果字符串中传递的确切内容。
-
我无法复制它。
StringTokenizer multiTokenizer = new StringTokenizer("FFF-556-GHH-788;DDR4TG441", ";"); Log.i(TAG, multiTokenizer.nextToken()); Log.i(TAG, multiTokenizer.nextToken());记录“FFF-556-GHH-788”和“DDR4TG441”