1、两种创建方式

 String str1 = "abc";        //字面量创建
String str2 = new String("abc"); //构造方法创建

使用字面量创建时只会生成一个对象,而通过构造方法创建时会生成两个对象(前面的str2和后面的new String对象)

2、常见的构造方法

 public String()    //空参构造
public String(byte[] bytes)  //把字节数组转换成字符串
public String(byte[] bytes,int index,int length)  //把字节数组的一部分转换成字符串
public String(char[] value)  //把字符数组转换成字符串
public String(char[] value,int index,int count)  //把字符数组的一部分转换成字符串

3、其它常用方法

 int length()  //返回字符串长度

 String substring(int beginIndex,int endIndex)      //获取字符串的一部分
//beginIndex 开始位置下标 endIndex 结束位置下标+1
String substring(int beginIndex)  //获取字符串的一部分
//beginIndex 开始位置下标 一直到最后
boolean startsWith(String prefix)  //判断一个字符串的开头、前缀是不是prefix boolean endsWith(String prefix)  //判断一个字符串的结尾、后缀是不是prefix boolean contains(String s)  //判断一个字符串是否包含s int indexOf(char ch)  //查找一个字符,返回在字符串中第一次出现的索引,如果没找到,则返回-1 byte[] getBytes()  //将字符串转换成字节数组 char[] toCharArray()  //将字符串转换成字符数组 boolean equals(Object obj)  //判断字符串中的字符是否完全相同,完全相同返回true,区分大小写 boolean equalsIgnoreCase(String s)  //同上,忽略大小写 toUpperCase()  //转大写 toLowerCase()  //转小写

4、String、StringBuffer、StringBuilder

4.1、String是不可变的字符序列,在定义时长度就确定了。StringBuffer与StringBuilder是可变的字符序列,长度默认为16位,定义时不足16位的位置为空,后续可以在填充,实现长度可变。

4.2、StringBuffer是jdk1.0版本的,线程安全、效率低,StringBuilder是jdk1.5版本的,线程不安全、效率高

java 关于String的更多相关文章

  1. java.lang.String.getBytes(String charsetName)方法实例

    java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组. 声明 以下是java. ...

  2. OC与c混编实现Java的String的hashcode()函数

    首先,我不愿意大家需要用到这篇文章里的代码,因为基本上你就是被坑了. 起因:我被Java后台人员坑了一把,他们要对请求的参数增加一个额外的字段,字段的用途是来校验其余的参数是否再传递过程中被篡改或因为 ...

  3. java 创建string对象机制 字符串缓冲池 字符串拼接机制

    对于创建String对象的机制,在这一过程中涉及的东西还是值得探究一番的. 首先看通过new String对象和直接赋值的方式有什么区别,看如下代码: public static void main( ...

  4. hibernate报错Unknown integral data type for ids : java.lang.String

    package com.model; // Generated 2016-10-27 14:02:17 by Hibernate Tools 4.3.1.Final /** * CmDept gene ...

  5. 前台传参数时间类型不匹配:type 'java.lang.String' to required type 'java.util.Date' for property 'createDate'

    springMVC action接收参数: org.springframework.validation.BindException: org.springframework.validation.B ...

  6. 记录maven java.lang.String cannot be cast to XX error

    在项目开发中自定义了一个maven plugin,在本地能够很好的工作,但是在ci server上却无法正常工作报错为: --------------------------------------- ...

  7. java中string内存的相关知识点

    (一):区别java内存中堆和栈: 1.栈:数据可以共享,存放基本数据类型和对象的引用,其中对象存放在堆中,对象的引用存放在栈中: 当在一段代码块定义一个变量时,就在栈中 为这个变量分配内存空间,当该 ...

  8. java中String的相等比较

    首先贴出测试用例: package test; import org.junit.Test; /** * Created by Administrator on 2015/9/16. * */ pub ...

  9. javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String

    javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String javax.el.Bean ...

  10. Android java传递string类型数据给C

    本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...

随机推荐

  1. ESP8266调试记录

    1.引脚图:使用STM32F103ZET6芯片的串口1  PA9-TX //PA10-RX(该串口挂载到APB2总线时钟)然后分别连接模块的RX和TX,供电使用3.3v(供电一定要稳)但不能超过5v ...

  2. 了解 Azure VM 的系统重启

    有时 Azure 虚拟机 (VM) 可能重启,即使没有明显原因,也没有证据表明用户发起重启操作. 本文列出了可导致 VM 重启的操作和事件,并针对如何避免意外重启问题或减少该问题影响提供见解. 配置 ...

  3. 从golang-gin-realworld-example-app项目学写httpapi (一)

    https://wangzitian0.github.io/2013/06/29/zero-to-one-1/ https://github.com/gothinkster/golang-gin-re ...

  4. Docker的一些常用命令

    # systemctl start docker //启动docker # systemctl restart docker //重启docker # systemctl enable docker ...

  5. [翻译] EAColourfulProgressView

    EAColourfulProgressView 效果: EAColourfulProgressView is a custom progress view where the current fill ...

  6. Python学习---Python的框架基础学习

    框架基础 框架实质: 所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 B/S结构的响应: import socket def handle_requ ...

  7. Python学习---抽屉框架分析[点赞功能分析]

    实际上就是多了一个隐藏的span标签,内容是+1,配合setInterval实现的动态效果 settings.py INSTALLED_APPS = [ ... 'app01', # 注册app ] ...

  8. Linux traceroute命令详解

    traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样, ...

  9. ZT 设计模式六大原则(2):里氏替换原则

    设计模式六大原则(2):里氏替换原则 分类: 设计模式 2012-02-22 08:46 23330人阅读 评论(41) 收藏 举报 设计模式class扩展string编程2010 肯定有不少人跟我刚 ...

  10. 小白学CMD下运行MySQL

    将mysql目录下bin目录中的mysql.exe放到C:\WINDOWS下,可以执行以下命令 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) ...