Java中的substring

substring  :网络译义是截取字符串中的子串 它的功能也是如翻译一样是   java中截取字符串的一个方法。

下面有一个例题代码如下:

    public static void main(String[] args) {
        String names[] = {"Thomas", "Peter", "Joseph"};
         String pwd[] = new String[3];
        int idx = 0;
            try {
                for (String n : names) {
                 pwd[idx] = n.substring(2, 6);
                 idx++;
                 }
                }
            catch(Exception e) {
                System.out.println("Invalid Name");
                }
            for (String p : pwd) {
                System.out.println(p);
                }
            }

如代码所示,下面解剖一下这个代码:    创建了一个数值names  有三个数值分别是   "Thomas", "Peter", "Joseph"   new了一个新的数组命名为pwd   创建变量idx 为0;

下面进行了循环,遍历赋值等操作并进行了捕获异常。好现在抛开异常的知识点和增强for循环的知识点不管,直接来到   pwd[idx] = n.substring(2, 6);这一行代码  如何理解   可以知道,将names遍历第一次为  Thomas  string会自动转化成字符串,然后使用 substring来讲n截取(2,6)下标为2(包括2)到6(不包括6)之间的字符串。得到的是omas    赋值给pwd[0] idx++;这样子pwd[0]就为 omas ,第二次遍历为 Peter    同样用substring来截取,由于Peter的长度只有五位,所以substring截取不到出现了异常。代码就直接走异常输出  Invalid Name   走完try catch块,进行下面的for循环遍历 pwd数组  pwd数组  用脚指头想 都可以想出来  它的值为 "pwd[0]=omas   pwd[1]=null  pwd[2] =null "。

所以控制台最后输入的值 如下所示:

 tostring 简单用法:

        String a = "abcdefg";
        String a1 = a.substring(1,4);
        System.out.println(a1);

截取字符串 a 中下标从1(包含1) 开始 到 4 (不包含4) 结束的字符串    答案是  bcd

当截取的索引大于该字符串的长度时将会报错。

个人学习,内容简略。

原文地址:https://www.cnblogs.com/2979100039-qq-con/p/13111123.html