equals源码分析

equals源码分析
        package com.math;

        public class StringFull {

            public static void main(String[] args) {

                String st1 = "bcd";
                String stq = "abc";
                System.out.println(st1.equals(st1));

            }
            //equals的源码:
            //返回值是loolean;传入参数数anObject;这里指stq
            /*public boolean equals(Object anObject) {
                if (this == anObject) {//这里是地址值比较;1两个地址相同;2传入的是同一个参数
                    return true;//代表直接退出当前方法;返回true;结束比较
                }
                if (anObject instanceof String) {//判断传入的参数anObject是否的String的实例或对象。否的话直接return
                    String anotherString = (String)anObject;//向下转型;将anObject转成String
                    int n = value.length;
                    if (n == anotherString.value.length) {判断长度两个字符串是否一致
                        char v1[] = value;
                        char v2[] = anotherString.value;
                        int i = 0;//传入一个定义为0的参数;单纯的用于比较第零为字符;并进行++逐次比较
                        while (n-- != 0) {
                            if (v1[i] != v2[i])
                                return false;
                            i++;
                        }
                        return true;
                    }
                }
                return false;
            }*/
        }

posted @ 2022-04-11 16:19  爱豆技术部  阅读(67)  评论(0)    收藏  举报