java 中String类的常用方法总结,带你玩转String类。
String类:
String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。String类对象创建后不能修改,StringBuffer & StringBuilder 类。这时我们会问,为什么我们String变量赋值不就是改变了吗?其实不是的,赋值后将会生成新的对像来存放新的内容,原先的对象依旧在内存中,但是s不在指向它,那么这个对象就会成为垃圾内存,在某一个特定的时刻有Java虚拟机回收。 详情解释请点击 包含在一对双引号之间。
String字符串变量的创建:
声明: String 变量名;
String str;
声明并初始化: String 变量名="初始值";
String str = "挨点博客";
String常用方法:
1、int length(); 语法:字符串变量名.length(); 返回值为 int 类型。得到一个字符串的字符个数(中、英、空格、转义字符皆为字符,计入长度)
String a="挨点aidian \t\n";
int l = a.length();
System.out.println(l); 运行结果:11
2、char charAt(值); 语法 :字符串名.charAt(值); 返回值为 char 类型。从字符串中取出指定位置的字符
String str="张三疯";
char c = str.charAt(2);
System.out.println("指定字符为:" + c); 运行结果:指定字符为:疯
3、char toCharArray(); 语法 :字符串名.toCharArray(); 返回值为 char 数组类型。将字符串变成一个字符数组
String str="张三疯";
char c[] = str.toCharArray();
for (int i = 0; i < c.length; i++)
System.out.println("转为数组输出:" + c[i]);
运行结果:
转为数组输出:张
转为数组输出:三
转为数组输出:疯
4、int indexOf("字符") 语法 :字符串名.indexOf("字符");字符串名.indexOf("字符",值);查找一个指定的字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1 。
in lastIndexOf("字符") 得到指定内容最后一次出现的下标
String str="只为挨你近一点";
int a1 = str.indexOf("你");// 查找字符你的位置
int a2 = str.indexOf("为", 2);// 查找为的位置,从第3个开始查找
int a3 = str.lastIndexOf("点");
System.out.println("你的位置为:" + a1);
System.out.println("为的位置为:" + a2);
System.out.println("点最后出现的位置为:" + a3);
运行结果:
你的位置为:3
为的位置为:-1
点最后出现的位置为:7
5、toUpperCase(); toLowerCase();字符串大小写的转换
String str="hello world";
System.out.println("将字符串转大写为:" + str.toUpperCase());
System.out.println("将字符串转换成小写为:" + str.toUpperCase().toLowerCase()); 运算结果:
将字符串转大写为:HELLO WORLD
将字符串转换成小写为:hello world
6、String[] split("字符") 根据给定的正则表达式的匹配来拆分此字符串。形成一个新的String数组。
String str = "boo:and:foo";
String[] arr1 = str.split(":");
String[] arr2 = str.split("o");
运行结果:
arr1 //{ "boo", "and", "foo" }
arr2 //{ "b", "", ":and:f" }
7、boolean equals(Object anObject) 语法 :字符串变量名.wquals(字符串变量名); 返回值为布尔类型。所以这里用 if 演示。比较两个字符串是否相等,返回布尔值
String str = "hello";
String str1="world";
if(str.equals(str1))
{
System.out.println("这俩字符串值相等");
}
else
{
System.out.println("这俩字符串值不相等");
}
运行结果:
这俩字符串值不相等
8、trim(); 去掉字符串左右空格 replace(char oldChar,char newChar);新字符替换旧字符,也可以达到去空格的效果一种。
String str = " 挨点博客 ";
System.out.println("去掉左右空格后:" + str.trim()); 运行结果:
去掉左右空格后:挨点博客
第二种:
String str = " 挨点博客 ";
System.out.println("去掉左右空格后:" + str.replace(" ","")); 运行结果:
去掉左右空格后:挨点博客
9、String substring(int beginIndex,int endIndex) 截取字符串
String str = "123挨点博客456";
System.out.println("截取后的字符为:" + str.substring(0,3));// 截取0-3个位置的内容 不含3
System.out.println("截取后字符为:" + str.substring(2));// 从第3个位置开始截取 含2 运行结果:
截取后的字符为:123
截取后字符为:3挨点博客456
10、boolean equalsIgnoreCase(String) 忽略大小写的比较两个字符串的值是否一模一样,返回一个布尔值
String str = "HELLO WORLd";
String str1 = "hello world";
if(str.equalsIgnoreCase(str1))
{
System.out.println("两个字符串相等");
}
else
{
System.out.println("两个字符串不相等");
} 运行结果:
两个字符串相等
11、boolean contains(String) 判断一个字符串里面是否包含指定的内容,返回一个布尔值
String str = "HELLO WORLd";
String str1 = "WO";
if(str.contains(str1))
{
System.out.println("str内容中存在WO");
}
else
{
System.out.println("抱歉没找着");
}
运行结果:
str内容中存在WO
12、boolean startsWith(String) 测试此字符串是否以指定的前缀开始。返回一个布尔值
String str = "HELLO WORLd";
String str1 = "HE";
if(str.startsWith(str1))
{
System.out.println("str内容中存在HE前缀开头");
}
else
{
System.out.println("抱歉没找着");
}
运行结果:
str内容中存在HE前缀开头
13、boolean endsWith(String) 测试此字符串是否以指定的后缀结束。返回一个布尔值
String str = "挨点博客";
String str1 = "博客";
if(str.endsWith(str1))
{
System.out.println("str内容中存在\'博客\'后缀结束");
}
else
{
System.out.println("抱歉没找着");
}
运行结果:
str内容中存在'博客'后缀结束
14、上面提到了replace方法,接下继续补充一下 String replaceAll(String,String) 将某个内容全部替换成指定内容, String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容
String str = ",,,,,,挨点博客,,,,, ";
System.out.println("改变后:" + str.replaceAll(",","a")); 运行结果:改变后:a,,,,,挨点博客,,,,,
String str = ",,,,,,挨点博客,帅吗,帅吗,,,,, ";
System.out.println("改变后:" + str.replaceFirst("帅吗","很帅哦")); 运行结果:改变后:,,,,,,挨点博客,很帅哦,帅吗,,,,,
巩固的时候查阅了很多资料。给大家推荐一个工具,是一个java使用手册在线版 http://tool.oschina.net/apidocs/apidoc?api=jdk-zh 希望对你们的学习有帮助,并多多支持下。
如何有错误的、或者有补充的请在评论区评论、我再改正与补充。
原创内容,转载还望注明来源,谢谢。
java 中String类的常用方法总结,带你玩转String类。的更多相关文章
- 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架
前言 大家好,给大家带来详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架的概述,希望你们喜欢 JAVA 异常 try...catch...finally结构的使用方法 class Tes ...
- Java中Date类型如何向前向后滚动时间,( 附工具类)
Java中的Date类型向前向后滚动时间(附工具类) 废话不多说,先看工具类: import java.text.SimpleDateFormat; import java.util.Calendar ...
- 深刻理解Java中final的作用(一):从final的作用剖析String被设计成不可变类的深层原因
声明:本博客为原创博客,未经同意,不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(原文链接为http://blog.csdn.net/bettarwang/article/det ...
- java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
首先先说一下类的加载,流程.只有明确了类这个对象的存在才可以更好的理解反射的原因,以及反射的机制. 一. 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三 ...
- Java中lang包的常用方法介绍
JAVA API(图片来源:实验楼) 包装类 Integer包装类 方法 返回值 功能描述 byteValue() byte 以 byte 类型返回该 Integer 的值 intValue() in ...
- Java中遍历Map的常用方法
以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等): 方式一(推荐): // 推荐 // 在for-each循环中使用entr ...
- Java中的使用了未经检查或不安全的操作(类前加:@SuppressWarnings("unchecked"))
Java中的使用了未经检查或不安全的操作 如此解决就可以了 类前面加@SuppressWarnings("unchecked") @SuppressWarnings("u ...
- Java中调试与测试常用方法
一.断言 1.概述 根据之前的条件来对后续的结果进行预判. 2.在Java中,断言默认是不开启的,需要手动进行开启,只需添加参数-ea(enable assert的意思) 开启步骤: 选中项目路径,鼠 ...
- Java中Calendar类的常用方法(对时间进行计算的类)
例子: /**** * 传入具体日期 ,返回具体日期增加一个月. * @param date 日期(2017-04-13) * @return 2017-05-13 * @throws ParseEx ...
随机推荐
- 微软Skype Linux客户端全新发布
前两天,微软说要给“Linux 用户带来一个令人兴奋的新闻”,今天,这个新闻来了.它刚刚为 Linux 发布了一个新的 Skype 客户端. 此次发布,微软为 Linux 带来的 Skype 客户端与 ...
- Maven-06: 插件的内置绑定
Maven的生命周期与插件相互绑定,用以完成实际的构建任务.具体而言,是生命周期的阶段与插件的目标相互绑定,以完成某个具体的构建任务.例如项目编译这一任务,它对应default生命周期的compile ...
- Android Service 基础
启动方式 startService(Intent) 这种方式启动的Service可以在后台无限期的运行,与启动它的组件没有关系. bindService 绑定Service.它提供了一种类似C/S结构 ...
- python装饰器使用
看了不少python关于装饰器文章,觉得还挺实用,发贴来mark一下(以前做笔记总会长时间不看就忘记,放这里应该不会忘了吧 - -) 先来看一个简单的知识点: def a(): print(" ...
- CXF SOAP 及其安全控制
通过上一篇文章,相信您已经学会了如何使用 CXF 开发基于 SOAP 的 WS 了.或许您目前对于底层原理性的东西还不太理解,心中难免会有些疑问: 什么是 WSDL? 什么是 SOAP? 如何能让 S ...
- 【Python】 高级文件操作 shutil
shutil 很多时候,我想要对文件进行重命名,删除,创建等操作的时候的想法就是用subprocess开一个子进程来处理,但是实际上shutil可以更加方便地提供os的文件操作接口,从而可以一条语句搞 ...
- UWP 拖拽文件
桌面环境下的UWP,加入拖拽模式还是会增加用户好感度的. 好了,先看一下我最新研发的[小微识别]吧,演示一下 炫酷,有没有,
- lua向文件中写入数据,进行记录
function readfile(path) local file = io.open(path, "r") if file then local content = file: ...
- alpha冲刺第二天
一.合照 二.项目燃尽图 三.项目进展 图形界面基本完成 接口文档框架完成,接下来将会不断细化填充 登录界面向服务器请求数据进行ing 四.明日规划 1.注册登录接口能够完成 2.研究idea实现获得 ...
- C语言博客作业--嵌套循环
一.PTA实验作业 题目1:7-4 换硬币 2 .设计思路 第一步:定义3个整型变量i,j,k用于循环,定义3个整型变量x,count,total分别用于储存零钱数额,换法个数,硬币数量: 第二步:输 ...