在我的应用程序开发一个性能问题来到我的脑海:什么是从字符串检索值的最快方法?
我有很多的数据线,可以看起来像这样:
- ANG:-0.03,0.14,55.31
- !ANG:-0.03,-0.14,305.31
- ANG:-234.03,-0.14,55.31 一般
- :ANG:浮球,浮球,浮球
在这些线条之间还存在“损坏”的线条 - 它们不是以开头的!或者太短/有额外的迹象等等。
为了检测在开始时损坏,我只是用
if(myString.charAt(0) != '!')//wrong string
我能做些什么,以检测在年底受损线路线?提及我非常重要的一点是,我不仅需要检查这条线是否正确,而且还要让这3个浮点数在以后使用。
我发现三个选项是:
- 使用正则表达式
- 分两次(第一次 “:” 和第二 “”)和count元素
- 使用扫描仪类
我不确定哪一个(或者也许还有其他)方法从性能角度来看是最好的。你能给我一些建议吗?
编辑:
一些意见,我看,这是值得写后如何破损线的外观:
- NG:-0.03,0.14,55.31
- .14,55.31 !
- ANG:-0.03,0.14,
- A,-0.02,-0.14,554,-0.12,55
这是相当困难谈论的行数,因为我从其他设备阅读,让他们让我在用频率为50Hz时得到的20行数据包。
什么我迄今为止的发现是用扫描仪的大缺点 - 每行我需要创建新的对象,并在一段时间后我的设备开始变得短上的资源。
尝试你的三个选项,并找出哪一个最好 – Shar1er80
你到底意味着什么?给一个样本破坏字符串 –
所有这些选项都可以工作,但这里的答案也取决于你的“完好无损”的行,所以你可以发布一些? – DoubleMa