java字符串传值问题
来源:互联网 发布:淘宝店没有发布宝贝 编辑:程序博客网 时间:2024/05/21 15:06
package Test01;public class test03 { public static void stringUpd(String str) { str = str.replace("j", "l"); System.out.println(str); } public static void stringBufferUpd(StringBuffer bf) { bf.append("c"); System.out.println(bf); } public static void main(String[] args) { /** * 對於基本類型和字符串(特殊)是傳值 * 对于字符串,一旦定义,不能更改 * (1)定义方式之一:String s1 = "java"; * java放在字符常量池中 * 因为字符串不能更改,所以传递参数时,是传值(传副本) * * * (2)定义方式之二:String s2 = new String("java"); * 先检查字符常量池中是否有java字符串,如果有,String s2=new String("java"), * 然后new String()又在堆中分配了内存空间,将常量区中的“java"复制一份给了堆中的String对象。 * * * 先检查字符常量池中是否有java字符串,如果没有 * String s2=new String("java"),此时先是在String常量池中产生了一个“java”对象, * 然后new String()又在堆中分配了内存空间,将常量区中的“java"复制一份给了堆中的String对象。 * 因此这段代码产生了两个对象,一个在常量区、一个在堆区。 * * 輸出lava,java */ String s1 = "java"; stringUpd(s1); System.out.println(s1); System.out.println("-----------------------------"); String s2 = new String("java"); stringUpd(s2); System.out.println(s2); System.out.println("-----------------------------"); /** * 對於對象而言,傳的是引用,而引用指向的是同一個對象 * * 輸出javac,javac */ StringBuffer bb = new StringBuffer("java"); stringBufferUpd(bb); System.out.println(bb); }}/* 输出lavajava-----------------------------lavajava-----------------------------javacjavac*/
0 0
- java字符串传值问题
- 字符串比较问题(java)
- Java子字符串问题
- JAVA字符串比较问题
- Java字符串的问题!
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- java中的字符串问题!
- Java字符串问题Top10
- java 字符串比较问题
- java-字符串问题
- Arduino 平台与C语言程序设计-week2-C Programming-Lesson1
- HBase 表的创建 属性 避免热点问题 region split
- Cocos2D-Android- 基础
- 产生冠军2094
- properties加载配置文件demo
- java字符串传值问题
- 我的序——科学与人文
- 1048. Find Coins (25)【排序】——PAT (Advanced Level) Practise
- Android开发之GetHub热门项目
- Linux LVM硬盘管理及LVM扩容
- uva 10817——Headmaster's Headache
- 调试经验--字节对齐
- 编译原理实验2——自动机的确定化和最小化
- properties类