zoukankan      html  css  js  c++  java
  • 第六讲 字符串

    1、equals()

       equals是根类Obeject中的方法。源代码如下:

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

    可见默认的equals方法,直接调用==,比较对象地址。

       不同的子类,可以重写此方法,进行两个对象的equals的判断。

      String类源码中重写的equals方法如下,

    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     }

    总结:

      (1)String类中的equals首先比较地址,如果是同一个对象的引用,可知对象相等,返回true。

      (2)若果不是同一个对象,equals方法挨个比较两个字符串对象内的字符,只有完全相等才返回true,否则返回false。

    2、Length(a):获取字串长度,a为一个字符串


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

    定义和用法

       charAt() 方法可返回指定位置的字符。

       请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串。

    stringObject.charAt(index)
    index必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

    提示和注释

       注释:字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。


    4、getChars(1,2,3,4):获取从指定位置起的子串复制到字符数组中(它有四个参数,在示例中有介绍)

         四个参数的含义:
             1.被拷贝字符在字串中的起始位置
             2.被拷贝的最后一个字符在字串中的下标再加1
             3.目标字符数组
             4.拷贝的字符放在字符数组中的起始下标将
    5、replace():子串替换

                 stringObject.replace(regexp/substr,replacement)

                 参数

         regexp/substr:     必需。规定子字符串或要替换的模式的 RegExp 对象。

                                   请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

          replacement          必需。一个字符串值。规定了替换文本或生成替换文本的函数。

          返回值

             一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

          说明

                字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些    子 串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。


    6、toUpperCase()、 toLowerCase():大小写转换

                toUpperCase()将小写转化为大写字符串;

                toLowerCase()将大写转化为小写字符串。
    7、trim():去除头尾空格:空格算字符

    Trim删除的过程为从外到内,直到碰到一个非空白的字符为止,所以不管前后有多少个连续的空白字符都会被删除掉


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

    返回值:

    它返回一个新分配的字符数组,其长度是这样的字符串的长度,且其内容被初始化为包含由该字符串所表示的字符序列。

    9.字串加密

    package homework;
    import javax.swing.JOptionPane;
    public class mima {
        public static void main(String[] args){
            String str=JOptionPane.showInputDialog("输入密码明文");//输入明文
            String s="";
            for(int i=0;i<str.length();i++){
                if(str.charAt(i)>=97&&str.charAt(i)<=118)
                    s=s+(char)(str.charAt(i)+3);//当字符在a~w时,直接后移,ASCII码加3
                else
                    if(str.charAt(i)>=119&&str.charAt(i)<=122)
                        s=s+(char)(str.charAt(i)-23);//当字符为x~z时,返回到前面几个,ASCII码减23
                    else
                        s=s+str.charAt(i);//其他字符不变
            }
            JOptionPane.showMessageDialog( null, s,
                     "密文",
                     JOptionPane.INFORMATION_MESSAGE );
        }
        
    }

  • 相关阅读:
    (转载)SAPI 包含sphelper.h编译错误解决方案
    C++11标准的智能指针、野指针、内存泄露的理解(日后还会补充,先浅谈自己的理解)
    504. Base 7(LeetCode)
    242. Valid Anagram(LeetCode)
    169. Majority Element(LeetCode)
    100. Same Tree(LeetCode)
    171. Excel Sheet Column Number(LeetCode)
    168. Excel Sheet Column Title(LeetCode)
    122.Best Time to Buy and Sell Stock II(LeetCode)
    404. Sum of Left Leaves(LeetCode)
  • 原文地址:https://www.cnblogs.com/cxy2016/p/6009148.html
Copyright © 2011-2022 走看看