java之String类
2021/11/14 22:14:31
本文主要是介绍java之String类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
String 类
- 字符串是常量,创建之后不可改变
- 字符串面值存储在字符串池中,可以共享
- String s = ” hello“; 产生一个对象,字符串池中存储
- String s = new String( ” hello“);//产生两个对象,堆、池各存储一个
常用方法
-
public int length() : 返回字符串的长度
-
public char charAt(int index) : 根据下标获取字符
-
public boolean contains(String str) : 判断当前字符串中是否包含str。
-
// 字符串方法的使用 // length(); 返回字符串的长度 // charAt(int index);返回某个位置的字符 // contains(String str);判断是否包含某个子字符串 String content="java是世界上最好的编程语言"; System.out.println(content.length()); System.out.println(content.charAt(content.length()-1)); System.out.println(content.contains("java")); System.out.println(content.contains("php"));
-
public char[] toCharArray() : 将字符串转换成数组
-
public int indexOf(String str) : 查找str首次出现的下标,存在,则返回改下标;不存在,则返回 -1.
-
public int lastIndexOf(String str) : 查找字符串在当前字符串中最后一次出现的下标索引
-
// toCharArray(); 返回字符串对应的数组 // indexOf(); 返回字符串首次出现的位置 // lastIndexOf(); 返回字符串最后一次出现的位置 System.out.println(Arrays.toString(content.toCharArray())); System.out.println(content.indexOf("java",5)); System.out.println(content.lastIndexOf("java"));
-
public String trim():去掉字符串前后的空格
-
public String toUpperCase():将小写转成大写
-
public boolean endWith(String str):判断字符串是否以str结尾
-
// trim();去掉字符串前后的空格 // toUpperCase(); 把小写转成大写 tolowerCase();把大写转成小写 // endWith();判断是否已str结尾,starWith(str); 判断是否已str开头 String content2 = " WWWhelloworld "; System.out.println(content2.trim()); System.out.println(content2.toUpperCase()); System.out.println(content2.toLowerCase()); String filename = "hello.java"; System.out.println(filename.endsWith(".java")); System.out.println(filename.startsWith("hello"));
-
public String replace(char oldChar,char newChar);将旧字符串替换成新字符串
-
public String[] split(String str):根据str做拆分
-
// replace(char old, char new); 用新的字符或字符串替换旧的字符或字符串 // split();对字符串进行拆分 System.out.println(content.replace("java", "php")); String say = "java is the best programing language,java xiang"; String[] arr=say.split("[ ,]"); System.out.println(arr.length); for (String string : arr){ System.out.println(string); } System.out.println("------------------------------------------------"); // 补充两个方法 equals 、 compareTo(); 比较大小 String s1 = "hello"; String s2 = "HELLO"; System.out.println(s1.equalsIgnoreCase(s2)); String s3 = "abc"; String s4 = "xyz"; System.out.println(s3.compareTo(s4)); String s5 = "abc"; String s6 = "abcxyz"; System.out.println(s5.compareTo(s6)); }
案例演示
-
需求:
-
已知String str = “this is a text”;
-
1.将str中的单词单独获取出来
-
2.将str中的text替换为practice
-
3.在text前面插入一个easy
-
4.将每个单词的首字母改为大写
-
public class Demo04 { public static void main(String[] args) { String str = "this is a text"; // 1.将str中的单词单独获取出来 String[] arr = str.split(" "); for (String b :arr){ System.out.println(b); } // - 2.将str中的text替换为practice String str2 = str.replace("text", "practice"); System.out.println(str2); // 3.在text前面插入一个easy String str3 = str.replace("text", "east text"); System.out.println(str3); // 4.将每个单词的首字母改为大写 for (int i=0;i<arr.length;i++){ char first = arr[i].charAt(0); char upperfirst = Character.toUpperCase(first); String news = upperfirst+arr[i].substring(1); System.out.println(news); } } }
-
可变字符串
-
StringBuffer :可变长字符串,JDK1.0提供,运行效率慢、线程安全
-
StringBuilder:可变长字符串,JDK5.0 提供,运行效率快、线程不安全
-
package com.kind.chapter_5; /* StringBuffer 和 StringBuilder的使用 区别: 1.效率比String高 2.比String节省内存 */ public class Demo05 { public static void main(String[] args) { // StringBuffer sb = new StringBuffer(); StringBuilder sb = new StringBuilder(); // 1.append();追加 sb.append("java世界第一"); System.out.println(sb.toString()); sb.append("java真香"); System.out.println(sb.toString()); sb.append("java不错"); System.out.println(sb.toString()); // 2.insert();添加 sb.insert(0,"我在最前面"); System.out.println(sb.toString()); // 3.replace();替换 sb.replace(0,5,"hello"); System.out.println(sb.toString()); // 4.delete();删除 sb.delete(0,5); System.out.println(sb.toString()); } }
-
package com.kind.chapter_5; /* 验证StringBuilder效率高于String */ public class Demo06 { public static void main(String[] args) { // 开始时间 long start = System.currentTimeMillis(); // String string = ""; // for (int i=0;i<99999;i++){ // string+=i; // } // System.out.println(string); StringBuilder sb = new StringBuilder(); for (int i=0;i<99999;i++){ sb.append(i); } System.out.println(sb.toString()); long end = System.currentTimeMillis(); System.out.println("用时:"+(end-start)); } }
这篇关于java之String类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30java最新版本是什么,有什么特性?-icode9专业技术文章分享
- 2024-11-30[开源]27.8K star!这款 Postman 替代工具太火了!
- 2024-11-30Gzip 压缩入门教程:轻松掌握文件压缩技巧
- 2024-11-29开源工具的魅力:让文档管理更“聪明”
- 2024-11-29Release-it开发入门教程
- 2024-11-29Rollup 插件入门教程:轻松掌握模块打包
- 2024-11-29从零到一,产品经理如何玩转项目管理和团队协作
- 2024-11-29如何通过精益生产管理工具帮助项目团队实现精准进度控制?
- 2024-11-29低代码应用开发课程:新手入门与基础教程
- 2024-11-29入门指南:全栈低代码开发课程