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的更多相关文章

随机推荐

  1. standard pbr(二)

    下一步看像素着色器代码 half4 fragBase (VertexOutputForwardBase i) : SV_Target { return fragForwardBaseInternal( ...

  2. 【25】session练习

    #用登录练习session html1为首页,html2为登录页面 def session1(request): uname=request.session.get('myname','请登录') # ...

  3. 云原生应用开发12-Factors

    英文地址:https://12factor.net/ 中文地址:https://12factor.net/zh_cn/ 文章内容 简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软 ...

  4. Summaries On Java

    @1:== 和 equals(): ==用于比较引用和比较基本数据类型时具有不同的功能: 比较基本数据类型:如果两个值相同,则结果为true. 比较引用:如果引用指向内存中的同一对象,结果为true( ...

  5. 在运行myeclipse10注册机时,显示找不到com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel这个包

    在win7下安装MyEclipse10.安装完成之后运行注册机,总是提示classnotfond显示找不到com.sun.java.swing.plaf.nimbus.NimbusLookAndFee ...

  6. Python基础(19)_异常处理

    一.异常处理 错误和异常: 1.错误的种类: 1)语法错误:这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2)逻辑错误: 例如: res1=1/0  .es2=1+'str ...

  7. 【转】Linux磁盘文件系统类型

    1. 查询命令 [root@mail ~]# df -Th 参数说明: -T 显示文件系统类型. -h:以容易理解的格式输出文件系统大小,例如124KB.345MB.46GB. 转自:https:// ...

  8. 提高开发效率 -> 图片

    相比于文字, 我们从图片中获取的信息是更快和更多的. 所以, 应当大量使用图片, 大量地截图和看图, 不管是针对资料还是代码都应如此. 这里给大家推荐两个好用的小工具, 一个是截图(DuckLink ...

  9. 每天一个Linux命令(44)crontab命令

        crontab命令被用来提交和管理用户需要周期性执行的任务,与windows下的计划任务类似.     (1)用法:     用法: crontab  [-u user]  file cron ...

  10. VMware安装Centos7过程

    VMware安装Centos7过程 1.打开VMwear选择新建虚拟机 2.典型安装与自定义安装 典型安装:VMwear会将主流的配置应用在虚拟机的操作系统上,对于新手来很友好. 自定义安装:自定义安 ...