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.字串加密
1 package 课程五讲; 2 //@吕鹏博 时间:2016年10月25日21:08:54 3 import javax.swing.JOptionPane; 4 5 public class Homework { 6 7 public static void main(String[] args) { 8 String s1=JOptionPane.showInputDialog("请输入要加密的字符串:");//输入 9 char value; 10 String output="加密后的字符串为:"; 11 for ( int i = 0;i<= s1.length()-1; i++ )//取a到w之间和A到W之间为+3,,其余为-23 12 { 13 if((((s1.charAt(i))>64)&&(s1.charAt(i)<88))||((s1.charAt(i)>96)&&(s1.charAt(i)<120 ))) 14 {value= (char)(s1.charAt( i )+3);} 15 else 16 {value= (char)(s1.charAt( i )-23);} 17 output+=value; 18 } 19 JOptionPane.showMessageDialog( null,output,//输出 20 "result",JOptionPane.INFORMATION_MESSAGE ); 21 } 22 23 24 Homework
截图