String
文章平均质量分 65
String类相关知识
zhangjin1120
这个作者很懒,什么都没留下…
展开
-
String的hashCode为什么选择31作为乘子?
因为101^5 = 10,510,100,501。这个计算结果太大了。如果用 int 类型表示哈希值,结果会溢出。单字节的话,最大值是255。unicode在BMP范围内采用双字节。数值是19968 到 40891。先看下String类的源码,31出现在hashCode()方法中。中已经明确,java中的char可以表示中文。31^5 = 28629151,不大不小。有讲,下面的内容我只是转述,没有验证过。31是实验得到的一个最优解之一。那到底为什么用31了?原创 2023-07-08 01:20:53 · 144 阅读 · 0 评论 -
彻底搞懂:java中的char能表示中文吗?
Basic Multilingual Plane 基本多语言平面。它的码点范围是即0x0000-0xFFFF,包含了世界上最常用的字符。原创 2023-07-07 03:21:47 · 1163 阅读 · 0 评论 -
彻底hashCode与hashCode()方法
写这篇文章,主要为分析String类的hashCode()方法做铺垫。原创 2023-07-07 17:17:24 · 126 阅读 · 0 评论 -
String类的substring()方法
String类中有两个substring函数public String substring(int beginIndex) {}public String substring(int beginIndex, int endIndex) {}先看public String substring(int beginIndex) {},这个函数的作用,可以简单理解为,去除字符串前面的几个字符,测试如下。 String h = "hello world"; String t.原创 2021-04-06 11:35:51 · 1187 阅读 · 0 评论 -
String转char[],char转String
String 转 char[],例如:把一个单词转为一个字符数组。 char[] letter = content.toCharArray();char转String,例如:java Bean类中,经常有String成员变量,单个字符char,需要转为String类。String str = String.valueOf(c);...原创 2021-06-30 14:58:21 · 212 阅读 · 0 评论