当前位置:  技术问答>java相关

为什么?难道b的分配的空间没变?

    来源: 互联网  发布时间:2015-11-19

    本文导语:  代码如下:  import java.awt.*;  public class test  {  public static void main(String args[])  {  StringBuffer a=new StringBuffer("A");  StringBuffer b=new StringBuffer("B");  operate(a,b);  System.out.println(a+","+b);  }  static void operate(StringBuffer...

代码如下: 
import java.awt.*; 
public class test 

public static void main(String args[]) 

StringBuffer a=new StringBuffer("A"); 
StringBuffer b=new StringBuffer("B"); 
operate(a,b); 
System.out.println(a+","+b); 

static void operate(StringBuffer x,StringBuffer y) 

x.append(y); 
y=x; 


请问为什么b的值最后不是AB而仍是B呢?y=x好象没起作用呀! 
请老师给予解答!! 


|
y=x; 
这句话有问题

只不过让y指向了了x指向的地方,
如果

System.out.println(y);应该就是AB

而b还是没有改变指向

|
真的是这样吗?那就奇怪了,关注。

|
你可以做个测试
static void operate(StringBuffer x,StringBuffer y) 

x.append(y); 
y=x; 
System.out.println(x+","+y);
}
得到的结果是
AB,AB
说明在这里y=x;是有效的
其实可以这么理解,y=x的有效范围在operate,而且改变的仅仅是y的指向,而真正改变变量内容的操作是append,你也可以用String来试试

    
 
 

您可能感兴趣的文章:

  • C++ Strings(字符串) 成员 capacity():返回重新分配空间前的字符容量
  • oracle查看表空间已分配和未分配空间的语句分享
  • 我的sun5.8工作站下目录下空间不够,其他目录还有空间,怎么把其他目录下的空间分配过来?
  • new几个相同的类,对于方法(method)的内存分配问题?大家公用一块方法的空间,还是每个都有自己的空间?
  • 请教一个关于内存分配的问题(系统和DMA共享一块物理内存空间)
  • AIX系统如何查看当前用户所分配的磁盘空间
  • 请问溢出mmap()分配的共享空间要怎么办??
  • 请问如何查看一个进程中 brk和mmap各自分配的内存空间的大小
  • memset分配的空间用完以后需要进行释放吗? 如果需要释放,怎么释放呢? ---阿菜
  • 高手请进: 如何用 kmalloc 分配20M 的内存空间?
  • 为什么进程的线性地址空间需要分配
  • IRIX 6.5下使用new分配空间的问题
  • Solaris 下磁盘空间分配的问题,高手请进
  • 如何使用在创建文件时预先分配一定的磁盘空间
  • solaris 空间不足,怎么重新分配???
  • 在可变式分区分配方案中,只需要进行一次比较就可以判定系统是能否满足作业对主存空间要求的是( )。
  • sprintf函数的第一参数字符缓冲区为何分配空间不够,在linux运行也不出现内存错误?
  • 在什么情况下要用到malloc函数给变量分配空间?
  • 刚装好了RH9,想再装Oralce 9i,想问一下关于空间分配的问题?
  • 如何在子函数中为主函数的数组变量分配空间
  • 请教:在linux下如何为一个结构体分配空间?语句该怎么写?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Vectors 成员 get_allocator():返回vector的内存分配器
  • 一个问题,关于kmalloc分配的内存和编译器自动分配的内存的问题(堆和栈)
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • 【求助】AIX下进程内存分配问题,无法分配超过256M的内存
  • C++ Vectors 成员 capacity():返回vector所能容纳的元素数量(在不重新分配内存的情况下)
  • dhcp 三种分配机制的区别
  • c/c++内存堆分配和栈分配理解
  • linux内核分配内存,及管理?
  • c/c++中的内存分配 malloc 和 new介绍及相互之间的区别
  • 64位系统是否可以分配超过2GB的内存
  • 求RADIUS的动态分配IP的问题(利用IPPOOL)
  • *****什么命令可以看到unix的最小内存分配单位?*****
  • 问个LINUX内存分配的问题。
  • linux c 多线程问题任务分配问题
  • 问一个内存分配的问题
  • 分配的内存不可用?真是晕死!
  • 内存池和SLAB分配器有什么区别呀,在用法上
  • 请教内存分配
  • 进行内存分配时为什么要对给定的大小重新计算大小???
  • 请问:在JAVA中创建句柄后,有没有给这个对象分配内存?
  • 添加用户后,如何分配权限给这个用户


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3