java中String的常见用法总结

1>获取
 
 1.1:字符串中包含的字符数,也就是字符串的长度。
  int length():获取长度

1.2:根据位置获取位置上某个字符。
  char charAt(int index)

1.3:根据字符获取该字符在字符串中的位置。
  int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
  int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。

int indexOf(String str):返回的是str在字符串中第一次出现的位置。
  int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。

1.4:int lastIndexOf(String str):反向索引。

2>判断

2.1:字符串中是否包含某一个子串。
      boolean contains(str);
   特殊之处:indexOf(str):可以索引str第一次出现为止,如果返回-1,表示该str不在字符串中存在。
             所以,也可以用于对指定判断是否包含。
       if(str.indexOf("a")!=1)

而且该方法既可以判断,也可以获取出现的位置。

2.2:字符串中是否有内容。
       boolean isEmpty():原理就是判断长度是否为0。

2.3:字符串是否以指定内容开头。
   boolean startsWith(str);

2.4:字符串是否以指定内容结尾。
   boolean endsWith(str);

2.5:判断字符内容是否相同,复写了object类中的equals方法。
   boolean equals(str);

2.6:判断内容是否相同,并忽略大小写。
  boolean.equalsIgnorecase();

3>转换
 
 3.1:将字符数组转成字符串。
  构造函数:String(char[])
      String(char[],offset,count):将字符数组中的一部分转成字符串
   静态方法:
     static String copyValueOf(char[]);
     static String copyValueOf(char[] data,int offset,int count);

static String valueOf(char[]);

3.2:将字符串转成字符组
  char[] tocharArray();

3.3:将字节数组转成字符串。
      String(byte[])
      String(byte[],offset,count):将字节数组中的一部分转成字符串

3.4:将字符串转成字节数组。
  byte[] getBytes()

3.5:将基本数据类型转成字符串,
 static String valueOf(int)
 static String valueOf(double)

// 3+"" 与 String.valueOf(3)的值是一样的
 特殊:字符串和字节数组在转换过程中,是可以指定编码的。

4>替换
 String replace(oldchar,newchar);

5>切割
 String[] split(regex);

6>子串。获取字符串中的而一部分
 String subString(begin);
 String subString(begin,end);

7>转换,去除空格,比较。
 
 7.1:将字符串转成大写或小写
   String toUpperCsae() 大转小
   String toLowerCsae() 小转大

7.2:将字符串两端的多个空格去除
   String trim();

7.3:对两个字符串进行自然顺序的比较
   int compareTo(string);

请看如下代码,下面的代码都是针对上面string七种用法而进行一一举例说明:


代码如下:

class StringMethodDemo
{
 public static void method_Zhuanhuan_Qukong_Bijiao()
 {
  String s = "     hello Java    ";

//打印结果是:(hello和java前后门都有空格)hello java
  sop(s.toUpperCase());

//打印结果是:(HELLO和JAVA前后门都有空格)HELLO JAVA
  sop(s.toLowerCase());

//打印及结果是:不带空格的“hello java”
  sop(s.trim());

//比较数的大写,打印结果是:1,因为b对应ascii值是98,
  //a对应是97,所以b-a=1
  String s1 = "abc";
  String s2 = "aaa";
  sop(s1.compareTo(s2));

}

public static void method_sub()
 {
  String s = "abcdef";

//打印结果是:cdef,从指定位置开始到结尾。如果角标不存在,会出现字符串角标越界。
  sop(s.substring(2));

//打印结果是:cd,包含头,不包含尾。
  sop(s.substring(2,4));
 }
 public static void method_split()
 {
  String s = "zhangsan,lisi,wangwu";

String[] arr = s.split(",");

for(int x=0; x<arr.length; x++)
  {
   sop(arr[x]);
  }
 }

public static void method_replace()
 {
  String s = "hello java";

//String s1 = s.replace('a','n');
  //String s1 = s.replace('w','n');  如果要替换的字符不存在,返回的还是原串

String s1 = s.replace("java","world");//打印结果是:hello world

sop("s="+s); //打印结果是:hello java因为字符串一旦被初始化,值就不可被改变
  sop("s1="+s1);//打印结果是:hello jnvn

}

public static void method_trans()
 {
  char[] arr = {'a','b','c','d','e','f'};

String s = new  String(arr,1,3);

sop("s="+s);//打印结果是:bcd

String s1 = "zxcvbnm";
  char[] chs = s1.toCharArray();

for(int x=0; x<chs.length; x++)
  {
   sop("ch="+chs[x]);//打印结果是:ch=z,x,c,v,b,n,m
  }
 }

public static void method_is()
 {
  String str = "ArrayDemo.java";

//判断文件名称是否是Array单词开头
  sop(str.startsWith("Array"));

//判断文件名称是否是.java的文件
  sop(str.endsWith(".java"));

//判断文件中是否包含Demo
  sop(str.contains("Demo"));
 }

public static void method_get()
 {
  String str = "abcdeakpf";

//长度
  sop(str.length());

//根据索引获取字符
  sop(str.charAt(4));
  //sop(str.charAt(40));当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException(字符串角标越界异常)

//根据字符获取索引
  //sop(str.indexOf('a'));
  sop(str.indexOf('a',3));//打印的是5,因为角标3是d,
        //所以从d后面开始找a,第5个角标是a
  //sop(str.indexOf('t',3))打印:-1,如果没有找到角标,返回-1

//反向索引一个字符出现的位置(从右往左查找,但是角标还是从左开始)
  sop(str.lastIndexOf("a"));
 }

public static void main(String[] args)
 {
   method_Zhuanhuan_Qukong_Bijiao();
  //method_sub();
  //method_split();
  //method_replace(); 
  //method_trans();
  //method_is();
  //method_get();
  /*
  String s1 = "abc";
  String s2 = new String("abc");

String s3 = "abc";
  System.out.println(s1==s2);
  System.out.println(s1==s3);
  */
 }

public static void sop(Object obj)
 {
  System.out.println(obj);
 }
}

(0)

相关推荐

  • java中String的一些方法深入解析

    1.public String(char[] c,begin,length).从字符数组c的下标begin处开始,将长度为length的字符数组转换为字符串.begin与length可以省略,即将字符数组c转换为字符串.另:字符数组可改为字节数组byte[] b.char[] c=new char[]{'j','y','6','a','4','t','9'}; String s1=new String(c); String s=new String(c,2,3); System.out.prin

  • 老生常谈Java String字符串(必看篇)

    Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "hello";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("hello"); 对于这样的常识,不再赘述. 首先String类是final类,为什么定义成final形式呢? 简单点说,对于如此高频率被使用的数据类型,设计者们认为已经设计的足够优秀了,不需要被继承,否则胡乱继承重写可能会降低程序的性能. 正如标题所述,既然深入,那我们

  • 深入剖析Java之String字符串

    在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象有三种方法 String s1="我是字符串1"; String s2=new String();//创建一个空的字符串对象 String s3=new String("我是字符串2");//创建一个空的字符串对象

  • java string类方法深入解析

    复制代码 代码如下: import java.nio.charset.Charset;import java.nio.charset.UnsupportedCharsetException;import java.util.Locale;import java.util.Date;import java.util.regex.PatternSyntaxException; import javax.xml.crypto.Data; public class Stringxuexi {  publ

  • JAVA中STRING的常用方法小结

    一.创建并初始化一个字符串 String b = "hello"; 使用构造方法创建并初始化一个字符串 String();//初始化字符串,表示空字符序列 String(value);//利用已存在的字符串常量创建一个新的对象 String (char[] value);//利用一个字符数组创建一个字符串 String(char[] value,int offset,int count);//截取字符数组offset到count的字符创建一个非空串 String(StringBuffe

  • java中String的常见用法总结

    1>获取  1.1:字符串中包含的字符数,也就是字符串的长度.  int length():获取长度 1.2:根据位置获取位置上某个字符.  char charAt(int index) 1.3:根据字符获取该字符在字符串中的位置.  int indexOf(int ch):返回的是ch在字符串中第一次出现的位置.  int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置. int indexOf(String str)

  • Java中String.format的使用方法总结

    Java中String.format的用法总结 1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解,就是最终该整数转化的字符串最少包含多少位数字.我们来看看剩下2个部分的含义吧: 标识: '-' 在最小宽度内左对齐,不可以与"用0填充"同时使用 '#' 只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x '+' 结果总是

  • 详解Java中String类的各种用法

    目录 一.创建字符串 二.字符.字节与字符串的转换 1.字符与字符串的转换 2.字节与字符串的转换 三.字符串的比较 1.字符串常量池 2.字符串内容比较 四.字符串查找 五.字符串替换 六.字符串拆分 七.字符串截取 八.String类中其它的常用方法 九.StringBuffer 和 StringBuilder 1.StringBuilder与StringBuffer的区别 2.StringBuilder与StringBuffer常用的方法 十.对字符串引用的理解 一.创建字符串 创建字符串

  • Android编程开发中ListView的常见用法分析

    本文实例讲述了Android编程开发中ListView的常见用法.分享给大家供大家参考,具体如下: 一.ListView的使用步骤 ListView的使用通常有以下三个要素: (1)ListView中每个条目的布局; (2)填充进入ListView中的内容; (3)将内容与页面进行整合的Adapter. 因此,使用ListView也通常有以下三个步骤: (1)创建ListView条目的布局文件(或使用Android SDK提供的布局); (2)创建填充进入ListView中的内容,如字符串.图片

  • 区分java中String+String和String+char

    我们来考虑一个关于java中String的问题: "abc" + '/'和 "abc" + "/"的区别. 通过这个例子, 我们可以顺便练习一下JDK工具中javap的用法, 原问题是这样的: 把斜杠/当作字符或字符串有什么区别呢? 一个是当作基本数据类型char,一个是对象String.具体有什么区别呢? 当作字符效率会更高吗? String str = "abc" + '/'; 和 String str = "a

  • java中string.trim()函数的作用实例及源码

    trim()的作用:去掉字符串首尾的空格. public static void main(String arg[]){ String a=" hello world "; String b="hello world"; System.out.println(b.equals(a)); a=a.trim(); //去掉字符串首尾的空格 System.out.println(a.equals(b)); } 执行结果: a: hello world ,false a:h

  • Java之map的常见用法讲解与五种循环遍历实例代码理解

    目录 一.概述: 二.Map集合的功能介绍 三.map官方总结 四.实例 五.循环遍历的五种方法 一.概述: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 Map接口和Collection接口的不同 Map是双列的,Collection是单列的 Map的键唯一,Collection的子体系Set是唯一的 Map集合的数据结构针对键有效,跟值无关;Collection集合的数据结构是针对元素有效 二.Map集合的功能介绍 a:添加功能 V put(K key,V val

  • 详解Java8中Optional的常见用法

    目录 一. 简介 二.Java8 之前,空指针异常判断 三.Optional的使用 1.创建Optional实例 2.访问 Optional 对象的值 3.返回默认值 4.返回异常 (常用) 5.转换值 6.过滤值 一. 简介 Opitonal是java8引入的一个新类,目的是为了解决空指针异常问题.本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空. Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现.但是 Optional

  • JAVA 中Spring的@Async用法总结

    JAVA 中Spring的@Async用法总结 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法. 1.  何为异步调用? 在解释异步调用之前,我们先来看同步调用的定义:同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果. 异步调用则是只是发送了调用的

  • java arrayList遍历的四种方法及Java中ArrayList类的用法

    java arrayList遍历的四种方法及Java中ArrayList类的用法 package com.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ArrayListDemo { public static void main(String args[]){ List<String> list = new ArrayList<String

随机推荐