=========== ASP.Net+Android+IOS开发、.Net培训、期待与您交流!===========

  描述字符串对象的类是java.lang.String,String类是不可变(final)的,即对String类的任何改变都是返回一个新的String类对象,这样的话把String类的引用传递给一个方法,该方法对String的任何改变对原引用指向的对象没有任何影响。从本质上认识String类,通过String类的源码中可以看到:

  1. String类是final的,不可被继承。public final class String;

  2. String类是的本质是字符数组char[], 并且其值不可改变。Private final char value[];

  3. String类对象有个特殊的创建的方式,就是直接指定比如String s = "abc","abc"就表示一个字符串对象。而s是"abc"对象的地址,也叫做"abc"对象的引用;

  4. String对象可以通过“+”串联,串联后会生成新的字符串,也可以通过concat()来串联;

  5. Java运行时会维护一个String Pool(String池),String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。当使用任何方式来创建一个字符串对象s时,Java运行时(运行中JVM)会拿着这个s在String池中找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串s,否则,不在池中添加。只要使用new关键字来创建对象,则一定会在堆区创建一个新的对象。

1.String类的构造方法:

new String(byte[] bytes)将字节数组变成字符串

new String(byte[] bytes, int offset, int length)将字节数组变成字符串,一部分

new String(char[] value)将字符数组变成字符串

new String(char[] value, int offset, int count)将字符数组变成字符串,一部分

2.String类的常用功能

a.判断功能:
equals(字符串)比较字符串是否全等,区别大小写,全等返回true    
contains(字符串)一个字符串是否包含另一个字符串,全包含返回true    
startsWith(字符串)一个字符串是否以另一个字符串开头    
endsWith(字符串)一个字符串是否以另一个字符串结尾    
isEmpty() 判断一个字符串的长度是否是0,是0就返回真
b.获取功能:
charAt(int index)返回这个索引上的单个字符    
indexOf(字符串)获取指定的字符串出现的位置,第一次出现的    
indexOf(字符串,索引)获取指定的字符串出现的位置,第一次出现的    
length()返回字符串的长度    
lastIndexOf(字符串)获取指定的字符串出现的位置,反向查找
c.转换功能:
toUpperCase()字符串全部转成大写,返回新的字符串    
toLowerCase()字符串全部转成小写    
toCharArray()将字符串转成字符数组    
getBytes() 将字节数组转成字符串
d.其他功能:
split(字符串)切割字符串,返回一个字符串数组    
substring(索引,索引)截取字符串一部分,返回新的字符串    
replace(老串,新串)替换字符    
trim()去掉字符串两端的空格

-----------☆-----------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! -----------☆-----------

详细请查看: http://edu.csdn.net

黑马程序员:Java编程_String的更多相关文章

  1. 【黑马18期Java毕业生】黑马程序员Java全套资料+视频+工具

        Java学习路线图引言:        黑马程序员:深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗. 为此我们历时一个月整理这套Java学习路线图,不管你是不懂电脑的小 ...

  2. 黑马程序员——JAVA基础之语法、命名规则

    ------- android培训.java培训.期待与您交流! ---------- 1.java语言组成:关键字,标识符,注释,常量和变量,运算符,语句,函数,数组. 2.java关键字:被Jav ...

  3. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)

    正在黑马学习,整理了一些课程知识点和比较重要的内容分享给大家,也是给自己拓宽一些视野,仅供大家交流学习,大家有什么更好的内容可以发给我 ,现有黑马教程2000G  QQ 1481135711 这是我总 ...

  4. [刘阳Java]_程序员Java编程进阶的5个注意点,别编程两三年还是增删改查

    此文章也是关注网上好几篇技术文章后,今天分享出来.因为,总有在程序学习路上的小伙伴会感到迷茫.而迷茫存在的情况如下 第一种:在大学学习中出现的迷茫,不知道Java到底要学什么.学习Java的标准是什么 ...

  5. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  6. 黑马程序员——JAVA基础之泛型和通配符

    ------- android培训.java培训.期待与您交流! ---------- 泛型:            JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. 泛型好处: ...

  7. 黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象

    ------- android培训.java培训.期待与您交流! ---------- 面向对象: 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将 ...

  8. 黑马程序员----java基础:异常

    dff ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 经常写程序的人对try...catch...finally语句肯定是不陌生的了.但是好多 ...

  9. 黑马程序员——JAVA基础之网络编程

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 网络编程 网络模型:OSI参考模型和TCP/IP参考模型 网络通讯三要素: IP地址:InetA ...

  10. 黑马程序员 Java基础<十八>---> 网路编程

    --------------- ASP.Net+Android+IO开发S..Net培训.期待与您交流! --------------- 第一  概述 一.概述: 1.网络模型:OSI参考模型和TCP ...

随机推荐

  1. Android动画Drawable Animation

    Drawable Animation是逐帧动画,那么使用它之前必须先定义好各个帧.我们可以通过代码定义,也可以使用xml文件定义,一般使用后者.如下: <?xml version="1 ...

  2. python协程与异步I/O

    协程 首先要明确,线程和进程都是系统帮咱们开辟的,不管是thread还是process他内部都是调用的系统的API,而对于协程来说它和系统毫无关系; 协程不同于线程的是,线程是抢占式的调度,而协程是协 ...

  3. 2016年12月25日 星期日 --出埃及记 Exodus 21:20

    2016年12月25日 星期日 --出埃及记 Exodus 21:20 "If a man beats his male or female slave with a rod and the ...

  4. CSS 高级语法 ---- 继承和选择器的分组

    1. 选择器的分组 —————————————————————————   可以对选择器进行分组,被分组的选择器享用共同的声明.   h1,h2,h3,h4,h5,h6 { color: green; ...

  5. C++11带来的优雅语法

    C++11带来的优雅语法 自动类型推导 auto auto的自动类型推导,用于从初始化表达式中推断出变量的数据类型.通过auto的自动类型推导,可以简化我们的编程工作; auto是在编译时对变量进行了 ...

  6. 无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它

    无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer.Windows服务器管理工具或NET START命令启动它 1. ...

  7. services 文件

    Services 文件列出了服务使用的标准端口号.可以向表中添加自己定义的项,来给自己的服务选择.(安装在Windows目录下的一个子目录中,取决于Windows版本) # Copyright (c) ...

  8. 转:从编译链接过程解析static函数的用法

    关于static函数的用法 就像我们熟知的那样,变量可以分全局的和局部的,函数也可以分全局的和局部的. 比如说,在一个工程的common.h中定义了一个全局变量 int test;那么在整个工程的作用 ...

  9. 使用sublime时报编码错误

    在执行Python脚本时报如下错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordin ...

  10. CAD字体显示问号的解决办法

    CAD字体显示问号的解决办法1.选中问号的文字,ctrl+1查看下文字样式,以standard为例.2.运行st命令,设置standard样式的字体名为windows自带的ttf字体,例如宋体或者仿宋 ...