- 浏览: 753917 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (419)
- 杂软粉墨 (2)
- 创意灵感 (3)
- 经验记录 (137)
- 开源轨迹 (2)
- sip-communicator (2)
- 闲侃杂谈 (8)
- 问题交流 (24)
- 概念模式 (32)
- 难点备案 (5)
- JwChat (1)
- 中国象棋 (1)
- 教育探索 (6)
- 英语研究 (58)
- 星际争霸 (1)
- 电信知识 (1)
- 软件架构 (3)
- 哲学探索 (26)
- 算法灵魂 (8)
- 近视探索 (6)
- 数学数学 (3)
- 牛角钻尖 (23)
- 至强文言 (3)
- 数据结构 (1)
- 宇宙物理 (2)
- 网络架构 (3)
- 游戏领域 (4)
- 图形处理 (2)
- 修炼之路 (8)
- 读书天地 (20)
- 编解乱码 (2)
- 概念探索 (8)
- 格物致知 (1)
- 其它语言 (1)
- 测试领域 (3)
- 文化风流 (1)
- JQuery (1)
- 網頁領域 (1)
- Unix/Linux (1)
- Inside JVM (1)
- 异常分析 (1)
最新评论
-
suyujie:
引用
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
iamzhoug37:
您能说一下"局部变量不受文本顺序限制" 是 ...
声明前为什么能赋值却不能输出,都是使用
import javax.swing.JFrame; public class Main { public static void main(String[] args) throws Exception { String title = "abc"; JFrame jframe = new JFrame(title); jframe.setVisible(true); title = "def"; } }
运行此程序,最终title不会变为def,为什么呢?如此这般title的再改变已经不能再影响JFrame的title了,为什么呢?String是对象,java传的是引用,怎么会无效了呢?原因在于title第二次赋值之后,已经是一个新对象了,再上程序:
public class Test { String string1 = "a"; String string2 = "b"; public static void main(String[] args) { new Test().go(); } public void go() { change(string2); string2 = "c"; System.out.println(string1); } public void change(String string2) { string1 = string2; } }
这结果是b,说明没能改变
public class Test1 { StringBuffer string1 = new StringBuffer("a"); StringBuffer string2 = new StringBuffer("b"); public static void main(String[] args) { new Test1().go(); } public void go() { change(string2); string2.replace(0, 1, "c"); System.out.println(string1); } public void change(StringBuffer string2) { string1 = string2; } }
这结果是c,说明同一引用内容的改变影响到了,上图:
这是方法传参示意图,实参、形参的引用容易是两个不同的,但是彼此所盛装的引用指向是一致的,String被第二次赋值后,它所改变的已经不仅是内容了,而是引用本身了,已经是另外一个引用了,已不是指向原来 的String Object,因此无效。
发表评论
-
NullPointerException in ternary operator
2013-01-19 00:01 1134java代码: Integer i = null; ... -
why concrete class must implement abstract method while abstract class need not
2011-05-11 13:27 1532yes, just as the title...why co ... -
Enum singleton - Elvis Stealer
2011-04-26 14:41 1645import java.io.ByteArrayInputSt ... -
why can inner class be instantiated in this way?
2011-04-06 10:24 1044public class Outer { pub ... -
into native source code
2011-03-23 23:09 978once there was a problem occurr ... -
about Thread.join method
2011-03-23 08:09 1294import java.util.Timer; import ... -
why is static inner class singleton thread safe?
2011-03-15 09:03 1471http://en.wikipedia.org/wiki/In ... -
why string concatenation yields no interned one
2011-03-14 16:48 1125public class Test { public st ... -
why can bit mask suppress sign extention
2011-03-10 09:16 1188yes, bit mask can suppress sign ... -
About gc two objects which are inter referenced to each other
2011-03-08 11:00 1065my workmate told me such a sena ... -
circumvents exception checking
2011-03-03 11:02 976import java.io.IOException; ... -
关于维基中singleton pattern的一段
2011-02-24 10:00 1103Another notable difference is t ... -
why List hasn't clone method but the ArrayList has
2011-02-16 15:27 1182List list = new ArrayList(); ... -
deep copy
2011-02-16 15:20 1054static public Object deepCopy(O ... -
Java is Pass-by-Value
2011-02-14 13:28 1107This often heard saying is not ... -
不是说字符串不可变吗
2011-02-14 11:28 903from csdn: http://topic.csdn.ne ... -
没有实现抽象方法的具体类居然编译通过了
2011-02-04 22:29 988来自csdn: http://topic.csdn.net/ ... -
关于iterator的fail-fast
2011-01-20 11:15 1016是使用集合的iterator后,再改变就可能抛出这个异常 ... -
生成几个String的问题
2011-01-11 16:26 1023public class Test extends java. ... -
无符号右移>>>
2011-01-11 15:46 2354public class Test { public st ...
相关推荐
JFrame win(String title); } public class MethodRefer { public static void main(String[] args) { // 使用Lambda表达式创建Converter对象 Converter converter1 = from -> Integer.valueOf(from); // 方法...
2. 创建`JDialog`实例,将父窗口作为参数传递,设置对话框的属性,如模态性、大小、位置等。 3. 添加内容到对话框,可以是`JPanel`、`JButton`、`JLabel`等其他Swing组件。 4. 设置对话框可见。 例如,创建一个简单...
`public static void showMessageDialog(Component parentComponent, Object message, String title, int messageType)` 是 `showMessageDialog` 的主要重载形式之一。各参数含义如下: 1. **parentComponent**:...
<title>JS与Applet交互示例</title> function callAppletMethod() { document.applets[0].sayHello(); } function sayHelloFromJS() { alert("Hello from JavaScript!"); } ()">Call Applet ...
JavaFX Script 支持第一级函数,这意味着函数可以像其他数据类型一样被赋值给变量、作为参数传递给其他函数或作为其他函数的返回值。这一特性极大地增强了语言的灵活性和表达能力。例如: ```javafx function ...