在Java程序中经常会遇到类似于"Hello"这样地字符串,那么这种类型的字符串是Java中是如何存储,下面就来讨论一下字符串常量在内存中的存储方式 Java程序在编译时会将程序中出现的常量(包括:char、byte、short、int、long、boolean和String类型)放到一个叫做常量池 ...
分类:
编程语言 时间:
2016-11-23 06:57:40
阅读次数:
174
1.String str = new String("hello"); 创建了2个对象,1.检查常量池中有没有hello,没有的话,创建对象放到常量池中,再创建对象放到堆中。如果常量池有hello对象,则只创建一个对象并放到堆中。 2.字符串常量池在方法区 3.String str = "hello ...
分类:
编程语言 时间:
2016-11-20 18:53:48
阅读次数:
277
字符常量和字符串 's'和"s"是不同的。 's'是字符常量,它代表了一个整数,对应的是在机器字符表中的值。 "s"是字符串常量,他是以'\0'结尾的字符序列。从技术角度看,字符串常量就是字符数组。数组的最后一个元素是'\0',表示字符串结束。 声明定义字符常量、字符串常量 注意,字符串数组不能直接 ...
分类:
其他好文 时间:
2016-11-18 22:21:45
阅读次数:
135
1.String的特性 1.String的特性 特性一:不可变性 String s=new String(“yangyun") s=s.toUpperCase(); 这里的s,s占用的空间是不一样的(地址不相同),前提是toUpperCase函数确实改变了原始s的内容。 为什么String是不可变对 ...
分类:
编程语言 时间:
2016-11-14 15:40:56
阅读次数:
169
字符串 一.String 语法上的特殊性:提供String常量对象 内存存放的特殊性:String常量对象在加载期就会被产生,做到数据段的字符串常量当中,运行起来以后需要使用,直接到常量池取就可以了 提供了大量的字符串方法 1.跟数组有关的方法: (1.)length():string对象的长度 ( ...
分类:
其他好文 时间:
2016-11-05 23:07:31
阅读次数:
209
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等 ...
分类:
其他好文 时间:
2016-11-04 13:57:36
阅读次数:
170
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→<类型说明><声明><复合语句> <类型说明>→void|char|int |float <声明>→<指针直接说明符>|<直接说明符> <指针>→’*‘|'*'指针 <直接说明符>→<标识符>|<直接说 ...
分类:
编程语言 时间:
2016-11-03 13:48:35
阅读次数:
268
常量:字面值常量(字符串,字符,整数,小数,布尔,null),自定义常量,''这个不是字符常量,""这个是字符串常量 进制: 02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分... ...
分类:
编程语言 时间:
2016-11-02 23:49:00
阅读次数:
343
介绍 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 深入说明 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进 ...
分类:
其他好文 时间:
2016-11-01 09:33:53
阅读次数:
153
动手动脑1:运行示例代码,查看结果,解释为什么是这个结果,从中你能总结出什么? 运行结果:tru truefalse 分析结果:s1,s2,s0均指向hello字符串常量的地址。所以在执行过程中,Java对于同一字符串是不会开辟新的空间的,而在最后的两者的内容虽然相同,但是他们的地址不同所以不等。 ...
分类:
其他好文 时间:
2016-10-29 01:58:59
阅读次数:
121