• string方法 动手动脑


    String.equals()方法:

         

    public boolean equals(Object anObject) {
    
            if (this == anObject) {
    
                return true;
    
            }
    
            if (anObject instanceof String) {
    
                String anotherString = (String)anObject;
    
                int n = value.length;
    
                if (n == anotherString.value.length) {
    
                    char v1[] = value;
    
                    char v2[] = anotherString.value;
    
                    int i = 0;
    
                    while (n-- != 0) {
    
                        if (v1[i] != v2[i])
    
                            return false;
    
                        i++;
    
                    }
    
                    return true;
    
                }
    
            }
    
            return false;
    
        }
    

      

        对于object类的equals()方法,判断调用该方法的对象与要比较的对象是不是同一个对象(判断地址),而String类中的equals()方法,则判断当前字符串与传递进来的字符串的内容是否一致。
      
        object类中的equals()方法:
        public boolean equals(Object obj)
       {
           //调用equal的对象的地址和参数对象的地址是否相等
           return (this == obj);
        }
      
        另外,对于java中的其他类,如果没有重写object类中的equals()方法,我们就可以认为调用该类的equals()方法就是判断这两个类是不是同一个类。只要是使用new类名(),这种形式生成的类(除单例外),我们都可以认为是不同的类(地址不同)。

    Length():获取字符串的长度

    例子:

    charAt():获取指定位置的字符

    例子:

    getChars():获取从指定位置起的子串复制到字符数组中它有四个参数,1.被拷贝字符在字串中的起始位置  2.被拷贝的最后一个字符在字串中的下标再加1  3.目标字符数组  4.拷贝的字符放在字符数组中的起始下标

    列子:

    replace():子串替换,可以将原字符串中的某个字符替换为指定的字符,并得到一个新的字符串,该方法的具体定义如下:

    toUpperCase()、 toLowerCase():大小写转换,在String类中提供了两个用来实现字母大小写转换的方法,它们的返回值均为转换后的字符串,

    其中toLowerCase()用来将字符串中的所有大写字母改为小写字母,,方法toUpperCase()用来将字符串中的所有小写字母改为大写字母

    trim():去除字符串的首尾空格,该方法的具体定义如下:


    toCharArray():将字符串对象转换为字符数组

    3请阅读JDK中String类上述方法的源码,模仿其编程方式,编写一个MyCounter类,它的方法也支持上述的“级联”调用特性

    复制代码
    class MyCounter
    {
        public int x;
        MyCounter(int xy)
        {
            this.x=xy;
        }
        MyCounter increase(int a)
        {
          this.x=this.x+a;
          return this;
        }
        MyCounter decrease(int b)
        {
            this.x =this.x-b;
            return this;
        }
    }
    public class ceshi_2 {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            MyCounter counter1=new MyCounter(1);
            MyCounter counter2=counter1.increase(100).decrease(2).increase(3);
            System.out.println(counter2.x);
        }
    }
    复制代码

    结果截图:

  • 相关阅读:
    【爬虫】第一章:爬虫基础简介
    解决这个Address is invalid on local machine, or port is not valid on remote machine问题
    idea创建zuul网关实现过滤器入门实例
    Python面向对象之数据封装的应用及配置文件
    Python 并发编程(下)
    Python 内存管理与垃圾回收
    Python脚本生成可执行文件&(恋爱小脚本)
    Python 并发编程(上)
    UML类图的补充及软件设计原则
    Python 元类
  • 原文地址:https://www.cnblogs.com/xiaojq/p/7744155.html
Copyright © 2020-2023  润新知