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 );
        }
        
    }

  • 相关阅读:
    云计算架构
    Java多线程中static变量的使用
    Spring单例与线程安全小结
    sparkSQL实战详解
    sparkSQL整体实现框架
    spark架构
    如何快速定位出一个IP地址的归属地?——二分查找变体
    如何在 1000 万个整数中快速查找某个整数?——二分查找
    语言库中常用的排序算法qsort()底层结构
    链表常考笔试面试题(常备)
  • 原文地址:https://www.cnblogs.com/cxy2016/p/6009148.html
Copyright © 2011-2022 走看看