code: public static Object getPrimitiveDefaultValue(final Class<?> type) {
          
          Objects.requireNonNull(type, "type should not be null.");
          
          if(!type.isPrimitive()) {
              return null;
              
          } else if(boolean.class.isAssignableFrom(type)) {
              return false;
              
          } else if(char.class.isAssignableFrom(type)) {
              return '\u0000';
              
          } else if(byte.class.isAssignableFrom(type)) {
              return (byte)0;
              
          } else if(short.class.isAssignableFrom(type)) {
              return (short)0;
              
          } else if(int.class.isAssignableFrom(type)) {
              return 0;
              
          } else if(long.class.isAssignableFrom(type)) {
              return 0l;
              
          } else if(float.class.isAssignableFrom(type)) {
              return 0.0f;
              
          } else if(double.class.isAssignableFrom(type)) {
              return 0.0d;
          }
          
          return null;
          
      }
docs: プリミティブ型の初期値を取得する。
  @param type プリミティブ型のクラス型。
  @return 非プリミティブ型や該当するクラスがない場合はnullを返す。
  @throws NullPointerException type is null.