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类。的更多相关文章

  1. 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架

    前言 大家好,给大家带来详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架的概述,希望你们喜欢 JAVA 异常 try...catch...finally结构的使用方法 class Tes ...

  2. Java中Date类型如何向前向后滚动时间,( 附工具类)

    Java中的Date类型向前向后滚动时间(附工具类) 废话不多说,先看工具类: import java.text.SimpleDateFormat; import java.util.Calendar ...

  3. 深刻理解Java中final的作用(一):从final的作用剖析String被设计成不可变类的深层原因

    声明:本博客为原创博客,未经同意,不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(原文链接为http://blog.csdn.net/bettarwang/article/det ...

  4. java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。

    首先先说一下类的加载,流程.只有明确了类这个对象的存在才可以更好的理解反射的原因,以及反射的机制. 一.  类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三 ...

  5. Java中lang包的常用方法介绍

    JAVA API(图片来源:实验楼) 包装类 Integer包装类 方法 返回值 功能描述 byteValue() byte 以 byte 类型返回该 Integer 的值 intValue() in ...

  6. Java中遍历Map的常用方法

    以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等): 方式一(推荐): // 推荐 // 在for-each循环中使用entr ...

  7. Java中的使用了未经检查或不安全的操作(类前加:@SuppressWarnings("unchecked"))

    Java中的使用了未经检查或不安全的操作 如此解决就可以了 类前面加@SuppressWarnings("unchecked") @SuppressWarnings("u ...

  8. Java中调试与测试常用方法

    一.断言 1.概述 根据之前的条件来对后续的结果进行预判. 2.在Java中,断言默认是不开启的,需要手动进行开启,只需添加参数-ea(enable assert的意思) 开启步骤: 选中项目路径,鼠 ...

  9. Java中Calendar类的常用方法(对时间进行计算的类)

    例子: /**** * 传入具体日期 ,返回具体日期增加一个月. * @param date 日期(2017-04-13) * @return 2017-05-13 * @throws ParseEx ...

随机推荐

  1. PPT分享 | 以太坊钱包分析与介绍

    艾伯特AI人工智能(公众号:aibbtcom)按: (编者按:本文为姗姗来迟的Meetup系列推文.12月3日,林修平在亚太区以太坊社区培训与交流Meetup深圳站上跟我们分享了他对以太坊各种钱包模式 ...

  2. 【原创】快应用QuickApp--HelloWorld体验

    快应用: 快应用是九大手机厂商基于硬件平台共同推出的新型应用生态.用户无需下载安装,即点即用,享受原生应用的性能体验. 3月20日在北京联合召开快应用标准启动发布会.过去1天了,官网(快应用官方网站) ...

  3. 生成式模型之 GAN

    生成对抗网络(Generative Adversarial Networks,GANs),由2014年还在蒙特利尔读博士的Ian Goodfellow引入深度学习领域.2016年,GANs热潮席卷AI ...

  4. 笔记:I/O流-ZIP文档

    ZIP文档以压缩格式存储了一个或多个文件,每个ZIP文档都有一个头,包含诸如每个文件名字和所使用的压缩方法等信息,在 Java 中可以使用 ZipInputStream 来读入ZIP 文档,getNe ...

  5. MongoDB系列二(介绍).

    一.特点 学习一个东西,至少首先得知道它能做什么?适合做什么?有什么优缺点吧? 传统关系型数据库,遵循三大范式.即原子性.唯一性.每列与主键直接关联性.但是后来人们慢慢发现,不要把这些数据分散到多个表 ...

  6. 二分查找(binary search)java实现及时间复杂度

    概述 在一个已排序的数组seq中,使用二分查找v,假如这个数组的范围是[low...high],我们要的v就在这个范围里.查找的方法是拿low到high的正中间的值,我们假设是m,来跟v相比,如果m& ...

  7. Jdk1.7+eclipse搭建Java开发环境

    Jdk1.7+eclipse搭建Java开发环境 1.    下载jdk1.7 http://www.oracle.com/technetwork/java/javase/downloads/jdk7 ...

  8. Linux 如何使用echo指令向文件写入内容

    0.前言     本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符.     echo向文件中输出内容 ...

  9. Webpack的加载器

    一.什么是加载器(loaders)loaders 用于转换应用程序的资源文件,他们是运行在nodejs下的函数 使用参数来获取一个资源的来源并且返回一个新的来源(资源的位置),例如:你可以使用load ...

  10. QueryBuilder 前端构造SQL条件的插件使用方法

    页面引入JS等: <script type="text/javascript" src="/qysds-jx/pages/gzrw/js/jquery.js&quo ...