Java---String总结
JAVA中的String类,不管是日常开发,或者是面试,都是常用的类之一,所以写在这里也为为了总结,方便以后的查阅与复习.
特点: 1.Java中所有的类中,String是使用最多的一个类
2.是一个final类,不允许被继承
3.表示字符串常量;
4.它们的值在创建之后不能改变。
5.因为 String 对象是不可变的,所以可以共享它们。
内存分析:
栈中放对象名或者基本数据类型.
String a="aa";创建两个对象,一个是在栈中创建a对象名,另一个在堆创建aa的String对象
String b="aa";创建一个对象,常量池中已有aa的String对象,所以直接在栈中创建了b对象名对堆的"aa"进行共享引用
String str1=new String("cc"); 创建两个对象,一个在栈中创建str1对象名,另一个在常量池中创建cc的String对象
常用方法:
public class StringDemo {
public static void main(String [] args){//String类常用方法:
String str1="this is method about String";
System.out.println("返回字符串长度:"+str1.length());
System.out.println("提取指定位置索引1位开始"+str1.substring(1));
System.out.println("提取指定位置索引5位开始索引19位结束:"+str1.substring(5,19));
System.out.println("查找字符串:"+str1.indexOf("s"));
System.out.println("指定位置提取单个字符:"+str1.charAt(0));
System.out.println("返回一个前后不含任何空格的调用字符串的副本:"+str1.trim());
System.out.println("判断字符串是否以指定的前缀结尾:"+str1.endsWith("this"));
System.out.println("判断字符串是否以指定的前缀开头:"+str1.startsWith("Demo"));
System.out.println("连接两个字符串,并新建一个包含调用字符串的字符串对象:"+str1.concat("world"));
System.out.println("比较字符串:"+str1.equals("this is String Demo"));
System.out.println("将调用字符串中出现某个字符的所有位置都替换为另一个字符:"+str1.replace("this", " "));
System.out.println("全部转换为大写"+str1.toLowerCase());
System.out.println("全部转换成小写"+str1.toUpperCase());
//String类与基本数据类型的转换
String str2=new String("this is String world");
//int in1=Integer.parseInt(str2);//String 转 int
//double dou1=Double.parseDouble(str2);//Stirng 转 double
//boolean bool1=Boolean.parseBoolean(str2);//String 转boolean 感觉无意义~
//基本数据类型与String的转换
int in2=2;
double do2=3;
long lo2=4;
float f=5;
boolean b=true;
Object object="helo";
String str3=new String();
str3.valueOf(in2);//int 转 String
str3.valueOf(do2);//double 转 String
str3.valueOf(lo2);//long 转 String
str3.valueOf(f);//float 转 String
str3.valueOf(b);//Boolean 转 String
str3.valueOf(object);//object 转 String
//String类 与 list的相互转换
List<String> list2=new ArrayList<String>();
list2.add("a");
list2.add("b");
list2.add("c");
String s=String.join(",",list2);//list 转 String
System.out.println(s);
String abc ="a,b,c";
String [] arr =abc.split(",");
List<String> list=java.util.Arrays.asList(abc);//String 转 list
System.out.println(list);
String总结:
String 类并不是 java的基本数据类型。String 类是java.lang下所提供的类。
在java 中使用字符串最重要的一个规则必须记住,一个字符串对象一旦被创建,它的内容就是固定不变的
String str=”Hello”;
这个声明会创建一个长度为5,内容为Hello的字符串对象,你无法改变这个字符串对象的内容。
String
str=”Hello”;
str = “HelloWorld”;
不要以为这样就改变了字符串对象的内容,事实上。上面那段代码中产生了两个字符串对象,一个是Hello字符串对象,长度为5;一个是HelloWorld字符串对象,长度为10,两个不同的字符串对象。你不是在Hello字符串后面加上World字符串,而是让str 引用名称从新引用HelloWorld字符串,而不在引用Hello字符串但Hello字符串在内存中还是存在的。
一个String
对象的长度是固定的,不能改变它的内同或者是附加新的字符到String 对象中。你也许会使用+来连接字符串达到附加新字符或字符串的目的。但会产生一个新String 实例。如果程序对这种附加字符串的需求很频繁,会消耗很大资源。
Java---String总结的更多相关文章
- 从Java String实例来理解ANSI、Unicode、BMP、UTF等编码概念
转(http://www.codeceo.com/article/java-string-ansi-unicode-bmp-utf.html#0-tsina-1-10971-397232819ff9a ...
- Java String.split()小点
java String.split(); 别的不说,单说其中一个问题,这个函数去切分空字符串时,得到的结果: public static void main(String[] args) {// St ...
- Java总结篇系列:Java String
String作为Java中最常用的引用类型,相对来说基本上都比较熟悉,无论在平时的编码过程中还是在笔试面试中,String都很受到青睐,然而,在使用String过程中,又有较多需要注意的细节之处. 1 ...
- java String.split()函数的用法分析
java String.split()函数的用法分析 栏目:Java基础 作者:admin 日期:2015-04-06 评论:0 点击: 3,195 次 在java.lang包中有String.spl ...
- java string类型的初始化
以下基本上是java string类型最常用的三种方法 new string()就不介绍了 基本等同于第三种 String a; 申明一个string类型的 a,即没有在申请内存地址,更没有在内存 ...
- Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0
课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值 String str=& ...
- Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
- java string,需要进行首字母大写改写
java string,需要进行首字母大写改写,网上大家的思路基本一致,就是将首字母截取,转化成大写然后再串上后面的,类似如下代码 //首字母大写 public static String c ...
- Java String Class Example--reference
reference:http://examples.javacodegeeks.com/core-java/lang/string/java-string-class-example/ 1. Intr ...
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
随机推荐
- linux tar命令 压缩、打包、解压 详解
linux tar命令 压缩.打包.解压 详解 1.常用压缩命令 tar –czvf 压缩后的文件.tar.gz 要压缩的文件 2.常用解压命令 tar –xzvf 解压后的文件.tar.gz [要解 ...
- ECMAScript arguments 对象(摘自W3C)
arguments 对象 在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们. 例如,在函数 sayHi() 中,第一个参数是 message.用 argument ...
- 微服务下的契约测试(CDC)解读
1. 前言 有近两周没有在公众号中发表文章了,看过我之前公众号的读者都知道,公众号中近期在连载<RobotFramework接口自动化系列课程>,原本计划每周更新一篇,最近由于博主在带一个 ...
- SQL注入详解
SQL是一种将SQL代码添加到输入参数中,传递到SQL服务器解析并执行的一种攻击手段 产生的原因 web开发人员无法保证所有输入都已经安全过滤 攻击者利用发送给SQL服务器的输入数据,构造可执行的SQ ...
- select * from 的一些心得
如何简单运用好 select * from语句,在不同的函数下,有不同的先后顺序. 语法格式 (代表先后顺便) (2)select 字段名 查询什么东西 (1)from 表名,从哪个表查询 例如:查询 ...
- spring4+srpingmvc+mybatis基本框架(app后台框架搭建一)
前言: 随着spring 越来越强大,用spring4来搭建框架也是很快速,问题是你是对spring了解有多深入.如果你是新手,那么在搭建的过程中可以遇到各种各样奇葩的问题. SSM框架的搭建是作为我 ...
- java的String构造对象的几种方法以及内存运行过程
String类创建对象的方法可以分为以下三种 1.String a = "123"; 2.String b = new String("123"); 3.Str ...
- struts2的简单执行过程
struts2是最近刚学的一个框架,想通过写篇文章来加深下印象,这也是本篇博文产生的由来,下面进入正题 Struts2本身是一个挺简单的框架,我们通过写一个登陆的过程来具体描述下其执行过程 1.首先我 ...
- JS中JSON对象的定义和取值
1.JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任 ...
- 老男孩最新Python全栈开发视频教程(92天全)重点内容梳理笔记 看完就是全栈开发工程师
为什么要写这个系列博客呢? 说来讽刺,91年生人的我,同龄人大多有一份事业,或者有一个家庭了.而我,念了次985大学,年少轻狂,在大学期间迷信创业,觉得大学里的许多课程如同吃翔一样学了几乎一辈子都用不 ...