=========== 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 性能分析工具dumpsys的使用(自己增加一部分在后面)

    Android提供的dumpsys工具可以用于查看感兴趣的系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,可以通 ...

  2. 首师大附中科创教育平台 我的刷题记录 0325 50212228海岛帝国:LYF的太空运输站

    今天给大家献上“D”级题:50212228海岛帝国:LYF的太空运输站!!   试题编号:0325     50212228海岛帝国:LYF的太空运输站 难度级别:D: 运行时间限制:40ms: 运行 ...

  3. HDU-4522 湫湫系列故事——过年回家 最短路

    题意:很乱 分析:把数据处理下,dijkstra下就行了,floyd超时了,我还想着优化一下输入,因为使用了vector和string等等,但是计算数据规模后,处理输入的时间复杂度比floyd要低一个 ...

  4. VMware技巧01

    1.20160930 VMware® Workstation 10.0.4 build-2249910,使用中遇到问题(WinXP sp3):网卡 桥接模式,NAT模式 都连不上网... 今天,尝试了 ...

  5. XMPP学习记录之实战篇

    在学习iOS以来一直想要研究即时聊天方面的技术,因工作原因此计划一直搁浅,近日偷得时闲开始着手与XMPP的学习.在学习之前我一直认为XMPP对我来说是一个很有难度的挑战,在了解了协议的具体形式后,才发 ...

  6. Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置

    原文:http://www.cnblogs.com/lixiaolun/archive/2013/12/07/3462780.html 1.下载源代码:http://www.igniterealtim ...

  7. Ajax中return false无效 怎么解决?

    var flag=0; $.ajax({ url:"widget?type=member_register&ajax=yes&action=checkname&use ...

  8. Cryptopp iOS 使用 RSA加密解密和签名验证签名

    Cryptopp 是一个c++写的功能完善的密码学工具,类似于openssl 官网:https://www.cryptopp.com 以下主要演示Cryptopp 在iOS上的RSA加密解密签名与验证 ...

  9. [转]我为什么要学习python

    我为什么要学习python   引言:学习python近两年,谈谈我对于python的一点小理解,也从一些方面谈谈自己微薄的想法,也就是我为什么学习python 这里我不讨论python的一些有用的库 ...

  10. netbean快捷键

    1.Application应用程序的参数args的设置,在Build->Set Main Projects Configuration 2.程序运行快捷键F6 3.@Deprecated 4.代 ...