String
来源:互联网 发布:涂色 app 源码 编辑:程序博客网 时间:2024/04/27 03:08
构造方法
public String(String original) { this.value = original.value; this.hash = original.hash; }
public int compareTo(String anotherString) { //自身对象字符串长度len1 int len1 = value.length; //被比较对象字符串长度len2 int len2 = anotherString.value.length; //取两个字符串长度的最小值lim int lim = Math.min(len1, len2); char v1[] = value; char v2[] = anotherString.value; int k = 0; //从value的第一个字符开始到最小长度lim处为止,如果字符不相等,返回自身(对象不相等处字符-被比较对象不相等字符) while (k < lim) { char c1 = v1[k]; char c2 = v2[k]; if (c1 != c2) { return c1 - c2; } k++; } //如果前面都相等,则返回(自身长度-被比较对象长度) return len1 - len2;}
如果在排序中a在b的前面则
a.compareTo(b)
返回的值小于0,就好像a b是两个整数一样a-b<0;
hash算法
//s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] for (int i = 0; i < value.length; i++) { h = 31 * h + val[i]; }
intern()
方法
intern方法是Native调用,它的作用是在方法区中的常量池里通过equals方法寻找等值的对象,如果没有找到则在常量池中开辟一片空间存放字符串并返回该对应String的引用,否则直接返回常量池中已存在String对象的引用。
0 0
- string
- String
- String
- string
- string
- String
- string
- String
- string
- string
- string
- string
- String
- String
- string
- string +
- String
- String
- Linux安装qemu-kvm虚拟机(基于ubuntu16.04)
- OpenJudge noi 1350Euclid's Game
- HTML基础之CSS-id选择器
- lambda表达式的使用
- openWRT 驱动开发举例
- String
- 第五章 数组Ivor Horton
- STM32学习---时钟系统
- SPOJ 3267(DQUERY) D-query 【主席树】【离线树状数组】
- 关于IDEA中部署网页时发生资源路径问题的解决方案
- 简单化的支付宝集成Demo
- qsort的用法
- 欢迎使用CSDN-markdown编辑器
- JS制作常见通知信息(适用于手机通知信息和电脑通知信息)