code: public static UUID fromString(String name) {
  		String[] components = name.split("-");
  		if (components.length != 5) {
  			throw new IllegalArgumentException("Invalid UUID string: " + name);
  		}
  		for (int i = 0; i < 5; i++) {
  			components[i] = "0x" + components[i];
  		}
  
  		long mostSigBits = Long.decode(components[0]).longValue();
  		mostSigBits <<= 16;
  		mostSigBits |= Long.decode(components[1]).longValue();
  		mostSigBits <<= 16;
  		mostSigBits |= Long.decode(components[2]).longValue();
  
  		long leastSigBits = Long.decode(components[3]).longValue();
  		leastSigBits <<= 48;
  		leastSigBits |= Long.decode(components[4]).longValue();
  
  		return new UUID(mostSigBits, leastSigBits);
  	}
docs: 根据 {@link #toString()} 方法中描述的字符串标准表示形式创建{@code UUID}。
  
  @param name 指定 {@code UUID} 字符串
  @return 具有指定值的 {@code UUID}
  @throws IllegalArgumentException 如果 name 与 {@link #toString} 中描述的字符串表示形式不符抛出此异常