ObjectId 初始化时赋值ID报错

报错信息如下:

Exception in thread "main" java.lang.IllegalArgumentException: invalid hexadecimal representation of an ObjectId: [123]
at org.bson.types.ObjectId.parseHexString(ObjectId.java:519)
at org.bson.types.ObjectId.(ObjectId.java:233)
at Test.main(Test.java:5)

报错中午字面意思是:无效的十六进制表示,至于代码中的ID是随便写的一个数字:


public class Test {
	public static void main(String[] args) throws Exception {
		ObjectId a = new ObjectId("123");
		
		System.out.println(a);
	}
}

最后发现原来 ObjectId 初始化时候的ID是不能随便乱写的,必须符合他的规范才行,具体参考:点击打开链接

你可能感兴趣的:(ObjectId 初始化时赋值ID报错)