Java自动化测试(字符串与集合的常用API 6)

Java API文档

链接: https://pan.baidu.com/s/1t1VSnrOsJn_5HJh91JnF9g  密码: mu1b

字符串常用方法

equals

判断字符串是否一样,大小写敏感

object 类中

使用 == 会去判断引用地址是否相等,没有意义

public boolean equals(Object obj) {
    return (this == obj);
}

String 类中进行了重写

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;
    }
public class StringDemo {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "abc";
        System.out.println(s1.equals(s1)); // true
        System.out.println(s2.equals(s1)); // true
    }
}

equalsIgnoreCase

判断字符串是否一样,忽略大小写

public class StringDemo1 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "Abc";
        System.out.println(s1.equalsIgnoreCase(s2));
        System.out.println(s2.equalsIgnoreCase(s1));
    }
}

一般用于验证码的验证

split

字符串切割

public class StringDemo2 {
    public static void main(String[] args) {
        String s = "a,1,2,3,abb";
        String[] arr = s.split(",");
        for (String s1 : arr
        ) {
            System.out.println(s1);
        }
    }
}

replace

替换字符串内容,不修改原先的内容,需要重新赋值

public class StringDemo3 {
    public static void main(String[] args) {
        String s = "abc123123123ads";
        String s1 = s.replace("123", "abc");
        System.out.println(s); // abc123123123ads
        System.out.println(s1); // abcabcabcabcads
    }
}

substring

截取字符串的一部分

该方法支持输入一个值:截取从该值索引到末尾

也支持输入两个值,截取从第一个值索引到第二个值的索引

public class StringDemo4 {
    public static void main(String[] args) {
        String s = "abcasd1231241";
        String s1 = s.substring(6); // 1231241
        System.out.println(s1);
        String s2 = s.substring(6, 8); // 左闭右开
        System.out.println(s2); // 12
    }
}

trim

删除字符串两端空格

public class StringDemo5 {
    public static void main(String[] args) {
        String s = "   abc   123 ";
        String s1 = s.trim();
        System.out.println(s1); // abc   123
    }
}

需要将所有空格删除可以使用 replace

length

返回字符串长度

public class StringDemo6 {
    public static void main(String[] args) {
        String s = "abc123";
        System.out.println(s.length()); // 6
    }
}

indexOf / lastIndexOf

  • indexOf 该值的第一个索引,如果不存在返回-1

  • lastIndexOf改值的最后一个索引,如果不存在返回-1

public class StringDemo7 {
    public static void main(String[] args) {
        String s = "abc123abc123";
        System.out.println(s.indexOf("a")); // 0
        System.out.println(s.indexOf("4"));// -1
        System.out.println(s.lastIndexOf("a")); // 6
        System.out.println(s.lastIndexOf("4")); // -1
    }
}

contains

判断内容是否在字符串中

public class StringDemo8 {
    public static void main(String[] args) {
        String s = "abc123abc123";
        System.out.println(s.contains("a")); // true
        System.out.println(s.contains("4")); // false
    }
}

isEmpty

判断是否为空

null 进行判断会报错

public class StringDemo9 {
    public static void main(String[] args) {
        String s = "abc123abc123";
        String s1 = "";
        String s2 = null;
        System.out.println(s.isEmpty()); // false
        System.out.println(s1.isEmpty()); // true
        System.out.println(s2.isEmpty()); // java.lang.NullPointerException
    }
}

集合常用方法

lang 包外 其他包的调用都需要导包

add

import java.util.ArrayList;

public class ArraylistDemo {
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add(1);
        list.add("abc");
        list.add(1.1);
        list.add(false);
        System.out.println(list); // [1, abc, 1.1, false]
    }
}

泛型

控制集合的数据类型,只能是引用数据类型

ArrayList<类型> list = new ArrayList<>();
Java自动化测试(字符串与集合的常用API 6)

泛型

get

返回一个内容

import java.util.ArrayList;

public class ArraylistDemo2 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("abc");
        list.add("111");
        list.add("222");
        list.add("333");
        list.add("444");
        System.out.println(list.get(0)); // abc
        System.out.println(list.get(1)); // 111
        System.out.println(list.get(2)); // 222
        System.out.println(list.get(3)); // 333
    }
}

size

返回长度

import java.util.ArrayList;

public class ArraylistDemo3 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("abc");
        list.add("111");
        list.add("222");
        list.add("333");
        list.add("444");
        System.out.println(list.size()); // 5
    }
}

remove

删除内容

删除不存在的内容返回 false

import java.util.ArrayList;

public class ArraylistDemo4 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("abc");
        list.add("111");
        list.add("222");
        list.add("333");
        list.add("444");
        System.out.println(list.remove("abc")); // true
        System.out.println(list.remove("123")); // false
    }
}

set

为某索引的值设置新值

import java.util.ArrayList;

public class ArraylistDemo5 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("abc");
        list.add("111");
        list.add("222");
        list.add("333");
        list.add("444");
        System.out.println(list.set(2, "abc")); // 222
        System.out.println(list); // [abc, 111, abc, 333, 444]
    }
}

原文 

http://mp.weixin.qq.com/s?__biz=MzU5NTI3NDcxOA==&mid=2247484658&idx=1&sn=e1ae7d8994ca99aeff01f91384c59277

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java自动化测试(字符串与集合的常用API 6)

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址