博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
String类中的equals方法总结(转载)
阅读量:5291 次
发布时间:2019-06-14

本文共 1881 字,大约阅读时间需要 6 分钟。

转载:https://blog.csdn.net/qq_25827845/article/details/53868815

1.String源码中equals大致写法:

1 public boolean equals(Object anObject) { 2 if (this == anObject) { 3 return true; 4 } 5 if (anObject instanceof String) { 6 String anotherString = (String) anObject; 7 int n = value.length; 8 if (n == anotherString.value.length) { 9 char v1[] = value;10 char v2[] = anotherString.value;11 int i = 0;12 while (n-- != 0) {13 if (v1[i] != v2[i])14 return false;15 i++;16 }17 return true;18 }19 }20 return false;21 }

2. 模仿String equals源码

package cn.ywq.test; class MyString {        char[] value;    public MyString(char[] value) {        this.value=value;  //通过构造方法将字符传入    }            public int equalsString(Object obj) {        if(this==obj){            return 0;        }                //若该对象是MyString类型的        if(obj instanceof MyString){            MyString string =(MyString) obj;            int n=this.value.length;            if (n>string.value.length) {  //先判断长度的关系                return 1;            }else if(n
v2[i]){ return 1; }else if(v1[i] < v2[i]){ return -1; } i++; } return 0; //若while循环正常结束,则说明相等,返回0 } } return -100; //若传入的不是MyString类型的对象 } }package cn.ywq.test; public class Test { public static void main(String[] args) { char[] value={'a','b','c','d'};// char[] value2={'a','b','c','d','e'};// char[] value3={'c','b','c','d'}; char[] value4={'a','b','c',}; MyString myString = new MyString(value); MyString s=new MyString(value4); int i = myString.equalsString(s); System.out.println(i); } }

 

转载于:https://www.cnblogs.com/bbllw/p/10071950.html

你可能感兴趣的文章
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
iframe的父子层跨域 用了百度的postMessage()方法
查看>>
图片生成缩略图
查看>>
关于Mysql select语句中拼接字符串的记录
查看>>
动态规划 例子与复杂度
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>