`
剑&箫
  • 浏览: 54871 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

String类常用方法总结

    博客分类:
  • Java
阅读更多
自己对字符串的各种方法不太熟悉,今天把主要的方法都试了一遍,简单的总结如下(如有不正确的地方欢迎指正):
String str1 = "abcd";
String str2 = "abcdabcd";
1.length():求字符串的长度
int len = str1.length();
System.out.println("字符串的长度:"+len);
运行结果:
字符串的长度:4
2.charAt(int index):取字符串中指定下标的一个元素
for (int i=0;i<len;i++){
char c =str1.charAt(i);
System.out.println("下标"+i+"的值:"+c);
}
运行结果:
下标0的值:a
下标1的值:b
下标2的值:c
下标3的值:d
3. codePointAt(int index):index 处字符的代码点值
for (int i=0;i<len;i++){
int k = str1.codePointAt(i);
System.out.println("下标"+i+"的值:"+k);
}
运行结果:
下标0的值:97
下标1的值:98
下标2的值:99
下标3的值:100
4. codePointBefore(int index):给定索引前面的 Unicode 代码点
int k = str1.codePointBefore(0);
System.out.println("下标"+0+"之前的值:"+k);
java.lang.StringIndexOutOfBoundsException
int k = str1.codePointBefore(1);
System.out.println("下标"+1+"之前的值:"+k);
运行结果:
下标1之前的值:97
int k = str1.codePointBefore(2);
System.out.println("下标"+2+"之前的值:"+k);
运行结果:
下标2之前的值:98
int k = str1.codePointBefore(3);
System.out.println("下标"+3+"之前的值:"+k);
运行结果:
下标3之前的值:99
int k = str1.codePointBefore(len);
System.out.println("下标"+len+"之前的值:"+k);
运行结果:
下标4之前的值:100
5. codePointCount(int beginIndex, int endIndex): 返回此 String 的指定文本范围中的 Unicode 代码点数
int k = str1.codePointCount(0, len);
System.out.println("0到"+len+"之前的值:"+k);
运行结果:
0到4之前的值:4
int k = str1.codePointCount(0, len-2);
System.out.println("0到"+(len-2)+"之前的值:"+k);
运行结果:
0到2之前的值:2

6. compareTo(String anotherString)
先看下面API文档的介绍:




int i = str1.compareTo("abd");
System.out.println(i);
int k = str1.compareTo("abf");
System.out.println(k);
int t = "abd".compareTo(str1);
System.out.println(t);
int j = "abf".compareTo(str1);
System.out.println(j);
int g = str1.compareTo(str1);
System.out.println(g);
int f = str1.compareTo("abcdefg");
System.out.println(f);
int r = "abcdefg".compareTo(str1);
System.out.println(r);
运行结果:
-1
-3
1
3
0
-3
3

7. compareToIgnoreCase(String str)
先看下面API文档的介绍:




int i = str1.compareToIgnoreCase("ABCD");
System.out.println(i);
int f = str1.compareTo("ABCD");
System.out.println(f);
运行结果:
0
32

8. concat(String str):将指定字符串连接到此字符串的结尾
String s1 = str1.concat("ABCD");
System.out.println(s1);
String s2 = str.concat("");
System.out.println(s2);
运行结果:
abcdABCD
abcd

9. copyValueOf(char[] data):返回指定数组中表示该字符序列的 String
静态方法
char[] data = {'a','b','c','d','e','f'};
String s1 = String.copyValueOf(data);
System.out.println(s1);
运行结果:
abcdef
10. copyValueOf(char[] data, int offset, int count):返回指定数组中表示该字符序列的 String
char[] data = {'a','b','c','d','e','f'};
String s1 = String.copyValueOf(data,3,3);
System.out.println(s1);
运行结果:
def
11. endsWith(String suffix):测试此字符串是否以指定的后缀结束
boolean isd = str1.endsWith("d");
System.out.println("此字符串是否以d结尾:"+isd);
boolean isf = str1.endsWith("f");
System.out.println("此字符串是否以f结尾:"+isf);
运行结果:
此字符串是否以d结尾:true
此字符串是否以f结尾:false
而与endsWith(String suffix)类似的方法有下面两个:
startsWith(String prefix)
startsWith(String prefix, int toffset)
这两个的方法是测试此字符串是否以指定的后缀开始
12. equals(Object anObject):将此字符串与指定的对象比较
boolean iseq1 = str1.equals("abcd");
System.out.println(iseq1);
boolean iseq2 = str1.equals("abc");
System.out.println(iseq2);
运行结果:
true
false
13. equalsIgnoreCase(String anotherString):将此 String 与另一个 String 比较,不考虑大小写
boolean iseq1 = str1.equalsIgnoreCase("ABCD");
System.out.println(iseq1);
运行结果:
true

14. getBytes():将字符串转化为字节数组
byte[] data = str1.getBytes();
for (int i=0;i<data.length;i++){
System.out.print(data[i]+"\t");
}
运行结果:
97 98 99 100
15. indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
int t = str1.indexOf(96);
System.out.println(t);
int i = str1.indexOf(97);
System.out.println(i);
int k = str1.indexOf(99);
System.out.println(k);
int f = str1.indexOf(101);
System.out.println(f);
运行结果:
-1
0
2
-1
16. indexOf(int ch, int fromIndex):返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
int i = str2.indexOf(97, 3);
System.out.println(i);
int t = str2.indexOf(99, 1);
System.out.println(t);
int k = str2.indexOf(97,5);
System.out.println(k);
运行结果:
4
2
-1
17. indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引
int t = str2.indexOf("a");
System.out.println(t);
int i = str2.indexOf("c");
System.out.println(i);
int k = str2.indexOf("d");
System.out.println(k);
int f = str2.indexOf("e");
System.out.println(f);
运行结果:
2
3
-1

18. indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
int i = str2.indexOf("a", 3);
System.out.println(i);
int t = str2.indexOf("c", 1);
System.out.println(t);
int k = str2.indexOf("a",5);
System.out.println(k);
运行结果:
2
-1

19. isEmpty():当且仅当 length() 为 0 时返回 true
boolean isempty1 = str1.isEmpty();
System.out.println(isempty1);
boolean isempty2 = "".isEmpty();
System.out.println(isempty2);
运行结果:
false
true

下面几个方法与上面indexOf()是相对应的,只不过是返回最后一次出现的索引
20. lastIndexOf(int ch)
int i = str2.lastIndexOf(97);
System.out.println(i);
int k = str2.lastIndexOf(101);
System.out.println(k);
运行结果:
4
-1
lastIndexOf(int ch, int fromIndex)
lastIndexOf(String str)
lastIndexOf(String str, int fromIndex)

21. substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾
String s1 = str2.substring(4);
System.out.println(s1);
String s2 = str2.substring(2);
System.out.println(s2);
运行结果:
abcd
cdabcd
22. substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符
String s1 = str2.substring(4,7);
System.out.println(s1);
String s2 = str2.substring(2,7);
System.out.println(s2);
运行结果:
abc
cdabc
23. toCharArray():将此字符串转换为一个新的字符数组
char[] c = str1.toCharArray();
for (int i=0;i<c.length;i++){
System.out.print(c[i]+"\t");
}
运行结果:
a b c d
24. toLowerCase():将此 String 中的所有字符都转换为小写
String str3 = "ABCDABCD";
String str4 = "AcbdABcD";
String s1 = str3.toLowerCase();
System.out.println(s1);
String s2 = str4.toLowerCase();
System.out.println(s2);
运行结果:
abcdabcd
acbdabcd

下面是main函数:

public static void main(String[] args) {
String str1 = "abcd";
String str2 = "abcdabcd";
int len = str1.length();
System.out.println("字符串的长度:"+len);
// for (int i=0;i<len;i++){
// char c =str.charAt(i);
// System.out.println("下标"+i+"的值:"+c);
// }


// for (int i=0;i<len;i++){
// int k = str.codePointAt(i);
// System.out.println("下标"+i+"的值:"+k);
// }


// int k = str.codePointBefore(len);
// System.out.println("下标"+len+"之前的值:"+k);

// int k = str.codePointCount(0, len);
// System.out.println("0到"+len+"之前的值:"+k);
// int k = str.codePointCount(0, len-2);
// System.out.println("0到"+(len-2)+"之前的值:"+k);

// int i = str.compareTo("abd");
// System.out.println(i);
// int k = str.compareTo("abf");
// System.out.println(k);
// int t = "abd".compareTo(str);
// System.out.println(t);
// int j = "abf".compareTo(str);
// System.out.println(j);
// int g = str.compareTo(str);
// System.out.println(g);
// int f = str.compareTo("abcdefg");
// System.out.println(f);
// int r = "abcdefg".compareTo(str);
// System.out.println(r);

// int i = str.compareToIgnoreCase("ABCD");
// System.out.println(i);
// int f = str.compareTo("ABCD");
// System.out.println(f);
// String str1 = str.concat("ABCD");
// System.out.println(str1);
// String str2 = str.concat("");
// System.out.println(str2);
// char[] data = {'a','b','c','d','e','f'};
// String str1 = String.copyValueOf(data);
// System.out.println(str1);

// char[] data = {'a','b','c','d','e','f'};
// String str1 = String.copyValueOf(data,3,3);
// System.out.println(str1);

// boolean isd = str.endsWith("d");
// System.out.println("此字符串是否以d结尾:"+isd);
// boolean isf = str.endsWith("f");
// System.out.println("此字符串是否以f结尾:"+isf);

// boolean iseq1 = str.equals("abcd");
// System.out.println(iseq1);
// boolean iseq2 = str.equals("abc");
// System.out.println(iseq2);

// boolean iseq1 = str.equalsIgnoreCase("ABCD");
// System.out.println(iseq1);

// byte[] data = str.getBytes();
// for (int i=0;i<data.length;i++){
// System.out.print(data[i]+"\t");
// }

// int t = str.indexOf(96);
// System.out.println(t);
// int i = str.indexOf(97);
// System.out.println(i);
// int k = str.indexOf(99);
// System.out.println(k);
// int f = str.indexOf(101);
// System.out.println(f);

// int i = str2.indexOf(97, 3);
// System.out.println(i);
// int t = str2.indexOf(99, 1);
// System.out.println(t);
// int k = str2.indexOf(97,5);
// System.out.println(k);

// int t = str2.indexOf("a");
// System.out.println(t);
// int i = str2.indexOf("c");
// System.out.println(i);
// int k = str2.indexOf("d");
// System.out.println(k);
// int f = str2.indexOf("e");
// System.out.println(f);

// int i = str2.indexOf("a", 3);
// System.out.println(i);
// int t = str2.indexOf("c", 1);
// System.out.println(t);
// int k = str2.indexOf("a",5);
// System.out.println(k);

// String str = str1.intern();
// System.out.println(str);
// System.out.println(str1);

// boolean isempty1 = str1.isEmpty();
// System.out.println(isempty1);
// boolean isempty2 = "".isEmpty();
// System.out.println(isempty2);

// int i = str2.lastIndexOf(97);
// System.out.println(i);
// int k = str2.lastIndexOf(101);
// System.out.println(k);

// String s1 = str2.substring(4);
// System.out.println(s1);
// String s2 = str2.substring(2);
// System.out.println(s2);

// String s1 = str2.substring(4,7);
// System.out.println(s1);
// String s2 = str2.substring(2,7);
// System.out.println(s2);

// char[] c = str1.toCharArray();
// for (int i=0;i<c.length;i++){
// System.out.print(c[i]+"\t");
// }


// String str3 = "ABCDABCD";
// String str4 = "AcbdABcD";
// String s1 = str3.toLowerCase();
// System.out.println(s1);
// String s2 = str4.toLowerCase();
// System.out.println(s2);
// String str3 = "ABC D AB C D";
// String s1 = str3.trim();
// System.out.println(s1);

String s = String.valueOf(false);
System.out.println(s);

}











  • 大小: 18.8 KB
  • 大小: 4.1 KB
3
3
分享到:
评论

相关推荐

    java String类常用方法练习小结

    【Java String类常用方法详解与实战】 在Java编程语言中,`String`类是一个非常重要的类,它代表不可变的字符序列。所有的字符串字面值(例如:"abc")都是`String`类的实例。本篇文章将深入探讨`String`类的一些...

    Java中String类中的常用方法.TXT

    简单总结可以下Java中String类中的常用方法

    Java-String类的常用方法总结.pdf

    在这个总结中,我们将深入探讨String类的一些核心特性和方法。 首先,String类位于`java.lang`包中,这意味着它对所有Java程序都是自动导入的,无需额外引用。String类被声明为final,这意味着我们无法创建其子类,...

    string 类及所有的方法(c++)

    总结来说,C++的string类提供了强大的字符串处理功能,其便利性体现在内存管理自动化、丰富的操作函数以及与C字符串的兼容性。在编程中,我们应该优先考虑使用string类来处理字符串,以提高代码的可读性和安全性。...

    JAVA常用类总结

    JAVA常用类,java封装类,String类和StringBuffer类......

    有关Java String常用方法的总结.docx

    ### 有关Java String常用方法的总结 #### 一、String 类概述 `String`类是Java中最基础也是最重要的数据类型之一,在Java中被定义为一个不可变类(immutable class),这意味着一旦一个`String`对象创建之后,其...

    java基础String类选择题练习题

    根据提供的信息,我们可以总结出这份Java基础String类选择题练习题主要聚焦于String及StringBuffer类的使用。尽管具体的题目内容未给出,但从所展示的信息中可以推断出该练习题集涵盖了以下几方面的知识点: ### 一...

    POI操作Excel常用方法总结

    这篇博客文章“POI操作Excel常用方法总结”可能详细介绍了如何利用Apache POI库在Java环境中读写Excel文件。以下是对该主题的一些关键知识点的详细说明: 1. **Apache POI介绍**: Apache POI是开源项目,提供了...

    简单的string类

    这个简单的`string`类介绍将带我们回顾基础,深入理解其内部机制和常用方法。 首先,`std::string`是C++标准库中的一个类模板,它表示可变长度的字符序列。在声明时,你可以通过构造函数初始化字符串,例如: ```...

    Java中String中类的常用方法.doc

    ### Java中String类的常用方法详解 在Java编程语言中,`String` 类是一个非常重要的类,用于表示不可变的字符序列。它提供了丰富的内置方法,使得开发人员能够轻松地处理字符串相关的操作。本文将详细介绍Java中`...

    C#常用类总结

    本篇将对一些常见的C#类进行深入的总结,帮助C#开发者更好地理解和应用。 首先,我们要提到的是`System.Object`,它是所有C#类的基类。每个类都直接或间接地继承自它,包含了一些基本的方法,如`ToString()`、`...

    string的常用函数

    本文将深入探讨 `std::string` 类的各种构造方法以及一系列重要的字符串操作函数,并对它们的功能进行详细说明。 #### 二、构造函数与析构函数 `std::string` 类提供了多种构造方法来创建字符串对象: 1. **默认...

    Java程序设计基础:String类的常用方法(二.pptx

    ### Java程序设计基础:String类的常用方法详解 #### 一、引言 在Java编程中,`String` 类是最常用的内置数据类型之一,用于表示不可变的字符序列。掌握`String` 类的各种方法能够帮助开发者更加高效地处理文本...

    Java的String的常用方法

    String的常用方法归纳与总结 char charAt(int index) 返回指定索引处的 char 值。 int compareTo(Object o) 把这个字符串和另一个对象比较。 int compareTo(String anotherString) 按字典顺序比较两个字符串。 int ...

    Java常用方法总结

    ### Java常用方法总结 #### 一、JDK环境变量配置详解 在开发Java应用程序之前,首先需要正确地配置好JDK环境变量。这一步对于确保Java应用程序能够在开发环境中正常运行至关重要。 1. **配置JAVA_HOME变量** - ...

    c++中的string常用函数用法总结.doc

    c++中的string常用函数用法总结.doc

    Qt常用类总结

    ### Qt常用类总结:QDateTime 类详解 #### 一、引言 在Qt框架中,`QDateTime`类是处理日期和时间的核心组件之一。它不仅整合了`QDate`和`QTime`的功能,还提供了更为丰富的日期时间操作方法。对于初学者而言,掌握...

Global site tag (gtag.js) - Google Analytics