我有一个应用程序需要读取分号为String
'分隔的;
缓冲区。
String buff = foo.getBuff(); // returns the buffer
但是,缓冲区可能变得非常大,我只需要获取最后一个String 标记,然后刷新临时变量String buff
,这样我的应用程序就不会积累太多内存。 / p>
更新
我试过这段代码:
String lastToken = buff.substring(buff.lastIndexOf(";") + 1);
但是,与此相比,我没有得到上述代码的结果:
List<String> slist = Arrays.asList(buff.split(";"));
String lastToken = slist.get(slist.size() - 1);
但是使用List非常慢。处理此问题时,我的网络应用几乎没有响应。
答案 0 :(得分:9)
这将对您有所帮助:
String lastToken = buff.substring(buff.lastIndexOf(";") + 1);
答案 1 :(得分:3)
我不懂Java,但通过谷歌搜索2个函数,我认为这样的事情应该有效:
String buff = foo.getBuff(); // returns the buffer
String lastToken = buff.substring(buff.lastIndexOf(";")+1);
答案 2 :(得分:2)
检查一下:
String lastToken = foo.getBuff().substring(foo.getBuff().lastIndexOf(';')+1);
编辑:Dan比我更好,更快地给出答案。