Java语言中,把字符串作为对象来处理,类String就可以用来表示字符串(类名首字母都是大写的)。

1.字符串常量

  字符串常量是用双引号括住的一串字符。

例如:"Hello World"

2.String表示字符串变量

  String用来可以创建字符串对象,String使用示例:

 String s=new String() ;   //生成一个空串
String s1="Hello World"; //声明s1为字符串"Hello World"的引用

3. 字符串 判断相等的方法String.equals()

  在Java中判等是有讲究的,往往直接使用==得出的答案可能是正确的也可能是错误的,看这段示例:

  

  String s1="a";
String s2="a";
s1+="b";
System.out.println(s1=="ab"); // false
System.out.println(s1==s2+"b"); // false
System.out.println(s2=="a"); // true
System.out.println(s1.equals("ab")); // true
8 System.put.println(new String("ab")==new String("ab")); // false

  看了这段代码,你可能会明白了。==判断不仅判断内存地址中的内容是不是相等,还要判断引用的地址是不是相等;而equals()方法则是用来判断内容相等的,这下明白了吧?

  还有以下几点需要注意的地方:

    • 在Java中,内容相同的字串常量(“a”)只保存一份以节约内存,所以s1,s2实际上引用的是同一个对象。
    • 编译器在编译s1一句时,会去掉“+”号,直接把两个字串连接起来得一个字串(“ab”)。这种优化工作由Java编译器自动完成。
    • 当直接使用new关键字创建字符串对象时,虽然值一致(都是“ab”),但仍然是两个独立的对象。

4、访问字符串

      类String中提供了length( )、charAt( )、indexOf( )、lastIndexOf( )、getChars( )、getBytes( )、toCharArray( )等方法。

  1. public int length() 此方法返回字符串的字符个数
  2. public char charAt(int index) 此方法返回字符串中index位置上的字符,其中index 值的 范围是0~length-1
  3. public int indexOf(int ch)
  4. public lastIndexOf(in ch)

返回字符ch在字符串中出现的第一个和最后一个的位置

  1. public int indexOf(String str)
  2. public int lastIndexOf(String str)

返回子串str中第一个字符在字符串中出现的第一个和最后一个的位置

  1. public int indexOf(int ch,int fromIndex)
  2. public lastIndexOf(in ch ,int fromIndex)

返回字符ch在字符串中位置fromIndex以后出现的第一个和最后一个的位置

  1. public int indexOf(String str,int fromIndex)
  2. public int lastIndexOf(String str,int fromIndex)

返回子串str中的第一个字符在字符串中位置fromIndex后出现的第一个和最后一个的位置。

  1. public void getchars(int srcbegin,int end ,char buf[],int dstbegin)

srcbegin 为要提取的第一个字符在源串中的位置, end为要提取的最后一个字符在源串中的位置,字符数组buf[]存放目的字符串,dstbegin 为提取的字符串在目的串中的起始位置。

  1. public void getBytes(int srcBegin, int srcEnd,byte[] dst, int dstBegin)

参数及用法同上,只是串中的字符均用8位表示。

5、修改字符串

修改字符串的目的是为了得到新的字符串,有关各个方法的使用,参考java API。

String类提供的方法:

    • concat( )
    • replace( )
    • substring( )
    • toLowerCase( )
    • toUpperCase( )
  1. public String contat(String str);

用来将当前字符串对象与给定字符串str连接起来。

  1. public String replace(char oldChar,char newChar);

用来把串中出现的所有特定字符替换成指定字符以生成新串。

  1. public String substring(int beginIndex);
  2. public String substring(int beginIndex,int endIndex);

用来得到字符串中指定范围内的子串。

  1. public String toLowerCase();

把串中所有的字符变成小写。

  1. public String toUpperCase();

把串中所有的字符变成大写。

Java中的字符串的更多相关文章

  1. [原创]Java中的字符串比较,按照使用习惯进行比较

    java中的字符串比较一般可以采用compareTo函数,如果a.compareTo(b)返回的是小于0的数,那么说明a的unicode编码值小于b的unicode编码值. 但是很多情况下,我们开发一 ...

  2. 理解Java中的字符串类型

    1.Java内置对字符串的支持: 所谓的内置支持,即不用像C语言通过char指针实现字符串类型,并且Java的字符串编码是符合Unicode编码标准,这也意味着不用像C++那样通过使用string和w ...

  3. Java中的字符串驻留

    转自:http://www.cdtarena.com/javapx/201307/9088.html 最近在工作的时候,一句再正常不过的代码String a = “hello” + “world”;被 ...

  4. Java中的字符串拼接

    Java中的字符串拼接 1.设计源码 /** * @Title:IndexOf.java * @Package:com.you.freemarker.model * @Description: * @ ...

  5. java中,字符串类型的时间数据怎样转换成date类型。

    将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:1.定义一个字符串类型的时间:2.创建一个SimpleDateFormat对象并设置格式:3.最后使用 ...

  6. Android学习笔记----Java中的字符串比较

    用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: string str1 = "abcd", str2 = "abcd"; if(str1==str ...

  7. 转载:Java中的字符串常量池详细介绍

    引用自:http://blog.csdn.net/langhong8/article/details/50938041 这篇文章主要介绍了Java中的字符串常量池详细介绍,JVM为了减少字符串对象的重 ...

  8. 《Java入门第三季》第二章 认识 Java 中的字符串

    什么是 Java 中的字符串.1.在Java的世界里,字符串被作为String类型的对象处理. 2.通用的初始化的方式:String s = new String("i love you & ...

  9. 为什么Java中的字符串是不可变的?

    原文链接:https://www.programcreek.com/2013/04/why-string-is-immutable-in-java/ java字符串是不可变的.不可变类只是一个不能修改 ...

  10. 详解Java中的字符串

    字符串常量池详解 在深入学习字符串类之前, 我们先搞懂JVM是怎样处理新生字符串的. 当你知道字符串的初始化细节后, 再去写String s = "hello"或String s ...

随机推荐

  1. 你真的会用java replaceAll函数吗?

    replace.replaceAll.replaceFirst这三个函数会java的同学估计都用过,笔者已经用了2年多,可是,我们真的懂他们吗? 概述一下他们三个的用法: · replace(Char ...

  2. Distributed MVCC based cross-row transaction

    The algorithm for supporting distributed MVCC based cross-row transactions on top of a distributed k ...

  3. Intellij IDEA 13.1.3 创建Java Web项目

    作者QQ:1095737364 1.  Intellij 编辑工具,找到File-->New Project 2.   打开后点击java-->选中WebApplication 和Java ...

  4. EditText中imeOptions属性使用及设置无效解决

    虽然通常输入法软键盘右下角会是回车按键 但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标 点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往” 而我们点击Google搜 ...

  5. 数据结构与算法JavaScript (五) 串(经典KMP算法)

    KMP算法和BM算法 KMP是前缀匹配和BM后缀匹配的经典算法,看得出来前缀匹配和后缀匹配的区别就仅仅在于比较的顺序不同 前缀匹配是指:模式串和母串的比较从左到右,模式串的移动也是从 左到右 后缀匹配 ...

  6. 解密jQuery内核 DOM操作的核心buildFragment

    文档碎片是什么 http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-B63ED1A3 DocumentFragment is a & ...

  7. 《JS设计模式笔记》 4,桥接模式

    //桥接模式的作用在于将实现部分和抽象部分分离开来,以便两者可以独立的变化. var singleton=function(fn){ var result; return function(){ re ...

  8. javascript运动系列第八篇——碰壁运动

    × 目录 [1]匀速碰壁 [2]自由落体 [3]投掷碰壁[4]拖拽碰壁 前面的话 碰撞运动可能是运动系列里面比较复杂的运动了.碰撞可以分为碰壁和互碰两种形式,而碰撞前后的运动形式也可以分为变速和匀速两 ...

  9. javascript动画系列第五篇——模拟滚动条

    × 目录 [1]原理介绍 [2]数字加减 [3]元素尺寸[4]内容滚动 前面的话 当元素内容溢出元素尺寸范围时,会出现滚动条.但由于滚动条在各浏览器下表现不同,兼容性不好.所以,模拟滚动条也是很常见的 ...

  10. Android总结之json解析(FastJson Gson 对比)

    前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...