append是什么意思java_关于append()问题
关于append()问题
public class Test {
public static void main(String args[]){
StringBuffer a=new StringBuffer("A");
StringBuffer b=new StringBuffer("B");
operator(a,b);
System.out.println(a);//输出是AB 这里为什么能输出AB呢 方法不是传过去的只是值吗 如果传的不是值那为什么下面的确输出的是B呢
System.out.println(b);//输出是B
}
public static void operator(StringBuffer x,StringBuffer y){
x.append(y);
System.out.println(x);//输出是AB
y=x;
System.out.println(y);//输出是AB
}
}----------------解决方案--------------------------------------------------------
这个问题已经是老声长谈了 呵呵
new StringBuffer("A");这个对象你操作了append所以打印ab
new StringBuffer("B");这个对象你没对他做任何操作,所以他还是b
感觉说的像废话
----------------解决方案--------------------------------------------------------
只要真正明白JAVA里面的方法中的参数是如何传递的,楼主的疑问就解决了.
operator(a,b);就相当于:
程序代码:
{
StringBuilder x =a;
StringBuilder y =b;
x.append(y);
System.out.println(x);//输出是AB
y=x;
System.out.println(y);//输出是AB
}
显然,执行之后:
a里面保存了"AB";
b里面保存的还是"B";
代码中的y=x根本对a,b(指这两个引用)没有影响,so...
----------------解决方案--------------------------------------------------------
但是操作append的是x不是a啊
x和a有不可能指向一个对象如果指向一个对象那下面的y和b也应该是指向同一个对象为什么System.out.println(b);打印的不是AB而是B呢
----------------解决方案--------------------------------------------------------
以下是引用Eastsun在2007-2-15 21:46:04的发言:
只要真正明白JAVA里面的方法中的参数是如何传递的,楼主的疑问就解决了.
operator(a,b);就相当于:
程序代码:
{
StringBuilder x =a;
StringBuilder y =b;
x.append(y);
System.out.println(x);//输出是AB
y=x;
System.out.println(y);//输出是AB
}
显然,执行之后:
a里面保存了"AB";
b里面保存的还是"B";
代码中的y=x根本对a,b(指这两个引用)没有影响,so...
x.append(y);
这个为什么会有影响呢
----------------解决方案--------------------------------------------------------
唔,楼主还是好好想想吧.
或者自己写一些简单的代码验证一下自己的想法.
自己想清楚了,就再也不会有疑问了.
偶该说的已经说了,就不多说了.
----------------解决方案--------------------------------------------------------
其实在JAVA里面到处都是传值,只不过传引用的时候传的是引用的复制值而已,所以你改变引用的指向并不会改变实据数据,但是你用引用去改变东西却能反应出来
这点你要自己好好体会一下
----------------解决方案--------------------------------------------------------
LZ还是把值的传递和对对象的克隆看一下吧!
----------------解决方案--------------------------------------------------------
在JAVA里面是没有对象克隆的,传的都是引用的拷贝
明白了这点以后,就可以知道为什么了
----------------解决方案--------------------------------------------------------
遇到这种题目 我就头大
慢慢体会了
----------------解决方案--------------------------------------------------------
append是什么意思java_关于append()问题相关推荐
- 在java中append是什么_Java中的append方法是什么?
java.lang.StringBuffer的append(char c)方法将char参数的字符串表示形式附加到此序列.参数将附加到此序列的内容中.该序列的长度增加1. 示例import java. ...
- append是什么意思java_为什么StringBuilder#append(int)在Java 7中比在Java 8中更快?
在调查 little debate w.r.t.使用""和 Integer.toString(int)将整数原语转换为字符串我写了这个 JMH microbenchmark: @F ...
- python中append函数什么意思_python中append函数用法讲解
python中append函数用法讲解 如果在做一个地区的统计工作,可以使用列表来帮助我们.输入汉字或者其他字符,比如"01代表汉族",那么在写民族的时候有下拉列表,就可以打01, ...
- python中append是什么意思_python里append是什么
python中的append()函数是在列表末尾添加新的对象,且将添加的对象最为一个整体.与append相对应的是extend函数. 网上有很多对这两个函数的区别讲解,但我觉得都讲的不是很清楚,记忆不 ...
- Go 学习笔记(11)— 切片定义、切片初始化、数组和切片差异、字符串和切片转换、len()、cap()、空 nil 切片、append()、copy() 函数、删除切片元素
1. 切片定义 Go 语言切片是对数组的抽象. Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容 ...
- 浅议Python append()与NumPy append()
最近一直在折腾Numpy的路上越走越远,发现有很多东西可以深入研究.今天就来简单介绍一下NumPy 和 Python中append()函数的特点,以及append()的特性是否适合用于大数据的处理. ...
- JQuery获取append后的动态元素:live()和on()
2019独角兽企业重金招聘Python工程师标准>>> jquery通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素) $(&qu ...
- go语言笔记——append底层实现和Cpp vector无异,只是有返回值,double后返回了新的vector地址而已...
切片的复制与追加 如果想增加切片的容量,我们必须创建一个新的更大的切片并把原分片的内容都拷贝过来.下面的代码描述了从拷贝切片的 copy 函数和向切片追加新元素的 append 函数. 示例 7.12 ...
- jquery after append appendTo三个函数的区别
jq文档的说明是 1.after函数 定义和用法: after() 方法在被选元素后插入指定的内容. 语法: $(selector).after(content) 实例: <html> & ...
最新文章
- 13分页和shell命令行模式
- Windows NT体系结构
- VTK:可视化之ShadowsLightsDemo
- YUV格式学习:YUV420P、YV12、NV12、NV21格式转换成RGB24
- 关于国土空间规划的价值的一些思考
- c# redis 如何设置过期时间_Spring cache整合Redis,并给它一个过期时间!
- (33)FPGA面试技能提升篇(MIPI接口)
- 面向对象(基础oop)之继承总结
- C#语法糖yield
- 使用Visual Studio OnlineSQL Server数据库源控制:Git
- 小强的HTML5移动开发之路(20)——HTML5 Web SQL Database
- VMware系统运维(十一)部署虚拟化桌面 Horizon View 5.2 HTML ACCESS安装
- 普林斯顿陈丹琦:如何让「大模型」变小
- 力特usb转串口线驱动 linux,力特usb转串口驱动下载
- 为什么常用二倍图,流式布局中一倍图是否靠得住
- 用中信证券示范大作手回忆录
- 干货丨电源架构解析之A40i系列OKA40i-C开发板
- cxy安装rasa心得
- 清华大学操作系统课程实验
- 最大公约数和最小公倍数实现