为何很多系统用String做ID,而不是Int类型?

为何很多系统用String(char)做ID,而不是Int类型?譬如SnowFlakeId,是整数,但是很多系统用String存

阅读 5.9k
4 个回答

更好的解释性吧

首先并没有规定String不能做id,int也不是约定俗成。

最后,UUID了解下,那玩意本来就是String,印象中sql server的默认ID类型就是这种UUID

int类型范围有限,超过了就尴尬,而用字符串范围可就大了。

你要听真话还是假话?
假话就是String和int在服务器里都是存成byte[]放在文件里,这时候可以直接通过比较两个byte[]来比较string的大小,而int要先把byte[]转成int类型才能比,这样看String性能比int好。
真话就是GUID它一生成出来就是个String,我也懒得改了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题