﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Growing spark[暂停在blogjava的更新，以后会继续在http://ky1in.dilys.cn上继续写blog]</title><link>http://www.blogjava.net/ky1in/</link><description>人生不是学期制，人生没有寒暑假。</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 18:30:40 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 18:30:40 GMT</pubDate><ttl>60</ttl><item><title>[暂停在blogjava的更新，以后会继续在http://ky1in.dilys.cn上继续写blog]</title><link>http://www.blogjava.net/ky1in/archive/2006/08/05/61947.html</link><dc:creator>小猪</dc:creator><author>小猪</author><pubDate>Sat, 05 Aug 2006 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/ky1in/archive/2006/08/05/61947.html</guid><wfw:comment>http://www.blogjava.net/ky1in/comments/61947.html</wfw:comment><comments>http://www.blogjava.net/ky1in/archive/2006/08/05/61947.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ky1in/comments/commentRss/61947.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ky1in/services/trackbacks/61947.html</trackback:ping><description><![CDATA[   由于这里的讨论气氛没有达到预料的情况，所以还是改在自己的blog上写了。这样也便于管理文章，和资料。<img src ="http://www.blogjava.net/ky1in/aggbug/61947.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ky1in/" target="_blank">小猪</a> 2006-08-05 15:44 <a href="http://www.blogjava.net/ky1in/archive/2006/08/05/61947.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在QQ群里讨论了关于==和equals()的问题.</title><link>http://www.blogjava.net/ky1in/archive/2006/07/25/60089.html</link><dc:creator>小猪</dc:creator><author>小猪</author><pubDate>Tue, 25 Jul 2006 15:42:00 GMT</pubDate><guid>http://www.blogjava.net/ky1in/archive/2006/07/25/60089.html</guid><wfw:comment>http://www.blogjava.net/ky1in/comments/60089.html</wfw:comment><comments>http://www.blogjava.net/ky1in/archive/2006/07/25/60089.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ky1in/comments/commentRss/60089.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ky1in/services/trackbacks/60089.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal">
				<st1:chsdate isrocdate="False" islunardate="False" day="25" month="7" year="2007" w:st="on">
						<span lang="EN-US">2007</span>
						<span style="font-family: 宋体;">年</span>
						<span lang="EN-US">7</span>
						<span style="font-family: 宋体;">月</span>
						<span lang="EN-US">25</span>
						<span style="font-family: 宋体;">日</span>
				</st1:chsdate>
				<span lang="EN-US">
						<span style="">   </span>
				</span>
				<span style="font-family: 宋体;">星期二</span>
				<span lang="EN-US">
						<span style="">          </span>
				</span>
				<span style="font-family: 宋体;">晴</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">----------------------------------------------------------------------------------------------------------------------</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">以下是</span>
				<span lang="EN-US">QQ</span>
				<span style="font-family: 宋体;">群上的聊天记录，以及我的一些注释。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">狂风扫落叶</span>
				<span lang="EN-US"> 10:23:08</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">为什么</span>
				<span lang="EN-US">String</span>
				<span style="font-family: 宋体;">类要重写</span>
				<span lang="EN-US">Object</span>
				<span style="font-family: 宋体;">类的</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法啊？</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">水圣</span>
				<span lang="EN-US"> 10:21:14</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">看看你代码</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">狂风扫落叶</span>
				<span lang="EN-US"> 10:23:08</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不是</span>
				<span lang="EN-US">,</span>
				<span style="font-family: 宋体;">有朋友问我这个问题</span>
				<span lang="EN-US">,</span>
				<span style="font-family: 宋体;">我不知道怎么回答</span>
				<span lang="EN-US">,</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">好像是为了区分</span>
				<span style="font-family: 宋体;">对像比较的时候</span>
				<span lang="EN-US"> == </span>
				<span style="font-family: 宋体;">和</span>
				<span lang="EN-US">equals </span>
				<span style="font-family: 宋体;">的有所区别</span>
				<span lang="EN-US">
						<span style="">  </span>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">天天好心情</span>
				<span lang="EN-US"> 10:23:34</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">不是比较对象的</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">阿黄</span>
				<span lang="EN-US"> 10:24:15</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">我记得的好象是</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">实际上是比较的两个字符串的物理内存地址。</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">“</span>
				<span lang="EN-US">A</span>
				<span style="font-family: 宋体;">”</span>
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">“</span>
				<span lang="EN-US">A</span>
				<span style="font-family: 宋体;">”结果肯定是不相等的</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">阿黄</span>
				<span lang="EN-US"> 10:24:47</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">其中“</span>
				<span lang="EN-US">A</span>
				<span style="font-family: 宋体;">”表示一个字符串</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">水圣</span>
				<span lang="EN-US"> 10:25:51</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">实际上是比较的两个字符串的物理内存地址</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">狂风扫落叶</span>
				<span lang="EN-US"> 10:25:58</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">to </span>
				<span style="font-family: 宋体;">阿黄</span>
				<span style="font-family: 宋体;">你说的是字符串对象，他重写了</span>
				<span lang="EN-US">Object</span>
				<span style="font-family: 宋体;">的</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">所以会那样</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:26:04</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">＝＝比较对象的地址，</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">比价两个对象的值（如果默认继承自</span>
				<span lang="EN-US">OBJECT</span>
				<span style="font-family: 宋体;">，则</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">比较两个对象地址），</span>
				<span lang="EN-US">String class override</span>
				<span style="font-family: 宋体;">了</span>
				<span lang="EN-US">Object class</span>
				<span style="font-family: 宋体;">的</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法，实现了自己的方法，所以</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">比较的是实际值而非地址</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">阿黄</span>
				<span lang="EN-US"> 10:26:45</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">我说的就是这个意思了</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:26:54</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">另外</span>
				<span lang="EN-US">String class</span>
				<span style="font-family: 宋体;">在</span>
				<span lang="EN-US">JAVA</span>
				<span style="font-family: 宋体;">中比较特殊的地方是他采取了值对象模式以及享元模式</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:27:25</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">这意味着普通的比较会出现正确的结果</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">String a = "aaa";</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">String b = "aaa";</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">a == b is equals </span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:28:33</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">只觉上这个是错误的，因为</span>
				<span lang="EN-US">String</span>
				<span style="font-family: 宋体;">是对象，不是简单数值，所以他们应该是不同的对象，但这里他们是相同的，原因在于享元模式让</span>
				<span lang="EN-US">aaa</span>
				<span style="font-family: 宋体;">保留下来，并再下次使用时赋予</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:29:14</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">但是这样就不对</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">String a = new String("aaa");</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">String b = new String("aaa");</span>
		</p>
		<p class="MsoNormal" style="text-indent: 168pt;">
				<span lang="EN-US">a == b is false <span style="">                    </span>//<span style="">          </span></span>
				<span style="font-family: 宋体;">其实讲到这里应该都清楚了</span>
				<span lang="EN-US">object</span>
				<span style="font-family: 宋体;">类的</span>
				<span lang="EN-US">equals()</span>
				<span style="font-family: 宋体;">跟</span>
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">的作用是一样的，但是继承</span>
				<span lang="EN-US">object</span>
				<span style="font-family: 宋体;">类的</span>
				<span style="font-family: 宋体;">子类一般都会重写</span>
				<span lang="EN-US">equals()</span>
				<span style="font-family: 宋体;">方法，这样做的目的是为了</span>
				<span style="font-family: 宋体;">很好地区分</span>
				<span lang="EN-US">equals()</span>
				<span style="font-family: 宋体;">的作用，</span>
				<span style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;;" lang="EN-US">==</span>
				<span style="font-size: 10.5pt; font-family: 宋体;">只负责比较两个对象</span>
				<span style="font-family: 宋体;">的物理地址是否相同，</span>
				<span lang="EN-US">equals()</span>
				<span style="font-family: 宋体;">方法负责比较两个对象</span>
				<span lang="EN-US">
				</span>
				<span style="font-family: 宋体;">的内容（或者说是值，</span>
				<span lang="EN-US">value</span>
				<span style="font-family: 宋体;">）是否相等。//</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">阿黄</span>
				<span lang="EN-US"> 10:29:33</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">这种问题应该属于比较底层的了</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">没事了可以看下</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">深入理解计算机系统。。。讲解很精辟</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">狂风扫落叶</span>
				<span lang="EN-US"> 10:30:34</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">受教</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">水圣</span>
				<span lang="EN-US"> 10:33:17</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">：</span>
				<span lang="EN-US">"=="</span>
				<span style="font-family: 宋体;">和</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法究竟有什么区别？</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">操作符专门用来比较变量的值是否相等。比较好理解的一点是：</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">int a=10;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">int b=10;</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">则</span>
				<span lang="EN-US">a==b</span>
				<span style="font-family: 宋体;">将是</span>
				<span lang="EN-US">true</span>
				<span style="font-family: 宋体;">。</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">但不好理解的地方是：</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">String a=new String("foo");</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">String b=new String("foo");</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">则</span>
				<span lang="EN-US">a==b</span>
				<span style="font-family: 宋体;">将返回</span>
				<span lang="EN-US">false</span>
				<span style="font-family: 宋体;">。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">对象变量其实是一个引用，它们的值是指向对象所在的内存地址，而不是对象本身。</span>
				<span lang="EN-US">a</span>
				<span style="font-family: 宋体;">和</span>
				<span lang="EN-US">b</span>
				<span style="font-family: 宋体;">都使用了</span>
				<span lang="EN-US">new</span>
				<span style="font-family: 宋体;">操作符，意味着将在内存中产生两个内容为</span>
				<span lang="EN-US">"foo"</span>
				<span style="font-family: 宋体;">的字符串，既然是“两个”，它们自然位于不同的内存地址。</span>
				<span lang="EN-US">a</span>
				<span style="font-family: 宋体;">和</span>
				<span lang="EN-US">b</span>
				<span style="font-family: 宋体;">的值其实是两个不同的内存地址的值，所以使用</span>
				<span lang="EN-US">"=="</span>
				<span style="font-family: 宋体;">操作符，结果会是</span>
				<span lang="EN-US">false</span>
				<span style="font-family: 宋体;">。诚然，</span>
				<span lang="EN-US">a</span>
				<span style="font-family: 宋体;">和</span>
				<span lang="EN-US">b</span>
				<span style="font-family: 宋体;">所指的对象，它们的内容都是</span>
				<span lang="EN-US">"foo"</span>
				<span style="font-family: 宋体;">，应该是“相等”，但是</span>
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">操作符并不涉及到对象内容的比较。</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">对象内容的比较，正是</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法做的事。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">看一下</span>
				<span lang="EN-US">Object</span>
				<span style="font-family: 宋体;">对象的</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法是如何实现的：</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">boolean equals(Object o){</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">return this==o;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">}</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">Object</span>
				<span style="font-family: 宋体;">对象默认使用了</span>
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">操作符。所以如果你自创的类没有覆盖</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法，那你的类使用</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">和使用</span>
				<span lang="EN-US">==</span>
				<span style="font-family: 宋体;">会得到同样的结果。同样也可以看出，</span>
				<span lang="EN-US">Object</span>
				<span style="font-family: 宋体;">的</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法没有达到</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法应该达到的目标：比较两个对象内容是否相等。因为答案应该由类的创建者决定，所以</span>
				<span lang="EN-US">Object</span>
				<span style="font-family: 宋体;">把这个任务留给了类的创建者。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">看一下一个极端的类：</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">Class Monster{</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">private String content;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">...</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">boolean equals(Object another){ return
true;}</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">}</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">我覆盖了</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法。这个实现会导致无论</span>
				<span lang="EN-US">Monster</span>
				<span style="font-family: 宋体;">实例内容如何，它们之间的比较永远返回</span>
				<span lang="EN-US">true</span>
				<span style="font-family: 宋体;">。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">所以当你是用</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法判断对象的内容是否相等，请不要想当然。因为可能你认为相等，而这个类的作者不这样认为，而类的</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法的实现是由他掌握的。如果你需要使用</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法，或者使用任何基于散列码的集合（</span>
				<span lang="EN-US">HashSet,HashMap,HashTable</span>
				<span style="font-family: 宋体;">），请察看一下</span>
				<span lang="EN-US">java doc</span>
				<span style="font-family: 宋体;">以确认这个类的</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">逻辑是如何实现的。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> </span>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 10:45:28</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">Class Monster{</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">private String content;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">...</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">boolean equals(Object another){ return
true;}</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">}</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">这个例子有点看不懂了。一个</span>
				<span lang="EN-US">Monster</span>
				<span style="font-family: 宋体;">的类对象怎么会去跟一个</span>
				<span lang="EN-US">Object</span>
				<span style="font-family: 宋体;">的类对象比较？</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 10:45:52</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">本身这样的比较就没意义吧？</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不二</span>
				<span lang="EN-US"> 10:46:22</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">为什么没意义</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">阿黄</span>
				<span lang="EN-US"> 10:46:41</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">恩</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">类好象都是从</span>
				<span lang="EN-US">object</span>
				<span style="font-family: 宋体;">继承来的，应该可以比较</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">水圣</span>
				<span lang="EN-US"> 10:46:57</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">比较极端而已</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">阿黄</span>
				<span lang="EN-US"> 10:47:17</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">一般的类都是默认从</span>
				<span lang="EN-US">java<span style="">  </span>object</span>
				<span style="font-family: 宋体;">继承</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 10:48:21</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">我小学用“像”造句</span>
				<span lang="EN-US">"</span>
				<span style="font-family: 宋体;">我像我爸爸</span>
				<span lang="EN-US">"</span>
				<span style="font-family: 宋体;">就被老师骂过啊。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:48:41</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">因为</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法再</span>
				<span lang="EN-US">Object class</span>
				<span style="font-family: 宋体;">中的定义为</span>
				<span lang="EN-US"> public boolean equals(Object
o);</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">当子类方法</span>
				<span lang="EN-US">override</span>
				<span style="font-family: 宋体;">父类方法时，函数申明特征必须相同，所以必须使用</span>
				<span lang="EN-US">Object <span style="">  </span>//</span>
				<span style="font-family: 宋体;">这句话什么意思我还不是很懂。就</span>
				<span lang="EN-US">Monster</span>
				<span style="font-family: 宋体;">类来说</span>
				<span lang="EN-US">Object</span>
				<span style="font-family: 宋体;">是其父类，所以</span>
				<span lang="EN-US">Monster</span>
				<span style="font-family: 宋体;">的</span>
				<span lang="EN-US">equals()</span>
				<span style="font-family: 宋体;">的操作数必须是其父类的对象？</span>
				<span lang="EN-US">//</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">阿黄</span>
				<span lang="EN-US"> 10:49:57</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">呵呵</span>
				<span lang="EN-US">~~~</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">应该没人这样造句吧</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">“我长的象我爷爷”</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">嘎嘎</span>
				<span lang="EN-US">~~~~~~~~~~~~~~~~~~~
</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:50:19</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">一般</span>
				<span lang="EN-US"> override
equals method</span>
				<span style="font-family: 宋体;">的普通手法是</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">public boolean equals(Object o) {</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> 
</span>MyObject o = (MyObject) o;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style="">  </span>//
TODO: compare them</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> 
</span>return xxx;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">} </span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">水圣</span>
				<span lang="EN-US"> 10:50:40</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不是比喻句，但是是对的</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">水圣</span>
				<span lang="EN-US"> 10:50:44</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">哈哈</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 10:51:29</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">前面定义</span>
				<span lang="EN-US">OBJECT</span>
				<span style="font-family: 宋体;">应该就是说什么类都能传进去跟他比较吧。。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 10:52:47</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">MyObject o = (MyObject) o;//</span>
				<span style="font-family: 宋体;">是这句吧</span>
				<span lang="EN-US">? </span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 10:53:51</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">那这个转型</span>
				<span style="font-family: 宋体;">要怎么写</span>
				<span lang="EN-US">? </span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:54:23</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">是</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:54:33</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">就是上面那句</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 10:54:44</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">这个转型怎么实现</span>
				<span lang="EN-US">? </span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 10:54:54</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">。。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:55:11</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">呵呵语言特性，你把他理解为一个神奇的黑盒，完成你想要的功能就</span>
				<span lang="EN-US">OK</span>
				<span style="font-family: 宋体;">了</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 10:55:54</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">这个世界好神奇哦</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">『堂』天晓得</span>
				<span lang="EN-US">
10:56:10</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">............................. </span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">ぷ秋起雁归ぷ</span>
				<span lang="EN-US">
10:56:11</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">为什么这么说</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 10:59:37</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> </span>Class Monster{</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">private String content;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">...</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">boolean equals(Monster another){ return
true;}</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">}</span>
				<span style="font-family: 宋体;">这样不可以么</span>
				<span lang="EN-US">?</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 10:55:11</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">危险</span>
				<span lang="EN-US">...</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">Monster m1 = new Monster();</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">Monster m2 = new Monster();</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">m1.equals(m2)</span>
				<span style="font-family: 宋体;">永远相等，这真的是你想要的结果吗？</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> </span>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 11:01:49</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">我在</span>
				<span lang="EN-US">equals()</span>
				<span style="font-family: 宋体;">里面还要访问</span>
				<span lang="EN-US">Monster</span>
				<span style="font-family: 宋体;">的</span>
				<span lang="EN-US">content</span>
				<span style="font-family: 宋体;">变量的</span>
				<span lang="EN-US">. </span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 11:02:10</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">比较</span>
				<span lang="EN-US">content</span>
				<span style="font-family: 宋体;">内容</span>
				<span lang="EN-US">,</span>
				<span style="font-family: 宋体;">然后再返回</span>
				<span lang="EN-US">true or false </span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:02:39</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">OK</span>
				<span style="font-family: 宋体;">，这是你的业务逻辑，我不知道这对不对，你对此负责</span>
				<span lang="EN-US">
						<span style="">  </span>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 11:02:41</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">做到真正的内容比较是</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">的职责嘛</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:02:51</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">是的</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:02:59</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">是内容比较，或者成为</span>
				<span lang="EN-US">value</span>
				<span style="font-family: 宋体;">比较</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 11:03:40</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">自己新建的类，</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">比较的是引用还是内容啊。。。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">水圣</span>
				<span lang="EN-US"> 11:03:46</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">clone </span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:04:04</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">如果不</span>
				<span lang="EN-US">override
equals method</span>
				<span style="font-family: 宋体;">，默认为比较引用地址</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 11:04:29</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">Monster m1 = new Monster();</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">Monster m2 = new Monster();</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">m1.equals(m2) </span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 11:04:34</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">那不是不相等么</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 11:04:41</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">2</span>
				<span style="font-family: 宋体;">个都</span>
				<span lang="EN-US">new</span>
				<span style="font-family: 宋体;">过了。。。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:05:01</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">他覆盖了</span>
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 11:05:07</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">哦</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 11:05:10</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">这个是内部的？</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 11:05:15</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">语法上来说只进行类型比较吧</span>
				<span lang="EN-US">?
</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:05:38</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">equals</span>
				<span style="font-family: 宋体;">方法是一个</span>
				<span lang="EN-US">public</span>
				<span style="font-family: 宋体;">访问修饰符，所以他不应该称为内部的</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:05:56</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">他的接口在任何时候都被共享，只要你想调用</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不敗の小儜</span>
				<span lang="EN-US"> 11:06:09</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">哦</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 11:12:37</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">两个东西比较都是比较我们平时看得见的东西进行比较的吧</span>
				<span lang="EN-US">?</span>
				<span style="font-family: 宋体;">也就是外部可以访问到的东西之间的比较吧</span>
				<span lang="EN-US">?</span>
				<span style="font-family: 宋体;">如果两个不同的类之间包含相同的</span>
				<span lang="EN-US">public</span>
				<span style="font-family: 宋体;">成员变量</span>
				<span lang="EN-US">.</span>
				<span style="font-family: 宋体;">你是怎么实现的</span>
				<span lang="EN-US">? </span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:14:14</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">不懂你的意思？</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">midthinker 11:20:08</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">呵呵，假设。。。</span>
				<span lang="EN-US">one
developer and one tester</span>
				<span style="font-family: 宋体;">，他们密切合作，进行着紧张而忙碌的开发活动，突然你们的老板来到你们面前，并告诉你们之前程序的某个部分因为某些特殊原因发生了问题，你们的老板为此大发雷霆，甚至威胁扣除你们的奖金，除非你们能够说明谁犯了这个错误，经过分析你们发现这是一个各占</span>
				<span lang="EN-US">50</span>
				<span style="font-family: 宋体;">％的责任，大家认为作为一个</span>
				<span lang="EN-US">developer
or Tester</span>
				<span style="font-family: 宋体;">，谁更有可能优先向对方道歉，并承认错误？</span>
				<span lang="EN-US">
						<span style="">  </span>
				</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">小猪</span>
				<span lang="EN-US"> 11:21:24</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">比如</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">class a {</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> </span>int
a=1;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> 
</span>private void a(){};</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">}</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">class b {</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> </span>int
b=1;</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<span style=""> </span>private void b(){};</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">}</span>
		</p>
		<p class="MsoNormal">
				<span style="font-family: 宋体;">这样</span>
				<span lang="EN-US">b</span>
				<span style="font-family: 宋体;">里面包含了跟</span>
				<span lang="EN-US">a</span>
				<span style="font-family: 宋体;">一样的一个</span>
				<span lang="EN-US">int </span>
				<span style="font-family: 宋体;">变量</span>
				<span lang="EN-US">.</span>
				<span style="font-family: 宋体;">而我们调用这两个类的时候只用到这两个类对象的</span>
				<span lang="EN-US">int </span>
				<span style="font-family: 宋体;">变量的内容也就是从类的用户的角度来说这两个类是可以相等的</span>
				<span lang="EN-US">.</span>
				<span style="font-family: 宋体;">那么是否需要写一个</span>
				<span lang="EN-US">a</span>
				<span style="font-family: 宋体;">和</span>
				<span lang="EN-US">b</span>
				<span style="font-family: 宋体;">之间进行相等比较的</span>
				<span lang="EN-US">equals method</span>
				<span style="font-family: 宋体;">呢</span>
				<span lang="EN-US">? </span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">//</span>
				<span style="font-family: 宋体;">我提的问题有点钻牛角尖了，事实上两个不同类的对象之间没有比较的意义，肯定是不同的。</span>
				<span lang="EN-US">//</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">----------------------------------------------------------------------------------------------------------------------</span>
		</p>
<img src ="http://www.blogjava.net/ky1in/aggbug/60089.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ky1in/" target="_blank">小猪</a> 2006-07-25 23:42 <a href="http://www.blogjava.net/ky1in/archive/2006/07/25/60089.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java名词速查表</title><link>http://www.blogjava.net/ky1in/archive/2006/07/20/59095.html</link><dc:creator>小猪</dc:creator><author>小猪</author><pubDate>Wed, 19 Jul 2006 18:11:00 GMT</pubDate><guid>http://www.blogjava.net/ky1in/archive/2006/07/20/59095.html</guid><wfw:comment>http://www.blogjava.net/ky1in/comments/59095.html</wfw:comment><comments>http://www.blogjava.net/ky1in/archive/2006/07/20/59095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ky1in/comments/commentRss/59095.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ky1in/services/trackbacks/59095.html</trackback:ping><description><![CDATA[
		<h2 class="diaryTitle">
				<font face="Times New Roman" size="4">
						<br />
				</font>
		</h2>
		<font face="Times New Roman" size="4">				                                       
				 
				 </font>
		<p>
				<font face="Times New Roman" size="4">　　Abstract class 抽象类:抽象类是不允许实例化的类，因此一般它需要被进行扩展继承。 <br /><br />　　Abstract method 抽象方法:抽象方法即不包含任何功能代码的方法。 <br /><br />　　Access modifier 访问控制修饰符:访问控制修饰符用来修饰Java中类、以及类的方法和变量的访问控制属性。 <br /><br />　　Anonymous class 匿名类:当你需要创建和使用一个类，而又不需要给出它的名字或者再次使用的使用，就可以利用匿名类。 <br /><br />　　Anonymous inner classes 匿名内部类:匿名内部类是没有类名的局部内部类。 <br /><br />　　API 应用程序接口:提供特定功能的一组相关的类和方法的集合。 <br /><br />　　Array 数组:存储一个或者多个相同数据类型的数据结构，使用下标来访问。在Java中作为对象处理。 <br /><br />　　Automatic variables 自动变量:也称为方法局部变量method local variables，即声明在方法体中的变量。 <br /><br />　　AWT抽象窗口工具集:一个独立的API平台提供用户界面功能。 <br /><br />　　Base class 基类:即被扩展继承的类。 <br /><br />　　Blocked state 阻塞状态:当一个线程等待资源的时候即处于阻塞状态。阻塞状态不使用处理器资源 <br clear="all" />　　Call stack 调用堆栈:调用堆栈是一个方法列表，按调用顺序保存所有在运行期被调用的方法。 <br /><br />　　Casting 类型转换 :即一个类型到另一个类型的转换，可以是基本数据类型的转换，也可以是对象类型的转换。 <br /><br />　　char 字符:容纳单字符的一种基本数据类型。 <br /><br />　　Child class 子类:见继承类Derived class <br /><br />　　Class 类:面向对象中的最基本、最重要的定义类型。 <br /><br />　　Class members 类成员:定义在类一级的变量，包括实例变量和静态变量。 <br /><br />　　Class methods 类方法:类方法通常是指的静态方法，即不需要实例化类就可以直接访问使用的方法。 <br /><br />　　Class variable 类变量:见静态变量Static variable <br /><br />　　Collection 容器类:容器类可以看作是一种可以储存其他对象的对象，常见的容器类有Hashtables和Vectors。 <br /><br />　　Collection interface 容器类接口:容器类接口定义了一个对所有容器类的公共接口。 <br /><br />　　Collections framework 容器类构架:接口、实现和算法三个元素构成了容器类的架构。 <br /><br />　　Constructor 构造函数:在对象创建或者实例化时候被调用的方法。通常使用该方法来初始化数据成员和所需资源。 <br />　　Containers容器:容器是一种特殊的组件，它可以容纳其他组件。 <br /><br />　　Declaration 声明:声明即是在源文件中描述类、接口、方法、包或者变量的语法。 <br /><br />　　Derived class 继承类:继承类是扩展继承某个类的类。 <br /><br />　　Encapsulation 封装性:封装性体现了面向对象程序设计的一个特性，将方法和数据组织在一起，隐藏其具体实现而对外体现出公共的接口。 <br /><br />　　Event classes 事件类:所有的事件类都定义在java.awt.event包中。 <br /><br />　　Event sources 事件源:产生事件的组件或对象称为事件源。事件源产生事件并把它传递给事件监听器event listeners。 <br /><br />　　Exception 异常:异常在Java中有两方面的意思。首先，异常是一种对象类型。其次，异常还指的是应用中发生的一种非标准流程情况，即异常状态。 <br /><br />　　Extensibility扩展性:扩展性指的是面向对象程序中，不需要重写代码和重新设计，能容易的增强源设计的功能。 <br /><br />　　Finalizer 收尾:每个类都有一个特殊的方法finalizer，它不能被直接调用，而被JVM在适当的时候调用，通常用来处理一些清理资源的工作，因此称为收尾机制。 <br /><br />　　Garbage collection 垃圾回收机制:当需要分配的内存空间不再使用的时候，JVM将调用垃圾回收机制来回收内存空间。 <br /><br />　　Guarded region 监控区域:一段用来监控错误产生的代码。 <br /><br />　　Heap堆:Java中管理内存的结构称作堆。　</font>
		</p>
		<font face="Times New Roman" size="4">  　Identifiers 标识符:即指定类、方法、变量的名字。注意Java是大小写敏感的语言。 <br /><br />　　Import statement 引入语法:引入语法允许你可以不使用某个类的全名就可以参考这个类。 <br /><br />　　Inheritance 继承:继承是面向对象程序设计的重要特点，它是一种处理方法，通过这一方法，一个对象可以获得另一个对象的特征。 <br /><br />　　Inner classes 内部类:内部类与一般的类相似，只是它被声明在类的内部，或者甚至某个类方法体中。 <br /><br />　　Instance 实例:类实例化以后成为一个对象。 <br /><br />　　Instance variable 实例变量:实例变量定义在对象一级，它可以被类中的任何方法或者其他类的中方法访问，但是不能被静态方法访问。 <br /><br />　　Interface 接口:接口定义的是一组方法或者一个公共接口，它必须通过类来实现。 <br /><br />　　Java source file Java源文件:Java源程序包含的是Java程序语言计算机指令。 <br /><br />　　Java Virtual Machine (JVM) Java虚拟机:解释和执行Java字节码的程序，其中Java字节码由Java编译器生成。 <br /><br />　　javac Java编译器:Javac是Java编译程序的名称。 <br /><br />　　JVM Java虚拟机:见Java虚拟机 <br />　　Keywords 关键字:即Java中的保留字，不能用作其他的标识符。 <br /><br />　　Layout managers 布局管理器:布局管理器是一些用来负责处理容器中的组件布局排列的类。 <br /><br />　　Local inner classes 局部内部类:在方法体中，或者甚至更小的语句块中定义的内部类。 <br /><br />　　Local variable 局部变量:在方法体中声明的变量 <br /><br />　　Member inner classes 成员内部类:定义在封装类中的没有指定static修饰符的内部类。 <br /><br />　　Members 成员:类中的元素，包括方法和变量。 <br /><br />　　Method 方法:完成特定功能的一段源代码，可以传递参数和返回结果，定义在类中。 <br /><br />　　Method local variables 方法局部变量:见自动变量Automatic variables <br /><br />　　Modifier 修饰符:用来修饰类、方法或者变量行为的关键字。 <br /><br />　　Native methods 本地方法:本地方法是指使用依赖平台的语言编写的方法，它用来完成Java无法处理的某些依赖于平台的功能。 <br /><br />　　Object 对象:一旦类实例化之后就成为对象。 <br /><br />　　Overloaded methods 名称重载方法:方法的名称重载是指同一个类中具有多个方法，使用相同的名称而只是其参数列表不同。 <br /><br />　　Overridden methods 覆盖重载方法:方法的覆盖重载是指父类和子类使用的方法采用同样的名称、参数列表和返回类型。 <br />　　Package 包:包即是将一些类聚集在一起的一个实体。 <br /><br />　　Parent class 父类:被其他类继承的类。也见基类。 <br /><br />　　Private members 私有成员:私有成员只能在当前类被访问，其他任何类都不可以访问之。 <br /><br />　　Public members 公共成员:公共成员可以被任何类访问，而不管该类属于那个包。 <br /><br />　　Runtime exceptions 运行时间异常:运行时间异常是一种不能被你自己的程序处理的异常。通常用来指示程序BUG。 <br /><br />　　Source file 源文件:源文件是包含你的Java代码的一个纯文本文件。 <br /><br />　　Stack trace 堆栈轨迹:如果你需要打印出某个时间的调用堆栈状态，你将产生一个堆栈轨迹。 <br /><br />　　Static inner classes 静态内部类:静态内部类是内部类最简单的形式，它于一般的类很相似，除了被定义在了某个类的内部。 <br /><br />　　Static methods 静态方法:静态方法声明一个方法属于整个类，即它可以不需要实例化一个类就可以通过类直接访问之。 <br /><br />　　Static variable 静态变量:也可以称作类变量。它类似于静态方法，也是可以不需要实例化类就可以通过类直接访问。 <br />　　Superclass 超类:被一个或多个类继承的类。 <br /><br />　　Synchronized methods 同步方法:同步方法是指明某个方法在某个时刻只能由一个线程访问。 <br /><br />　　Thread 线程:线程是一个程序内部的顺序控制流。 <br /><br />　　Time-slicing 时间片:调度安排线程执行的一种方案。 <br /><br />　　Variable access 变量访问控制:变量访问控制是指某个类读或者改变一个其他类中的变量的能力。 <br /><br />　　Visibility 可见性: 可见性体现了方法和实例变量对其他类和包的访问控制。 <br /><br /><br />　　<strong>J2EE相关名词解释:</strong><br /><br />　　容器：充当中间件的角色 <br /><br />　
　WEB容器：给处于其中的应用程序组件（JSP，SERVLET）提供一个环境，使JSP,SERVLET直接更容器中的环境变量接口交互，不必关注其
它系统问题。主要有WEB服务器来实现。例如：TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB
APPLICATION　　EJB容器：Enterprise java bean
容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器，马上就会被容器进行高效率的管理。并
且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。 <br /><br />　　WEB容器和EJB容器在原理上是大体相同的，更多的区别
是被隔离的外界环境。WEB容器更多的是跟基于HTTP的请求打交道。而EJB容器不是。它是更多的跟数据库、其它服务打交道。但他们都是把与外界的交互
实现从而减轻应用程序的负担。例如SERVLET不用关心HTTP的细节，直接引用环境变量session,request,response就行、
EJB不用关心数据库连接速度、各种事务控制，直接由容器来完成。 <br /><br />　　RMI/IIOP:远程方法调用/internet对象请求中
介协议，他们主要用于通过远程调用服务。例如，远程有一台计算机上运行一个程序，它提供股票分析服务，我们可以在本地计算机上实现对其直接调用。当然这是
要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。 <br /><br />　　JNDI:JAVA命名目录服务。主要提供的功能是：提供一个目录系统，让其它各地的应用程序在其上面留下自己的索引，从而满足快速查找和定位分布式应用程序的功能。 <br /><br />　　JMS:JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。 <br /><br />　　JAVAMAIL:JAVA邮件服务。提供邮件的存储、传输功能。他是JAVA编程中实现邮件功能的核心。相当MS中的EXCHANGE开发包。 <br /><br />　　JTA：JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。<br />　　<br />　　JAF:JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。 <br /><br />　　EAI:企业应用集成。是一种概念，从而牵涉到好多技术。J2EE技术是一种很好的集成实现。<br /> 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器</font>
<img src ="http://www.blogjava.net/ky1in/aggbug/59095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ky1in/" target="_blank">小猪</a> 2006-07-20 02:11 <a href="http://www.blogjava.net/ky1in/archive/2006/07/20/59095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>名词解释</title><link>http://www.blogjava.net/ky1in/archive/2006/07/20/59093.html</link><dc:creator>小猪</dc:creator><author>小猪</author><pubDate>Wed, 19 Jul 2006 17:15:00 GMT</pubDate><guid>http://www.blogjava.net/ky1in/archive/2006/07/20/59093.html</guid><wfw:comment>http://www.blogjava.net/ky1in/comments/59093.html</wfw:comment><comments>http://www.blogjava.net/ky1in/archive/2006/07/20/59093.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ky1in/comments/commentRss/59093.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ky1in/services/trackbacks/59093.html</trackback:ping><description><![CDATA[
		<br /> Servlet<br />     是符合Servlet API规范的，在Web服务器上装载和执行的能够接受客户请求（通过Web服务器），执行任务并返回结果的Java类。<br />那Servlet container是指什么?<br />-------------------------------------------------------------------------------------------------<br />servlet container (Tomcat是一中servlet container)<br />　　一个提供网络服务的容器，通过它，请求和应答被传送，请求被解码，应答被格式化。所有的servlet container必须支持HTTP协议的请求和应答，也可以支持其它的请求应答型协议比如HTTPS。 <br />
			--------------------------------------------------------------------------------------------------<br /><div class="posthead"><h2></h2><a href="http://blog.bcchinese.net/shiaohuazhang/category/4581.aspx"></a><!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://blog.bcchinese.net/shiaohuazhang/archive/2006/03/27/61651.aspx"
dc:identifier="http://blog.bcchinese.net/shiaohuazhang/archive/2006/03/27/61651.aspx"
dc:title="名词解释之中间件"
trackback:ping="http://blog.bcchinese.net/shiaohuazhang/services/trackbacks/61651.aspx" />
</rdf:RDF>
--></div>中间件 
		<br />   
我们最早知道的中间件是一个称为Tuxedo的东西，实质上它是一个交易中间件。1998年IDC公司对于中间件有一个定义，并根据用途将其划分为6个类
别。如今所保留下来的只有消息中间件和交易中间件，其他的已经被逐步融合到其他产品中了，被包裹进去了，在市场上已经没有单独的产品形态出现了。例如，当
时有一个叫屏幕数据转换的中间件，其主要是针对IBM大机终端而设计产品，用于将IBM大机终端的字符界面转化为用户所喜欢的图形界面，类似的东西当时都
称为中间件。但随着IBM大机环境越来越少，但是盛行一时的此类中间件如今已经很少再被单独提及。 <br /><br />     2000年前后，互联网盛行起来，随之产生了一个新的东西，就是应用服务器。实际上，交易中间件也属于是应用服务器，为了区分，人们传统的交易中间件称为
分布交易中间件，因它主要应用在分布式环境下，而将新的应用服务器，称为J2EE中间件(WebSphere
就被包含在这个范畴里面)，到目前为止，这都是市场上非常热门的产品。 <br /><br />      EAI(企业应用程序集成)概念出来之后，市场上又推出了一些新的软件产品，，例如工作流、Portal等，但从分类上不知道怎么归类，向上不能够划归应
用，往下又不能归入操作系统，于是就把它归入了中间件，如此中间件的概念更加扩大了。目前，市场上对于中间件，各家的说法不一，客观上也导致了理解上母丛
有浴?<br /><br />      如今，市场上又推出了很多新的概念，例如三层结构、构件、Web服务，其中风头最劲的当属SOA(面向服务的架构)。实际上，他们
都不是一个产品，而是一种技术的实现方法，是开发一个软件的一种方法论。我们知道，最早软件开发方法就是编程、写代码的，其缺点在于无法复用，为此提出了
构件化的软件开发方法，通过把编程中一些常用功能进行封装，并规范统一接口，供其它程序调用，例如我们开发一个新软件，可能要用到构件1、构件2、构件
3，那么，我们只要对其进行本地组装，就可以得到我们想要的应用软件。在互联网得到普及重视之后，软件开发方法在构件化基础上又有新发展，核心思想是软件
并不需要囊括构件，所需要的仅仅是构件的运行结果，例如编写一个通信传输软件，就可以到网上寻找构件，并提出服务请求，得到结果后返回，而不需要下载构件
并打包，这就是现在所说的SOA。想要现实SOA，就要规范构件接口，同时还要规范构件所提交的服务结果，如此，新的软件开发的思想才能够行的通。但
SOA并不是一个产品，而是一种思想方法，而实现这种方法的基础，如今看来只有中间件。 <br /><br />那么，到底什么才是中间件，什么不是中间件?
中间件应该具备两个关键特征:首先要为上层的应用层服务，这是一个基本条件;此外，又必须连接到操作系统的层面，并却保持运行工作状态，具备了这样两个特
征才能称为中间件。现在很多人把开发工具也称为中间件是不合适的，因为开发工具开发出来的软件，并不依赖开发工具与底层操作系统连接。<br /><img src ="http://www.blogjava.net/ky1in/aggbug/59093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ky1in/" target="_blank">小猪</a> 2006-07-20 01:15 <a href="http://www.blogjava.net/ky1in/archive/2006/07/20/59093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于在JAVA api文档里面找不到print() printf()这两个method的解释.</title><link>http://www.blogjava.net/ky1in/archive/2006/07/19/59089.html</link><dc:creator>小猪</dc:creator><author>小猪</author><pubDate>Wed, 19 Jul 2006 15:26:00 GMT</pubDate><guid>http://www.blogjava.net/ky1in/archive/2006/07/19/59089.html</guid><wfw:comment>http://www.blogjava.net/ky1in/comments/59089.html</wfw:comment><comments>http://www.blogjava.net/ky1in/archive/2006/07/19/59089.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ky1in/comments/commentRss/59089.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ky1in/services/trackbacks/59089.html</trackback:ping><description><![CDATA[    前段时间我奇怪为什么在api文档的System.out里面找不到printf()和print().那是因为System类里面的out是java.io.PrintStream类的对象printf()和print()都是在PrintStream里面定义的.而api文档下面的"另请参见"里面没有把PrintStream里面所有的method列举出来.<br /><img src="http://www.blogjava.net/images/blogjava_net/ky1in/api%E4%B8%AD%E5%9C%A8System.out%E4%B8%AD%E4%B8%8D%E8%83%BD%E7%9B%B4%E6%8E%A5%E6%89%BE%E5%88%B0printf,println%E7%9A%84%E5%8E%9F%E5%9B%A0.JPG" alt="api中在System.out中不能直接找到printf,println的原因.JPG" border="0" height="422" width="670" /><br /><br /><b>只要你找到PrintStream类,你就能看见print()和printf()这两个method.</b><br /><img src="http://www.blogjava.net/images/blogjava_net/ky1in/%E5%9C%A8PrintStream%20%E7%B1%BB%E9%87%8C%E6%89%BEprint%EF%BC%88%EF%BC%89.JPG" alt="在PrintStream 类里找print（）.JPG" border="0" height="384" width="512" /><br /><br /><img src="file:///C:/DOCUME%7E1/CHENSH%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /><br /><br /><img src ="http://www.blogjava.net/ky1in/aggbug/59089.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ky1in/" target="_blank">小猪</a> 2006-07-19 23:26 <a href="http://www.blogjava.net/ky1in/archive/2006/07/19/59089.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>core java(7th edition) 读书笔记</title><link>http://www.blogjava.net/ky1in/archive/2006/07/17/58384.html</link><dc:creator>小猪</dc:creator><author>小猪</author><pubDate>Mon, 17 Jul 2006 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/ky1in/archive/2006/07/17/58384.html</guid><wfw:comment>http://www.blogjava.net/ky1in/comments/58384.html</wfw:comment><comments>http://www.blogjava.net/ky1in/archive/2006/07/17/58384.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ky1in/comments/commentRss/58384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ky1in/services/trackbacks/58384.html</trackback:ping><description><![CDATA[
		<font face="Arial" size="2">  <br /><br /><br /></font>
		<div align="left">2006年7月9日                          星期日           阴雨<br />
昨天晚上看了前言和第一章.跟很过书一样,主要还是在推销自己的东西啦.<br />
在推销的同时也总体介绍了一下java的一些特性.<br /><br /><br />
2006年7月10日 星期一 阴雨<br />
p15 第3行 java-version 应该改为java -version 书中少了空格.<br />
p25 第7和第8行的命令要注意大小写.<br />
        javac ImageViewer.java          中的"I"不能写成i  ,V不能写成v   .<br />
        java ImageViewer                    中的"I"不能写成i  ,V不能写成v   .<br />
否则会出现错误<br /><img src="http://www.blogjava.net/images/blogjava_net/ky1in/%E6%B2%A1%E6%B3%A8%E6%84%8F%E5%91%BD%E4%BB%A4%E7%9A%84%E5%A4%A7%E5%B0%8F%E5%86%99%E5%87%BA%E7%8E%B0%E7%9A%84%E9%94%99%E8%AF%AF.jpg" alt="没注意命令的大小写出现的错误.jpg" border="0" height="328" width="500" /><br />
改过来以后会显示:<br /><img src="http://www.blogjava.net/images/blogjava_net/ky1in/%E6%9B%B4%E6%94%B9%E5%91%BD%E4%BB%A4%E5%A4%A7%E5%B0%8F%E5%86%99%E9%94%99%E8%AF%AF%E4%BB%A5%E5%90%8E%E7%9A%84%E7%94%BB%E9%9D%A2.jpg" alt="更改命令大小写错误以后的画面.jpg" border="0" height="375" width="500" /><br />
显示一个窗口程序可以显示gif格式的图片.<br />
结束程序后出现下面的东东:<br />
C:\corejavabook\v1\v1ch2\ImageViewer&gt;<br />
2006年7月13日               星期四          晴<br />
        昨天健身腿练得太猛。在床上躺了一天。下楼梯都痛。考试停了一个星期没练就不适应了。哎。<br />
        转入正题：p35   中有个例子不是很明白:<br />
       "例如,0.125可以表示成Ox1.0p-3.在十六进制表示法中,使用p表示指数,而不是e"<br />
        0.125是十进制数的话,它的十六进制数应该是0.2才对啊.p表示以16为底,写成科学记数法应该是<br />Ox2p-1才对吧?难道是应为Ox1.0p-3中只有后面的-3是十六进制数,1.0是2进制数而且是以2为底?<br />
         问题解决:Ox1.0和p后面的-3是用十六进制表示的,底数默认为2.<br /><br />
2006年7月14日                    星期五                         晴<br /><br />p42 字条警告处的例子"例如,1&lt;&lt;35与1&lt;&lt;3或8是相同的." 我写了个验证程序,怎么输出结果不同?<br />
public class Test1<br />
{<br />
public static void main(String[] args)<br />
{<br />
int i=1;<br />
int b=0;<br /><br />
b=i&lt;&lt;35;<br />
System.out.println("i&lt;&lt;35"+b);<br /><br />
b=i&lt;&lt;3;<br />
System.out.println("i&lt;&lt;3"+b);<br /><br />
b=i&lt;&lt;8;<br />
System.out.println("i&lt;&lt;8"+b);<br /><br />
b=i&lt;&lt;29;<br />
System.out.println("i&lt;&lt;29"+b);<br />
}<br />
}<br /><br /><br />
输出结果为<br />
i&lt;&lt;358<br />
i&lt;&lt;38<br />
i&lt;&lt;8256<br />
i&lt;&lt;29536870912<br /><br />
解答:<br />
原来是1&lt;&lt;35==1&lt;&lt;3==8的意思。<br />
验证程序应该在输出串后面加个等号<br /><br />
public class Test1<br />
{<br />
public static void main(String[] args)<br />
{<br />
int i=1;<br />
int b=0;<br /><br />
b=i&lt;&lt;35;<br />
System.out.println("i&lt;&lt;35"+b);<br /><br />
b=i&lt;&lt;3;<br />
System.out.println("i&lt;&lt;3="+b);<br /><br />
b=i&lt;&lt;8;<br />
System.out.println("i&lt;&lt;8="+b);<br /><br />
b=i&lt;&lt;29;<br />
System.out.println("i&lt;&lt;29="+b);<br />
}<br />
}<small></small><br /><small></small></div>
		<br />
		
2006年7月16日                        星期日                    雨<br />
core java p33"注意"字条处：System.out不是有个 print方法么？在apidocument里怎么没看见？<br /><img src="/WebResource.axd?d=pLXXeGbWF7eXU8SMs2-GFZvUWY2JNH05dFx5YzJhGUYAYJAFEaTEq36NAhTPy7_KekvzDFwt8wvQWdByvJIGWdEq6x2KpKD80&amp;t=632785713320000000" height="1" width="1" /><img src="http://www.blogjava.net/images/blogjava_net/ky1in/System.out%E4%B8%8D%E6%98%AF%E6%9C%89%E4%B8%AA%20print%E6%96%B9%E6%B3%95%E4%B9%88%EF%BC%9Fdoc%E9%87%8C%E6%80%8E%E4%B9%88%E6%B2%A1%E7%9C%8B%E8%A7%81%EF%BC%9F.JPG" alt="System.out不是有个 print方法么？doc里怎么没看见？.JPG" border="0" height="3" width="8" /><br /><font face="Arial" size="2">core java 书上说有的。难道是api版本问题？？<br /><img src="http://www.blogjava.net/images/blogjava_net/ky1in/there%20is%20no%20print%20method%20in%20api%20document%21.JPG" alt="there is no print method in api document!.JPG" border="0" height="6" width="9" /><br />还真的有...中文api document是不是过时的版本做的？寒<br />这个问题已经解决.<a href="">点这里看解答</a><br /><br /><img src="http://www.blogjava.net/images/blogjava_net/ky1in/System.out.print%20%E8%BF%98%E7%A1%AE%E5%AE%9E%E6%9C%89%EF%BC%81.bmp" alt="System.out.print 还确实有！.bmp" border="0" height="5" width="5" /><br /><br /><br />2006年7月18日                        星期二                    小雨<br />关于代码单元和代码点的理解：<br />1、一个代码点可能包含一个或两个代码单元。<br />2、在我的测试程序中，“我 ”也只占用一个代码单元。即代码点数等于代码单元数。<br />下面是在<a href="http://www.unicode.org/faq/">unicode的官方网站</a>上找到的关于unicode的中文，韩文，日文的一些说明：</font><br />Q: I have heard that UTF-8 does not support some 
Japanese characters. Is this correct?
<p class="a">A: There is a lot of misinformation floating around about the support 
of Chinese, Japanese and Korean (CJK) characters. The Unicode Standard supports 
<b>all </b>of the CJK characters from JIS X 0208, JIS X 0212, JIS X 0221, or JIS 
X 0213, for example, and many more. This is true no matter which encoding form 
of Unicode is used: UTF-8, UTF-16, or UTF-32.</p><p class="a">Unicode supports over 70,000 CJK characters right now, and work is 
underway to encode further additions. The International Standard ISO/IEC 10646 
and the Unicode Standard are completely synchronized in repertoire and content. 
And that means that Unicode has the same repertoire as GB 18030, since that also 
is synchronized with ISO 10646 — although with a different ordering and byte 
format. </p><font face="Arial" size="2">无论是那个编码方式（</font>UTF-8, UTF-16, or UTF-32<font face="Arial" size="2">）对中文,韩文,日文 支持的字数都一样么?码数好像是不一样吧?.<br /><br /><br />我的测试程序如下:<br />public class test0 {<br />    public static void main(String[] args)<br />         {String a="我 ";<br />          int cuCount=a.length();<br />          System.out.println("the number of code units required for string \"test\" in the UTF-16 encoding is "+cuCount);<br />          int cpCount=a.codePointCount(0, a.length());<br />          System.out.println("the number of code points is "+cpCount);<br />          System.out.println("the end of string \"我 \" is "+a.charAt(a.length()-1));          <br />          <br />         }<br />          <br />} <br /><br />输出结果为:<br />the number of code units required for string "test" in the UTF-16 encoding is 2<br />the number of code points is 2<br />the end of string "我 " is [空格]<br /><br /></font>在eclipse里面找到了set encoding选项，在里面可以设置编码方式。<br /><br /><br />
		
2006年7月27日       星期四             雨<br />core java上对int codePointCount(int startIndex,int endIndex)的解释中一个名词没弄明白。<br />int codePointCount(int startIndex, int endIndex) 5.0<br /><br />returns the number of code points between startIndex and endIndex - 1. <font color="#008000"><u>Unpaired surrogates</u></font> are counted as code points.<br /><br />中文api对int codePointCount(int startIndex,int endIndex)的解释：<br />返回此 String 的指定文本范围中的 Unicode 代码点数。文本范围始于指定的 beginIndex，一直到索引 endIndex - 1 处的 char。因此，该文本范围的长度（在 char 中）是 endIndex-beginIndex。该文本范围内未配对的代理项作为一个代码点计数。<br /><br />MSDN上对Surrogates的解释：<br />A <em>surrogate pair</em> is a pair of UTF-16 code values that
represent a single supplementary character; each of the two code values
in the pair is called a <i>surrogate</i>. The first (high) surrogate
is a 16-bit code value in the range U+D800 to U+DBFF. The second (low)
surrogate is a 16-bit code value in the range U+DC00 to U+DFFF.<br /><br />原来surrogate 就是unicode-16编码里面的高8位或低8位存储单元。而Unpaired surrogates的意思应该就是指非unicode匹配字符了。而且这些不匹配的字符codePointCount()方法会以8个bit作为计数单元。<br /><br /><img src ="http://www.blogjava.net/ky1in/aggbug/58384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ky1in/" target="_blank">小猪</a> 2006-07-17 11:11 <a href="http://www.blogjava.net/ky1in/archive/2006/07/17/58384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的java开发试验</title><link>http://www.blogjava.net/ky1in/archive/2006/07/16/58385.html</link><dc:creator>小猪</dc:creator><author>小猪</author><pubDate>Sat, 15 Jul 2006 19:54:00 GMT</pubDate><guid>http://www.blogjava.net/ky1in/archive/2006/07/16/58385.html</guid><wfw:comment>http://www.blogjava.net/ky1in/comments/58385.html</wfw:comment><comments>http://www.blogjava.net/ky1in/archive/2006/07/16/58385.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/ky1in/comments/commentRss/58385.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ky1in/services/trackbacks/58385.html</trackback:ping><description><![CDATA[								2006年7月11日                              星期二                                            阴雨<br />    今天按照core java（7th edition）p14页2.1.2 设置执行路径。居然错误频频。<br />
        书上可以用java-version命令检查设置是否正确。其实应该是：path[空格]-version。中文版的编辑真是找骂。中间的空格居然给掉了。还好手头上还有一本英文版的电子书。<br />
        还有就是现在sun把netbeans跟jdk捆绑下载了。下载地址也改变了。直接到sun网站找吧。<br /><br />ps:不知道改错了什么.运行netbeans的时候竟然提示找不到java.exe.难道是path搞错了?我在安装的时候改了netbeans的安装路径.<br />
         卸载了jdk和netbeans以后重新安装后可以运行netbeans了.难道现在的jdk可以自己修改path路径了?<br />
        再ps:因为core java里介绍的是eclipse所以又跑去下载了eclipse.<br />---------------------------------------------------------<br />2006年7月19日         星期三              晴<br />今天帮我的eclipse装上了多国语言包.不过我下载的是3.2版的eclipse.没有中文的帮助文档.看eclipse从入门到精通这本书上说有中文帮助文档的.<br />-------------------------------------------------------------------------------------<br />2006年7月22日         星期六              晴<br />今天在csdn上发帖问了安装eclipse的多国语言包以后为什么没有中文帮助文档的问题。<br />原来中文帮助文档是在另外一个单独的压缩包里的。3.2的中文帮助文档的压缩包还没发布，要等等了。<br /><br /><br /><br /><img src ="http://www.blogjava.net/ky1in/aggbug/58385.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ky1in/" target="_blank">小猪</a> 2006-07-16 03:54 <a href="http://www.blogjava.net/ky1in/archive/2006/07/16/58385.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>