review09
String类在java.lang包中,由于java.lang包中的类被默认引入,所以可以直接使用String类。String对象的创建可以直接使用带字符串参数的构造方法
String s = new String("we are students");
也可以用一个已创建的字符串创建另一个字符串,如:
String tom = new String(s);
这里介绍将字符数组和字符串相互转换的两个方法。
将字符数组转换为字符串
char a[] = {'J','a','v','a'};
String s = new String(a);
实际上相当于
String s = new String("Java");
将字符串转换为字符数组
String s = "中华人民共和国今天成立了!";
char c[] = s.toCharArray();
展示如下:
public class Test02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "中华人民共和国今天成立了!";
char c[] = s.toCharArray();
for(int i = 0; i < c.length; i++)
{
System.out.print(c[i]);
}
}
}
运行结果如下:

String的构造方法还会有String(char a[], int startIndex, int count)提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别制定在a中提取字符的起始位置和从该位置开始截取的字符个数,如
char a[] = {'1','2','3','4','5','6'};
String s = new String(a,2,4);
相当于String s = new String("3456");
字符串常量是对象,因此可以把它作为字符串常量的引用赋值给一个字符串变量,例如
String s1, s2;
s1 = "how are you";
s2 = "how are you";
System.out.println(s1==s2);
输出的结果是true.
s1,s2具有相同的引用,因而具有相同的实体。
因为s1本身就是字符串常量对象,所以s1.toString()的输出是字符串本身。
String类的常用方法
获取字符串长度的方法是length(),比较字符串实体相同的方法是equals(String s),忽略大小写时可以用equalsIgnoreCase(String s).
下面用代码说明equals方法和“==”的区别
public class Test03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1, s2;
s1 = new String("天道酬勤");
s2 = new String("天道酬勤");
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
String s3, s4;
s3 = "勇者无敌";
s4 = "勇者无敌";
System.out.println(s3.equals(s4));
System.out.println(s3 == s4);
}
}
运行结果如下所示:

public boolean startsWith(String s)、public boolean endsWith(String s)方法
String tom = "天气预报,阴有小雨", jerry = "比赛结果,中国足球常胜";
tom.startWith("天气")为true,jerry.endsWith("比赛")为true.
public int compareTo(String s),将按字典序与参数s指定的字符串进行比较大小,如果当前字符串与s相同,该方法返回0,如果当前字符串对象大于s,该方法返回正值,否则返回负值。
如String str = "abcde";
str.compareTo("boy")小于0。
sort()方法在字符串数组中的用法
sort()方法是java.util.Collections类中的,下面介绍sort()方法的使用。
public class Test04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int []b = {2,3,1,6,4,9,8};
System.out.println("使用SortString类的方法按字典序排列数组b:");
Arrays.sort(b);
for(int i : b)
{
System.out.print(" " + i);
}
}
}
运行结果如下所示:

当然我们也可以改变排序方式,那就要重写sort方法。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; public class Test05 { public static void main(String[] args) {
// TODO Auto-generated method stub
List<Integer> list = new ArrayList<Integer>();
list.add(9);
list.add(10);
list.add(8);
list.add(7);
Collections.sort(list, new Comparator<Integer>(){ @Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
if(o1 > o2)
return -1;
else if(o1 < o2)
return 1;
else
return 0;
}
});
for(int a : list)
{
System.out.print(" " + a);
}
} }
结果如下:

我们也可以自己编写一个类,如SortString,在类中实现sort()方法,大小的比较用方法compareTo(String str)来实现。
public boolean contains(String s)方法用来判断当前字符串对象是否含有参数指定的字符串s,如果含有返回true,否则返回false.
review09的更多相关文章
随机推荐
- DIV背景图片
.bigY{ position:absolute; width:95px; height:93px; visibility:visible; right: 277 ...
- Server Objects Extension(SOE)开发(一)
1.SOE相关 1.1 什么是SOE SOE(Server对象扩展:Server Object Extenstion),其通过采用ArcObjects的相关的接口.类库对ArcGIS Server的基 ...
- JavaWeb 过滤器应用之页面静态化
页面静态化是把servlet请求的资源所做输出保存到html中, 然后重定向到 html 页面, 二次访问时,这个html已经存在,那么直接重定向,不用再去访问servlet! // StaticFi ...
- Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)
什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...
- CoreThink主题开发(八)使用H-ui开发博客主题之用户登录之前及登录之后
感谢H-ui.感谢CoreThink! 效果图: 登录之后 登录窗体 想做登录之后的下拉菜单的,实在做不出来了,就一般显示了... 整个面包屑导航这里,先遍历模块,并且是允许前台显示的模块,之后就是判 ...
- java考试
package ATM;import java.util.Scanner; /** * 操作学生数据 * * @author Administrator * */ public clas ...
- id函数
描述 id() 函数用于获取对象的内存地址. 语法 id 语法: id([object]) 参数说明: object -- 对象. 返回值 返回对象的内存地址. 实例 以下实例展示了 id 的使用方法 ...
- Safari通过JavaScript获取系统语言
IE6 IE7 IE8 Firefox Chrome Safari Opera navigator.language undefined zh-CN zh-CN navigator.userLan ...
- OpenGL学习进程(8)第六课:点、边和图形(三)绘制图形
本节是OpenGL学习的第六个课时,下面介绍OpenGL图形的相关知识: (1)多边形的概念: 多边形是由多条线段首尾相连而形成的闭合区域.OpenGL规定,一个多边形必须是一个“凸多边形”. ...
- keepalived nginx 主备配置
keepalived nginx 主备配置(多主多备同理) 1.Nginx服务安装 nginx 不区分主备,在两台服务上安装两个即可. 安装参考:https://www.cnblogs.com/zw ...