Java 获取最后一个令牌字符串

Java 获取最后一个令牌字符串,java,Java,我有一个应用程序需要读取一个字符串缓冲区,它是分号“'分隔 String buff = foo.getBuff(); // returns the buffer 但是,缓冲区可能会变得相当大,我只需要获取最后一个字符串标记,然后刷新临时变量String buff,这样我的应用程序就不会积累太多内存 更新: 我尝试了以下代码: String lastToken = buff.substring(buff.lastIndexOf(";") + 1); 但是,与以下代码相比,我没有得到上面代码的结

我有一个应用程序需要读取一个
字符串
缓冲区,它是分号“
'分隔

String buff = foo.getBuff(); // returns the buffer
但是,缓冲区可能会变得相当大,我只需要获取最后一个字符串标记,然后刷新临时变量
String buff
,这样我的应用程序就不会积累太多内存

更新:

我尝试了以下代码:

String lastToken = buff.substring(buff.lastIndexOf(";") + 1);
但是,与以下代码相比,我没有得到上面代码的结果:

List<String> slist = Arrays.asList(buff.split(";"));
String lastToken = slist.get(slist.size() - 1);
List slist=Arrays.asList(buff.split(“;”);
字符串lastToken=slist.get(slist.size()-1);

然而,使用列表是非常缓慢的。我的web应用程序在处理此问题时几乎没有响应。

我不懂Java,但通过谷歌搜索两个函数,我认为类似的功能应该可以工作:

String buff = foo.getBuff(); // returns the buffer
String lastToken = buff.substring(buff.lastIndexOf(";")+1);
这将帮助您:

String lastToken = buff.substring(buff.lastIndexOf(";") + 1);
选中此项:

String lastToken = foo.getBuff().substring(foo.getBuff().lastIndexOf(';')+1);

编辑:Dan给出的答案比我更好更快。

与:List slist=Arrays.asList(buff.split(“;”))相比,我没有得到这段代码的结果;字符串lastToken=slist.get(slist.size()-1);试试这个,看看能不能用。然后,用字符串替换s。字符串s=“fsdfgdfdgdfg;dgdgdfgd;gdfgdf”;字符串lastToken=s.substring(s.lastIndexOf(“;”)+1);与以下代码相比,我没有得到结果:List slist=Arrays.asList(buff.split(“;”);字符串lastToken=slist.get(slist.size()-1);但是,我的解决方案相当缓慢。请提供一个我的解决方案不起作用的示例。