Guava Doubles類


Doubles是double基本型別的實用工具類。

類宣告

以下是com.google.common.primitives.Doubles類的宣告:

@GwtCompatible(emulated=true)
   public final class Doubles
      extends Object

欄位

S.N. 欄位及說明
1 static int BYTES
所需要的位元組數來表示基本的double值。

方法

S.N. 方法及說明
1 static List<Double> asList(double... backingArray)
返回由指定陣列支援的固定大小的列表,類似 Arrays.asList(Object[]).
2 static int compare(double a, double b)
比較兩個指定的double值。
3 static double[] concat(double[]... arrays)
每個陣列提供組合成一個單一的陣列,則返回值。
4 static boolean contains(double[] array, double target)
返回true,如果target是否存在在任何地方陣列元素。
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)
返回目標陣列的首次出現的索引值。
8 static int indexOf(double[] array, double[] target)
返回指定目標的第一個匹配的起始位置陣列內,或-1,如果不存在。
9 static boolean isFinite(double value)
返回true,如果值代表一個實數。
10 static String join(String separator, double... array)
返回包含所提供的double 值的字串,所指定的轉換為字串 Double.toString(double), 及相隔分離。
11 static int lastIndexOf(double[] array, double target)
返回target 在陣列中最後一個出現的索引值。
12 static Comparator<double[]> lexicographicalComparator()
返回一個比較,比較兩個double陣列字典順序。
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採用序列化器物件 Double.valueOf(java.lang.String) and Double.toString().
16 static double[] toArray(Collection<? extends Number> collection)
返回一個包含集合中的每個值的陣列,轉換為double值的方式Number.doubleValue().
17 static Double tryParse(String string)
解析指定的字串作為一個雙精度浮點值。

方法繼承

這個類繼承了以下類方法:

  • java.lang.Object

Doubles 範例

使用所選擇的任何編輯器建立下面的java程式 C:/> Guava

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};

      //convert array of primitives to array of objects
      List<Double> objectArray = Doubles.asList(doubleArray);
      System.out.println(objectArray.toString());

      //convert array of objects to array of primitives
      doubleArray = Doubles.toArray(objectArray);
      System.out.print("[ ");
      for(int i = 0; i< doubleArray.length ; i++){
         System.out.print(doubleArray[i] + " ");
      }
      System.out.println("]");
      //check if element is present in the list of primitives or not
      System.out.println("5.0 is in list? "+ Doubles.contains(doubleArray, 5.0f));

      //return the index of element
      System.out.println("5.0 position in list "+ Doubles.indexOf(doubleArray, 5.0f));

      //Returns the minimum		
      System.out.println("Min: " + Doubles.min(doubleArray));

      //Returns the maximum		
      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