扫码一下
查看教程更方便
Doubles
是原始类型 double 的实用程序类。
以下是 com.google.common.primitives.Doubles
类的声明
@GwtCompatible(emulated = true)
public final class Doubles
extends Object
序号 | 字段 | 说明 |
---|---|---|
1 | static int BYTES | 表示原始双精度值所需的字节数。 |
序号 | 方法 | 说明 |
---|---|---|
1 | static List<Double> asList(double... backingArray) | 返回由指定数组支持的固定大小列表,类似于 Arrays.asList(Object[])。 |
2 | static int compare(double a, double b) | 比较两个指定的双精度值。 |
3 | static double[] concat(double[]... arrays) | 将每个提供的数组中的值返回到一个数组中。 |
4 | static boolean contains(double[] array, double target) | 如果 target 作为元素出现在数组中的任何位置,则返回 true。 |
5 | static double[] ensureCapacity(double[] array, int minLength, int padding) | 返回一个包含与数组相同值的数组,但保证具有指定的最小长度。 |
6 | static int hashCode(double value) | 返回值的哈希码; 等于调用 ((Double) value).hashCode() 的结果。 |
7 | static int indexOf(double[] array, double target) | 返回值 target 在数组中第一次出现的索引。 |
8 | static int indexOf(double[] array, double[] target) | 返回指定目标在数组中第一次出现的起始位置,如果不存在则返回 -1。 |
9 | static boolean isFinite(double value) | 如果 value 表示实数,则返回 true。 |
10 | static String join(String separator, double... array) | 返回包含提供的双精度值的字符串,转换为由 Double.toString(double) 指定的字符串,并由分隔符分隔。 |
11 | static int lastIndexOf(double[] array, double target) | 返回值 target 在数组中最后一次出现的索引。 |
12 | static Comparator<double[]> lexicographicalComparator() | 返回一个比较器,该比较器按字典顺序比较两个双精度数组。 |
13 | static double max(double... array) | 返回数组中存在的最大值,使用与 Math.max(double, double) 相同的比较规则。 |
14 | static double min(double... array) | 返回数组中存在的最小值,使用与 Math.min(double, double) 相同的比较规则。 |
15 | static Converter<String,Double> stringConverter() | 返回一个可序列化的转换器对象,该对象使用 Double.valueOf(java.lang.String) 和 Double.toString() 在字符串和双精度数之间进行转换。 |
16 | static double[] toArray(Collection<? extends Number> collection) | 返回包含集合的每个值的数组,以 Number.doubleValue() 的方式转换为双精度值。 |
17 | static Double tryParse(String string) | 将指定的字符串解析为双精度浮点值。 |
该类继承了以下类的方法 -
在 C:/> Guava 中使用我们选择的任何编辑器创建以下 java 程序。
GuavaTester.java
import java.util.List;
import com.google.common.primitives.Doubles;
public class GuavaTester {
public static void main(String args[]) {
GuavaTester tester = new GuavaTester();
tester.testDoubles();
}
private void testDoubles() {
double[] doubleArray = {1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0};
//将基元数组转换为对象数组
List<Double> objectArray = Doubles.asList(doubleArray);
System.out.println(objectArray.toString());
//将对象数组转换为基元数组
doubleArray = Doubles.toArray(objectArray);
System.out.print("[ ");
for(int i = 0; i< doubleArray.length ; i++) {
System.out.print(doubleArray[i] + " ");
}
System.out.println("]");
//检查元素是否存在于基元列表中
System.out.println("5.0 is in list? " + Doubles.contains(doubleArray, 5.0f));
//返回元素的索引
System.out.println("5.0 position in list " + Doubles.indexOf(doubleArray, 5.0f));
//返回最小值
System.out.println("Min: " + Doubles.min(doubleArray));
//返回最大值
System.out.println("Max: " + Doubles.max(doubleArray));
}
}
使用 javac 编译器编译类,如下所示
C:\Guava>javac GuavaTester.java
现在运行 GuavaTester 以查看结果。
C:\Guava>java GuavaTester
结果如下
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
[ 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 ]
5.0 is in list? true
5.0 position in list 4
Min: 1.0
Max: 9.0