Here you can find the source of toPrimaryValue(Comparable> comp)
public static Comparable<?> toPrimaryValue(Comparable<?> comp)
//package com.java2s; //License from project: Apache License import java.math.BigDecimal; public class Main { public static Comparable<?> toPrimaryValue(Comparable<?> comp) { if (comp instanceof BigDecimal) { BigDecimal big = (BigDecimal) comp; int scale = big.scale(); if (scale == 0) { // long int try { return big.longValueExact(); } catch (ArithmeticException e) { return big; }//from w w w . j ava2 s . c o m } else { // double float return big.doubleValue(); } } else { return comp; } } }