gpt4 book ai didi

java - 优化字符串 += 还是连接?

转载 作者:行者123 更新时间:2023-12-01 18:50:46 25 4
gpt4 key购买 nike

我正在编写一个可能包含 1000 个数据点的文件。我有所有这些的类(class),并且目前正在最后写入所有数据(数据点以 1 秒的间隔获取)。我目前正在做的事情写在下面,而且速度很慢。我最好改变将字符串/字节写入文件的方式吗?或者我最好在应用程序运行时将此信息写入某个文件指针?

顺便说一句,所有诸如getAccuracy()之类的东西这些是 float /整数(因此它也必须转换它们)。

fileStr = "";
fileStr += "timestamp,Accuracy,Altitude,Latitude,Longitude,GPSSatelliteEntries\r\n";
for (Iterator<Entry> i = entries.iterator(); i.hasNext(); ) {
Entry item = i.next();
long ts = item.getTs();
DataEntry d = item.getD();
List<GPSSatelliteEntry> satellites = item.getG();

// write stuff
fileStr += ts + ",";
fileStr += d.getAccuracy() + "," + d.getAltitude() + "," + d.getLatittude() + "," + d.getLongitude() + ",";
fileStr += "[";
boolean entered = false;
for (Iterator<GPSSatelliteEntry> j = satellites.iterator(); j.hasNext(); ) {
GPSSatelliteEntry item2 = j.next();
entered = true;
fileStr += "(" + item2.getAzimuth() + "," + item2.getElevation() + "," + item2.getPrn() + "," + item2.getSnr() + "),";
}
// chop off extra ,
if (entered)
fileStr = fileStr.substring(0, fileStr.length() - 1);
fileStr += "]";
fileStr += "\r\n";
}

最佳答案

每次你在字符串方面遇到困难时,请使用 StringBuilderStringBuffer以获得更好的性能。

不要忘记Stringimmutable ,每次修改 String 都会创建新实例,并且会降低性能。

关于java - 优化字符串 += 还是连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15980157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com