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 ...
随机推荐
- IPFS网络是如何运行的(p2p网络)
IPFS是一个p2p网络,先来看看BitTorrent的p2p网络是如何工作的? 想要bt下载一个文件,首先你需要一个种子文件torrent,种子文件包含至少一个 Tracker(一台服务器地址)信息 ...
- javascript中函数的闭包自调用
话不多说, 直接上代码 // 定义一个变量outerParam, 然后使用一个闭包函数给该变量初始化var outerParam = (function testClosure(param) { // ...
- Jdk1.7+eclipse搭建Java开发环境
Jdk1.7+eclipse搭建Java开发环境 1. 下载jdk1.7 http://www.oracle.com/technetwork/java/javase/downloads/jdk7 ...
- java集合框架详解
java集合框架详解 一.Collection和Collections直接的区别 Collection是在java.util包下面的接口,是集合框架层次的父接口.常用的继承该接口的有list和set. ...
- zabbix通过SNMP监控服务器硬件及构建触发器
公司的服务器没装系统无法使用IPMI协议来监控服务器硬件信息,所以我们使用SNMP来获取,下面介绍如何通过SNMP监控服务器硬件信息. 1.HP服务器进入iLO开启SNMP协议. 2.查看服务器温度信 ...
- Git详细教程(2)---多人协作开发
Git可以完成两件事情: 1. 版本控制 2.多人协作开发 如今的项目,规模越来越大,功能越来越多,需要有一个团队进行开发. 如果有多个开发人员共同开发一个项目,如何进行协作的呢. Git提供了一个非 ...
- ConcurrentHashMap、synchronized与线程安全
明明用了ConcurrentHashMap,可是始终线程不安全, 下面我们来看代码: public class Test40 { public static void main(String[] ar ...
- 用C语言协助办公_01 找出所有不对劲的人
近期想出一系列用C语言协助办公的视频教程,这是第一个.具体的移步:https://chuanke.baidu.com/v6658388-240377-1789288.html
- 1013团队Beta冲刺day1
项目进展 李明皇 今天解决的进度 点击首页list相应条目将信息传到详情页 明天安排 优化信息详情页布局 林翔 今天解决的进度 前后端连接成功 明天安排 开始微信前端+数据库写入 孙敏铭 今天解决的进 ...
- formidable 表单文件和数据提交
只要涉及文件上传,那么form标签要加一个属性: <form action="http://127.0.0.1/dopost" method="post" ...