Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在不创建字符串的情况下将CharSequence解析为double_Java - Fatal编程技术网

Java 在不创建字符串的情况下将CharSequence解析为double

Java 在不创建字符串的情况下将CharSequence解析为double,java,Java,我需要在Java中用数亿行解析数千兆字节的文本数据 每一行都存储在(实现的)中,并在固定位置包含多个整数和浮点数 在第一个版本中,我与和一起使用。然而,这是非常缓慢的。由于每行多次创建几十个临时字符串对象,垃圾收集器正在消耗大量资源 在我切换到之后,我的性能得到了很大的提高。它可以直接从中解析数字 不幸的是,我找不到浮点数的这种方法 有人知道一种方法或库可以提供浮动解析和偏移量,而不是吗?因为我不确定它是否涵盖了您的所有期望,它似乎可以提供您所需要的东西 它提供了以下方法: double par

我需要在Java中用数亿行解析数千兆字节的文本数据

每一行都存储在(实现的)中,并在固定位置包含多个整数和浮点数

在第一个版本中,我与和一起使用。然而,这是非常缓慢的。由于每行多次创建几十个临时字符串对象,垃圾收集器正在消耗大量资源

在我切换到之后,我的性能得到了很大的提高。它可以直接从中解析数字

不幸的是,我找不到浮点数的这种方法


有人知道一种方法或库可以提供浮动解析和偏移量,而不是吗?

因为我不确定它是否涵盖了您的所有期望,它似乎可以提供您所需要的东西

它提供了以下方法:

double parseDouble(java.lang.CharSequence s, int start, int end) throws java.lang.NumberFormatException

如果这不是您想要的,很抱歉占用您的时间。

我想您正在执行
CharBuffer.wrap(line)
?我不明白您将在哪里使用
String#substring
。。。如果你知道固定位置,你可以做
cb.position(position).limit(limit)通过
for循环
,但仍会创建大量字符串