Java进阶01 String类(转载)】的更多相关文章

String类包含在java.lang包中.这个包会在Java启动的时候自动import,所以可以当做一个内置类(built-in class).我们不需要显式的使用import引入String类. 创建字符串 我们之前使用类来创建对象.需要注意的时候,创建String类对象不需要new关键字.比如: public class Test{ public static void main(String[] args){ String s = "Hello World!"; System.…
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础.在Java进阶中,我将对Java基础进行补充,并转向应用层面. 大部分编程语言都能够处理字符串(String).字符串是有序的字符集合,比如"Hello World!"…
Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. 字符串不变:字符串的值在创建后不能被更改 String s1 = "abc"; s1 += "d"; System.out.println(s1); // "abcd" // 内存中有"abc","abcd"…
Java中的String类知识点 前言 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 如何创建字符串 最简单的方式 String str = "hello"; 因为字符串属于对象,所以和其它对象一样,可以使用关键字和构造方法来创建 String 对象. String s2 = new String("hello"); 储存位置 String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上. 特性 String…
String类是Java中的一个不可变类(immutable class). 简单来说,不可变类就是实例在被创建之后不可修改. 在<Effective Java> Item 15 中提到了为了使类成为不可变,需要遵循的五条规则: 不要提供任何会修改对象状态的方法. 保证类不会被扩展. 使所有的域都是final的. 使所有域都成为私有的. 确保对于任何可变组件的互斥访问. 不可变类有许多优点,不可变类比可变类更加易于设计.实现和使用,不容易出错,且更加安全. Java把String类设计为不可变…
String类 Java程序中的所有字符串字面值(如 "abc" )都是String的实例 字符串是常量(因为 String 对象是不可变的,所以可以共享) 字符串的本质是字符数组:private final char value[]; 创建字符串常用的方式 public class CreateString { public static void main(String[] args) { // 直接定义字符串 String str1 = "虎老狮"; // n…
/*String类用于描述字符串事物的那么它就提供了多个方法对字符串进行操作 方法都会用,字符串这块就结束了常见的操作有哪些?“abcd”它应该具备什么功能,我们才能更好得操作它?1.获取(必须要掌握)   1.1 字符串中包含的字符数,也就是字符串的长度   int length()  然而数组也有长度,数组调用的length没有括号,是属于属性,但是字符串是方法   1.2 根据位置获取位置上的某个字符   char charAt(int index)   1.3 根据字符获取该字符在字符串…
String 类(被final修饰) 字符串是一种特殊的对象,一旦字符串被初始化就不可以被改变了.(内容不变) 例如: String  s = “abc”; String  s1 = new String(“abc”); s在内存中有一个对象, s代表的是一个类类型变量,”abc”是一个对象. s1在内存中有两个对象,分别是new出来的和:  “abc” . s == s1;的结果是false.   因为s和s1它们所对应的地址不同,比较的两个地址,s和s1中存储的地址数值是不同的.因此是fal…
1.String类是不可变类,一旦一个String对象被创建以后,包含在这个对象中的字符序列式不可改变的,直至这个对象被销毁. String s1 = "java"; s1 = s1 + "android"; s1 = s1 + "mysql"; 1)上面三个语句使用了3个字符串直接量之外,还会额外生成2个字符串直接量,"javaandroid","javaandroidmysql":程序中的s1依次指向3…
test1: package StringTest; public class test1 { /** * @param args */ public static void main(String[] args){ String a = "a1"; String b = "a"+ 1; System.out.println(a==b); }//true } test2: package StringTest; public class test2 { /** *…
字符串广泛应用在Java编程中,在Java中字符串属于对象,String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等. String 类的常用方法: 注意事项: 1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1 2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引:如果没有匹配结果,返回 -1 3. 使用 substring(beginIndex , endIndex…
String类 字符串是不可变的,对其做的任何改变,会生成一个对象,不会改变有原有对象. ==和equals() String s1 = "good"; String s2 = "good"; if (s1 == s2) {} // true 这种直接把字符串赋值给对象的情况,是存储在常量池里的,指向同一个地址 // another example String s1 = "good"; String s2 = new String("…
不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的. Java对String类的定义: public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // 省略... } final修饰符的用法: 1.修饰类 当用final修饰一个类时,表明这个类不能被继承.final类中的成员变量可以根据需要设为final,但是要注意final类中的…
前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基本数据类型一样使用,声明与初始化等操作都是相同的,是程序经常处理的对象,所以学好String的用法很重要. 一.创建字符串 在Java中用String类的构造方法来创建字符串变量,常用构造方法如下: 1. 使用String()方法初始化一个新创建的String对象. String s = new S…
Java.lang.String类是final类型的,因此不可以继承这个类.不能修改这个类.String是一个类不属于基本数据类型. 可以从源码中看到,String是一个final类型. String被设计成不可变(immutable)类,所以它所有的对象都是不可变对象. String为什么设计成不可变? String不可变的原因包括: 设计考虑,效率优化问题,以及安全性这三大方面 (以下根据查询的资料,做一份精简化的总结) 1. 字符串常量池的需要:字符串常量池(String pool, St…
Java多线程(Thread类.线程创建.线程池) 第一章 多线程 1.1 多线程介绍 1.1.1 基本概念 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程.一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序. 简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程 1.1.2 单线程程序 从入口mai…
今天在看<图解设计模式>,里面出了一个问题“String类用final修饰,导致它无法被继承(扩展),这样做违反了开闭原则,这么做有什么正当理由?” 答案是效率和安全性  首先是效率,由于String类它基本上是最频繁使用的几个类之一,如果使用的不好,会出现很明显的性能问题.所以干脆做成final类的.可以在JVM里做很多优化(比如放在栈中重用),类似的还有StringBuilder,虽然都是操作字符串,但是存放机制和使用场景都不同. 另外再说安全性,引用网上一段段“Java并不是操作系统本地…
String类是在java开发过程中,使用最最频繁的一个类,不管是 用户名 密码 还是http报文接收过来的数据,其本质就是字符序列 所以做为一个java开发者,我们要重点掌握好String的方法使用,方便我们在项目开发中,游刃自如. String本质就是一个 char数组,普普通通,也是简简单单的. char[] c=new char[8]; c[0]='您'; c[1]='好'; c[2]=','; c[3]='我'; c[4]='是'; c[5]='刘'; c[6]='诗'; c[7]='…
在java语言中,String类具有不可变性,即常量字符串不可更改.下面的一个小例子简单演示相关概念. public class test { public static void main(String []args){ String str1="hello"; System.out.println(str1); tell(str1); System.out.print(str1); } public static void tell(String str) { str="…
2017-11-02 20:02:06 String:代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String 对象是不可变的,所以可以共享. *常用方法 String值不能被改变的理解 String s = "Hello"; s += "world"; System.out.println(s); 这里的“Hello”,“…
[前面的话] 毕业将近6个月了,试用期也快要过去了,期待接下来的日子.在金融类性质的机构,最痛苦的是也许就是大部分系统外包,所以比较少写代码,在这六个月中只写了1个月左右的代码,然后每天都在做一些比较杂的事情,希望有机会可以写一写代码,提高技术. 前段时间做了一下开发,最近马上也要过年了,时间相对就比较多了,所以又回过头来看看书,巩固一下基础知识,做一些笔记,看看自己的思维,主要目的是为了自己积累,所以都是很基础.很基础的知识,请自行选择.如果看到这里要走了,祝新年快乐,也不枉进来一趟. [知识…
异常处理 Java的异常处理机制很大一部分来自C++.它允许程序员跳过暂时无法处理的问题,以继续后续的开发,或者让程序根据异常做出更加聪明的处理. Java使用一些特殊的对象来代表异常状况,这样对象称为异常对象.当异常状况发生时,Java会根据预先的设定,抛出(throw)代表当前状况的对象.所谓的抛出是一种特殊的返回方式.该线程会暂停,逐层退出方法调用,直到遇到异常处理器(Exception Handler).异常处理器可以捕捉(catch)的异常对象,并根据对象来决定下一步的行动,比如: 提…
到现在为止,我们都是在Java文件中直接定义类.这样的类出现在包(package)的级别上.Java允许类的嵌套定义. 这里将讲解如何在一个类中嵌套定义另一个类. 嵌套 内部类 Java允许我们在类的内部定义一个类.如果这个类是没有static修饰符,那么这样一个嵌套在内部的类称为内部类(inner class). 内部类被认为是外部对象的一个成员.在定义内部类时,我们同样有访问权限控制(public, private, protected). 在使用内部类时,我们要先创建外部对象.由于内部类是…
标签(空格分隔): String类 String 的概述 class StringDemo{ public static void main(String[] args){ String s1="abc";//s1是一个类型变量,abc是一个对象, //字符串最大的特点,一旦被初始化就不可以改变, //s1="kk";//这时候是s1的指向变了,并不是abc String s2=new String("abc"); System.out.prin…
String String 被声明为 final,因此不能被继承.(Integer 等包装类也不能被继承) 在 java8 中,String 内部使用 char 数组 来存储数据 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final cha…
一.定义 就是由多个字符组成的一串数据.也可以看成是一个字符数组. 注意: 1.字符串是常量:它们的值在创建之后不能更改.为什么? 意思就是说字符串确定了,就会在常量池中生成这个字符串. 所以说它的值不能改变.但是字符串的引用能改变,换句话说, 你要改变字符串的"值",只需将字符串的引用指向常量池中其他值的引用就可以了 //字符串演示 String str = "我是第一个字符串"://常量池中产生"我是第一个字符串",它的内容已经固定,不能改变…
一.基本概念 1.String为引用数据类型,使用双引号 2.字符串数组存储在方法区的内存池,因为开发过程种使用过于频繁 3.String类已经重写了equals,比较时使用,同时也重写了toString 4.String的构造方法,底层是final byte[],不可变   二.String的构造方法…
简单的代理类实现案例主实现类:ProxyTestimport java.lang.reflect.InvocationHandler;import java.lang.reflect.Proxy;import java.util.Arrays;import java.util.Random;//为什么需要代理类?因为在实际情况下,我们要构建实现了某些接口的新类,但是我们不知道原始的对象确切类型是什么,另外接口又不能生成实例,有两种解决办法://方法一:通过反射,找到这个类的构造器,但是不能实例化…
StringBuffer 特点: 是字符串缓冲区. 是一个容器,其长度可变,可以操作添加多个数据类型. 最后通过toString方法变成字符串. 被final锁修饰,因此不能被继承. 存储: 方法1:append() 添加数据到缓冲区. 返回类型:StringBuffer 方法: append(指定数据)  将指定数据添加到已有数据的结尾. 方法2:insert(index,数据内容) 返回类型:StringBuffer 方法: insert(index,数据内容) 将数据内容插入到指定的ind…
定义方法: 1.String demo = "test"; 2.String demo = new String(); 3.String demo = new String("test"); 字符串的不变性: String s1 = "imooc"; String s2 = "imooc";    //imooc为常量字符串,多次出现时会被编译器优化,只创建一个对象 String s3 = "I love"…