Технически говоря, наименьшее число с плавающей запятой равно -inf
, а максимальное число с плавающей запятой inf
:
>>> (float('-inf') # negative infinity
< -1.7976931348623157e+308 #* smallest float that is not negative infinity
< -4.9406564584124654e-324 #* biggest negative float that is not zero
< 0 # zero duh
< 4.9406564584124654e-324 #* smallest positive float that is not zero
< 1.7976931348623157e+308 #* biggest float that is not positive infinity
< float('inf')) # positive infinity
True
числа с *
зависят от машины и зависят от реализации.
В данном конкретном случае я не вижу пользы. В общем, есть два преимущества:
readLine ()
определен только в BufferedReader
, а не в Reader
(здесь не имеет значения) BufferedReader
сокращает количество операций ввода-вывода, когда отдельные вызовы базового считывателя потенциально дороги (т. Е. Меньшее количество коротких вызовов выполняется быстрее, чем множество мелких) - опять же, не имеет значения для StringReader
Вырезать и вставить не удается? 1111299]
РЕДАКТИРОВАТЬ: Мой исходный ответ ниже. Приведенный ниже не имеет отношения к в этом случае, поскольку буферизованный читатель оборачивает StringReader, который обертывает String. Таким образом, буферизация не выполняется, а BufferedReader кажется избыточным. Вы могли бы привести аргумент в пользу использования лучших / последовательных практик, но это было бы довольно неубедительно.
Возможно, это результат копирования / вставки или, возможно, слишком большого рефакторинга, управляемого IDE!
BufferedReader будет пытаться читать более оптимальным образом.
То есть он будет читать большие фрагменты данных за один раз (в настраиваемом количестве), а затем делать их доступными по мере необходимости. Это уменьшит количество операций чтения с диска (и т. Д.) За счет некоторого использования памяти.
Цитата из Javadoc:
В общем, каждый запрос на чтение, сделанный из Reader вызывает соответствующее чтение просьба быть сделана из основного символьный или байтовый поток. это поэтому рекомендуется обернуть BufferedReader вокруг любого Reader, чей read () может быть дорогостоящим, например как FileReaders и InputStreamReaders
Версия BufferedReader была скопирована из какого-то кода, который раньше читал из FileReader?