Thursday, October 9, 2008
Sunday, October 5, 2008
hashcode
hashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。 hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。 如果根据 equals(Object) 方法,两个对象是相等的,那么在两个对象中的每个对象上调用 hashCode 方法都必须生成相同的整数结果。 以下情况不 是必需的:如果根据 equals(java.lang.Object) 方法,两个对象不相等,那么在两个对象中的任一对象上调用 hashCode 方法必定会生成不同的整数结果。但是,程序员应该知道,为不相等的对象生成不同整数结果可以提高哈希表的性能。 实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。) 当equals方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。
解析Java对象的equals()和hashCode()的使用
解析Java对象的equals()和hashCode()的使用
在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况 下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是在一些情况下,这两个函数最好是自己设计,才能确保整个程序的正常运行。最常见的是当 一个对象被加入收集对象(collection object)时,这两个函数必须自己设计。更细化的定义是:如果你想将一个对象A放入另一个收集对象B里,或者使用这个对象A为查找一个元对象在收集对 象B里位置的钥匙,并支持是否容纳,删除收集对象B里的元对象这样的操作,那么,equals()和hashCode()函数必须开发者自己定义。其他情 况下,这两个函数是不需要定义的。equals():
它是用于进行两个对象的比较的,是对象内容的比较,当然也能用于进行对象参阅值的比较。什么是对象参阅值的比较?就是两个参阅变量的值得比较,我们 都知道参阅变量的值其实就是一个数字,这个数字可以看成是鉴别不同对象的代号。两个对象参阅值的比较,就是两个数字的比较,两个代号的比较。这种比较是默 认的对象比较方式,在Object这个对象中,这种方式就已经设计好了。所以你也不用自己来重写,浪费不必要的时间。对象内容的比较才是设计equals()的真正目的,Java语言对equals()的要求如下,这些要求是必须遵循的。否则,你就不该浪费时间:
对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”。
反射性:x.equals(x)必须返回是“true”。
类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”。
还有一致性:如果x.equals(y)返回是“true”,只要x和y内容一直不变,不管你重复x.equals(y)多少次,返回都是“true”。
任何情况下,x.equals(null),永远返回是“false”;x.equals(和x不同类型的对象)永远返回是“false”。 hashCode():这 个函数返回的就是一个用来进行赫希操作的整型代号,请不要把这个代号和前面所说的参阅变量所代表的代号弄混了。后者不仅仅是个代号还具有在内存中才查找对 象的位置的功能。hashCode()所返回的值是用来分类对象在一些特定的收集对象中的位置。这些对象是HashMap, Hashtable, HashSet,等等。这个函数和上面的equals()函数必须自己设计,用来协助HashMap, Hashtable, HashSet,等等对自己所收集的大量对象进行搜寻和定位。这些收集对象究竟如何工作的,想象每个元对象hashCode是一个箱子的 编码,按照编码,每个元对象就是根据hashCode()提供的代号归入相应的箱子里。所有的箱子加起来就是一个HashSet,HashMap,或 Hashtable对象,我们需要寻找一个元对象时,先看它的代码,就是hashCode()返回的整型值,这样我们找到它所在的箱子,然后在箱子里,每 个元对象都拿出来一个个和我们要找的对象进行对比,如果两个对象的内容相等,我们的搜寻也就结束。这种操作需要两个重要的信息,一是对象的 hashCode(),还有一个是对象内容对比的结果。hashCode()的返回值和equals()的关系如下:
如果x.equals(y)返回“true”,那么x和y的hashCode()必须相等。
如果x.equals(y)返回“false”,那么x和y的hashCode()有可能相等,也有可能不等。
为什么这两个规则是这样的,原因其实很简单,拿HashSet来说吧,HashSet可以拥有一个或更多的箱子,在同一个箱子中可以有一个 或更多的独特元对象(HashSet所容纳的必须是独特的元对象)。这个例子说明一个元对象可以和其他不同的元对象拥有相同的hashCode。但是一个 元对象只能和拥有同样内容的元对象相等。所以这两个规则必须成立。设计这两个函数所要注意到的:如果你设计的对象类型并不使用于收集性对象,那么没有必要自己再设计这两个函数的处理方式。这是正确的面向对象设计方法,任何用户一时用不到的功能,就先不要设计,以免给日后功能扩展带来麻烦。
如果你在设计时想别出心裁,不遵守以上的两套规则,那么劝你还是不要做这样想入非非的事。我还没有遇到过哪一个开发者和我说设计这两个函数要违背前面说的两个规则,我碰到这些违反规则的情况时,都是作为设计错误处理。
当一个对象类型作为收集型对象的元对象时,这个对象应该拥有自己处理equals(),和/或处理hashCode()的设计,而且要遵守前面所说 的两种原则。equals()先要查null和是否是同一类型。查同一类型是为了避免出现ClassCastException这样的异常给丢出来。查 null是为了避免出现NullPointerException这样的异常给丢出来。如果你的对象里面容纳的数据过多,那么这两个函数 equals()和hashCode()将会变得效率低。如果对象中拥有无法serialized的数据,equals()有可能在操作中出现错误。想象 一个对象x,它的一个整型数据是transient型(不能被serialize成二进制数据流)。然而equals()和hashCode()都有依靠 这个整型数据,那么,这个对象在serialization之前和之后,是否一样?答案是不一样。因为serialization之前的整型数据是有效的 数据,在serialization之后,这个整型数据的值并没有存储下来,再重新由二进制数据流转换成对象后,两者(对象在serialization 之前和之后)的状态已经不同了。这也是要注意的。知道以上这些能够帮助你:1. 进行更好的设计和开发。2. 进行更好的测试案例开发。3. 在面试过程中让面试者对你的学识渊博感到满意。
在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况 下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是在一些情况下,这两个函数最好是自己设计,才能确保整个程序的正常运行。最常见的是当 一个对象被加入收集对象(collection object)时,这两个函数必须自己设计。更细化的定义是:如果你想将一个对象A放入另一个收集对象B里,或者使用这个对象A为查找一个元对象在收集对 象B里位置的钥匙,并支持是否容纳,删除收集对象B里的元对象这样的操作,那么,equals()和hashCode()函数必须开发者自己定义。其他情 况下,这两个函数是不需要定义的。equals():
它是用于进行两个对象的比较的,是对象内容的比较,当然也能用于进行对象参阅值的比较。什么是对象参阅值的比较?就是两个参阅变量的值得比较,我们 都知道参阅变量的值其实就是一个数字,这个数字可以看成是鉴别不同对象的代号。两个对象参阅值的比较,就是两个数字的比较,两个代号的比较。这种比较是默 认的对象比较方式,在Object这个对象中,这种方式就已经设计好了。所以你也不用自己来重写,浪费不必要的时间。对象内容的比较才是设计equals()的真正目的,Java语言对equals()的要求如下,这些要求是必须遵循的。否则,你就不该浪费时间:
对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”。
反射性:x.equals(x)必须返回是“true”。
类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”。
还有一致性:如果x.equals(y)返回是“true”,只要x和y内容一直不变,不管你重复x.equals(y)多少次,返回都是“true”。
任何情况下,x.equals(null),永远返回是“false”;x.equals(和x不同类型的对象)永远返回是“false”。 hashCode():这 个函数返回的就是一个用来进行赫希操作的整型代号,请不要把这个代号和前面所说的参阅变量所代表的代号弄混了。后者不仅仅是个代号还具有在内存中才查找对 象的位置的功能。hashCode()所返回的值是用来分类对象在一些特定的收集对象中的位置。这些对象是HashMap, Hashtable, HashSet,等等。这个函数和上面的equals()函数必须自己设计,用来协助HashMap, Hashtable, HashSet,等等对自己所收集的大量对象进行搜寻和定位。这些收集对象究竟如何工作的,想象每个元对象hashCode是一个箱子的 编码,按照编码,每个元对象就是根据hashCode()提供的代号归入相应的箱子里。所有的箱子加起来就是一个HashSet,HashMap,或 Hashtable对象,我们需要寻找一个元对象时,先看它的代码,就是hashCode()返回的整型值,这样我们找到它所在的箱子,然后在箱子里,每 个元对象都拿出来一个个和我们要找的对象进行对比,如果两个对象的内容相等,我们的搜寻也就结束。这种操作需要两个重要的信息,一是对象的 hashCode(),还有一个是对象内容对比的结果。hashCode()的返回值和equals()的关系如下:
如果x.equals(y)返回“true”,那么x和y的hashCode()必须相等。
如果x.equals(y)返回“false”,那么x和y的hashCode()有可能相等,也有可能不等。
为什么这两个规则是这样的,原因其实很简单,拿HashSet来说吧,HashSet可以拥有一个或更多的箱子,在同一个箱子中可以有一个 或更多的独特元对象(HashSet所容纳的必须是独特的元对象)。这个例子说明一个元对象可以和其他不同的元对象拥有相同的hashCode。但是一个 元对象只能和拥有同样内容的元对象相等。所以这两个规则必须成立。设计这两个函数所要注意到的:如果你设计的对象类型并不使用于收集性对象,那么没有必要自己再设计这两个函数的处理方式。这是正确的面向对象设计方法,任何用户一时用不到的功能,就先不要设计,以免给日后功能扩展带来麻烦。
如果你在设计时想别出心裁,不遵守以上的两套规则,那么劝你还是不要做这样想入非非的事。我还没有遇到过哪一个开发者和我说设计这两个函数要违背前面说的两个规则,我碰到这些违反规则的情况时,都是作为设计错误处理。
当一个对象类型作为收集型对象的元对象时,这个对象应该拥有自己处理equals(),和/或处理hashCode()的设计,而且要遵守前面所说 的两种原则。equals()先要查null和是否是同一类型。查同一类型是为了避免出现ClassCastException这样的异常给丢出来。查 null是为了避免出现NullPointerException这样的异常给丢出来。如果你的对象里面容纳的数据过多,那么这两个函数 equals()和hashCode()将会变得效率低。如果对象中拥有无法serialized的数据,equals()有可能在操作中出现错误。想象 一个对象x,它的一个整型数据是transient型(不能被serialize成二进制数据流)。然而equals()和hashCode()都有依靠 这个整型数据,那么,这个对象在serialization之前和之后,是否一样?答案是不一样。因为serialization之前的整型数据是有效的 数据,在serialization之后,这个整型数据的值并没有存储下来,再重新由二进制数据流转换成对象后,两者(对象在serialization 之前和之后)的状态已经不同了。这也是要注意的。知道以上这些能够帮助你:1. 进行更好的设计和开发。2. 进行更好的测试案例开发。3. 在面试过程中让面试者对你的学识渊博感到满意。
Friday, September 26, 2008
铁齿李肇星这样向美国人解释西藏,当场雷倒对方
有一次,他和美国一位领导人会谈,对方说,我对中国“侵略”西藏感到非常不满。李肇星立刻问他,你了解西藏的历史吗?对方摇摇头。李肇星说:“我可以向您解释,但您理解起来可能会有点困难,因为西藏被划入中国版图的时候,还没有美国这个国家。”
十一出游完全攻略
十一出游完全攻略:全国最宰人的景点 十一黄金旅游周马上就来了,首先,提前祝朋友们节日快乐!有出行旅游的,祝旅途愉快!一路平安! 中国已是一个旅游大国,旅游产业如朝阳般蓬勃上升。但是,由于景区所在的地方管理理念落后,景区管理措施不到位,监督跟不上,缺少必要的法规制度,加上地方保护主义严重,出现问题,一致对外,“宰人”现象极为普遍,让广大游客蒙受了很重的经济损失和心灵创伤。以下是千千结总结出的中国最黑的十五大风景区。 同时也希望网友们晒出自己所知道的“黑”景点,以飨更多的网友出游中能及时注意,掌握完全攻略…… 1、北京十三陵和长城:进陵留下买路钱出陵更要买路钱 别以为皇城根下就盛世太平,别以为天子脚下就安然无恙,北京的八达岭、十三陵,宰你没商量。这里主要讲十三陵一带骗人和宰人的事情。 一是让你留钱还愿。黑导游开始非常热情带着大家游陵园,还有规矩,从左边进去,右边出来,男人先迈左脚,女人先卖右脚,让你觉得这世上会有这么热心的人。如果你在长城和车上被宰了,以为可以结束旅游被宰的恐怖事情了,别着急,宰你的时候还没到。往右边出来,黑导游会把游客带进一个屋子,说十三陵是阴朝陵墓,你们进去惊动他们了,烧钱给自己还愿,家里有几个人就还几个愿,保太平,保平安。一个愿一百块。得,几百大洋又出去了。 二是小庙滥竽充数十三陵。这种现象那些黑车带你去的最多。昌平十三陵周边一些农民家小院,经过稍一改造,烧点香火弥漫着,取个名字,就说是明朝哪个帝王哪个帝王的陵墓。而且有的这种小院就在村委会边上,一墙之隔。宰人招数仍然和上面的黑导招数大同小异。工作人员会让你选香烛去烧,看他也没有收钱意思,就多多益善地取香烛烧,烧完了,就会有人要求你捐功德钱。一支香定价一百,给你的时候都是一把十多支,烧完了再算钱。不够?不够可以刷卡。边上不显眼的地方真有一个刷卡机。 三是中医药和玉石店。中医药打着北京中医药大学的牌子,墙上琳琅满目挂了国家领导人视察的照片和外国元首视察的照片,以及他们的题字。进一个屋,导游请来国家某某领导人的保健医生一生讲课,寥寥数语后,进来十来个所谓的专家。这些专家也是国家某某领导人的保健医生。一对一的给游客们把脉,问诊,面对面直接对话,你会觉得受宠若惊,也享受了国家领导人的保健待遇。这些专家就喋喋不休说出你一大堆病症,给你开出处方,旁边的工作人员马山配合地走上来带你去买药。那些药都价格惊人。另外就是那些玉石店,导游会说是国家某某领导人的儿子开发出来的,绝对的真实,绝对的便宜。拿回家摔了,可以寄回来换新的。走进店,每个导游会请一位专业的玉器签定专家给你解说。然后就是购买玉器、貔貅等。还不能讲价,都说卖的是货真价实。遇到这种情况,诸位擦亮眼睛了。 2、长江三峡:套票里做文章 秋高气爽,坐船游览长江三峡是非常惬意的事情。长江三峡的重要旅游点集中在重庆,沿途有重庆大足时刻、武隆仙女山、丰都鬼城、雪玉洞、大三峡、小三峡、三峡大坝、武汉、黄鹤楼。三峡的旅游黑点更多集中在套票里,说的是套票,进去了还有这样那样的旅游点得再掏腰包。吃在重庆,玩在重庆,三峡人耿直憨厚,旅游点周边的农家菜、农家乐不会向北京一样宰人,都明码标价,并且基本上是保质保量。三峡旅游的宰还有就是买东西,如果你上了黑导游的船,一定要睁开眼镜,勒紧腰包,稍不留神,有可能两块钱的石头,骗你花一万块钱买下来还乐滋滋的。 3、西双版纳:“洞房”的温柔陷阱 在西双版纳有许多所谓的民俗风情村。比如西双版纳原始森林公园,就有一个爱伲部落。游客进入村寨以后,打扮得花枝招展的少女将游人热情地迎进二层竹楼,参观其民居。一名女子稍作介绍,一摆手,进来好几位女孩,不由分说把一个小葫芦样的幸运符戴到男士的脖子上,然后让你一起参加所谓的抢亲游戏。“婚礼”的一个重要戏,是“送入洞房”。不要以为洞房里真有那好事,可怜的、无辜的 “新郎”都在那乖乖交钱呢。进了洞房,女孩就伸手向你要做嫁妆的钱。 主婚人会说,爱伲姑娘给你戴幸运符的时候,如果你接受了,那就表示同意这门亲事了,如果反悔,就要把你在村口的大树上倒挂三天,还要给他们干三年苦力。游客稀里糊涂就被强拉入“洞房” ,不把钱给够甭想出“洞房”。忍痛掏大洋把自己给赎回来吧,少则五六十,多则上百元。如果掏的是整的,这里的规矩是概不找零。如今民俗风情却往往成了民俗陷阱。从西双版纳回来的男女游客,大多有这样一个教训,那就是:“洞房不是随便进的”。 4、九寨沟:牛肉卖出天价钱 九寨沟卖的牦牛肉和烤全羊,更是宰你就像宰牛羊。导游很热衷带你去免费尝牦牛肉。你免费品尝,会有人笑你没钱,贪便宜,还有人劝你买回去送朋友。 总之,你很不小心就慷慨掏钱了。但很快你就会后悔不已,同样的牛肉,在成都只要22元一斤,在九寨沟你却要花88元。 5、峨眉山:烧香就是烧钱 还在去峨眉山的路上,游客就会被导游上一堂课:在座各位都是有缘人,正好赶上峨眉山开光大典,这可是很难得的,上次开光大典还是2000年呢,这次还有三天就结束了,各位有缘人可以去开平安光,不收钱,是随喜功德。这可真是有缘啊。可是用什么开光呢,那就得请佛和观音坠子。导游又发话了:各位可以去四川佛教协会某某佛善堂请佛,那里的收入都是捐给佛教协会的。既可以保平安,又可以做善事。一进门,导购小姐特热情:只要500元就能请一尊佛。 你瞪大眼睛看,最便宜的也要80元一尊,还没小拇指盖大。全家都请,那得2000多元。到了寺里,想开光的先请炷香,平安香60元一炷,全家福香190元。有人端着相机要帮你照请香照,15元一张,90元一套。开光了,进到前殿看到几个人,才开口说了句大师,就有人说一人50元。交了钱,“大师”说到里面跪着等,进去一看,大堂里全跪成一排一排的。等到腿都麻了,有个和尚进来,端了个杯子嘴里念念有词,然后在每个人请的佛上洒了两滴水。ok,开光完毕。回家一算,这免费的开光,不知不觉开去了七八百元,原来“佛”也不善啊。 6、布达拉宫:门票飙涨 涨价就像一场瘟疫。在2006年7月1日青藏铁路全线开通之前,拉萨的宾馆就纷纷开始了大幅涨价行动,在这个物价高出内地近一倍的西藏首府,不是用传说中的哈达和青稞酒,而是以先“宰一刀”的方式来迎接远方的客人。不说酒店宾馆价格的成倍提升,就是车站外面乱七八糟挤堆的出租车,司机开价就是60元,而原来正常的价格是30块。想大赚一笔的不仅仅是拉萨的宾馆,在首批乘火车进藏游客还没完全卸下风尘的时候,西藏自治区文物局就将布达拉宫旺季的门票价格,从 100元提高到了300元。 但将门票价格由100元增加到300元,每天2300人的参观人数并未减少,其“保护”从何谈起呢?还有,布达拉宫的殿堂内按规定是不准拍照的,但只要交一笔钱,就能拍了;交更多的钱,就能用闪光灯对着佛像拍个够。是不是交了钱,文物就不受损害啦? 7、崂山:道士的麻衣诓术 崂山在人们的印象中,是和蓬莱仙境连在一起的:山上的道士个个道行高明,蒲松龄笔下崂山穿墙术,留下的那堵穿洞断墙就是明证。崂山道士的穿墙术终究难以考证,而忽悠人的功夫却实在了得。在崂山,解说兼导游会神秘地告诉你“有个地方,你们还没去过。”说着,就会把你带进庙宇的一间屋子,七八个“道士”像迎祖师爷一样,围着你,说这位红光满面有财运,如果你要了他几个字,就得退点财了。 道长会带你进入旁边一间“办公室”,先掏出他的证件给你看,告诉你他是多少多少代传人、和施主你很有缘云云。然后开始看你的手相。事罢,当你满怀感激,准备告退时,道长却掏出了个本本,轻描淡写说:随意捐点香火钱。本来你早准备几十元钱来捐的,可是一翻开道长的本子,上面却赫然写着捐者的姓名和钱款:xxx,籍贯xxx,3900元;xxx,籍贯xxx,2000……捐款数目没有小于1000元的。不捐?道长不高兴,后果很严重。于是你瞬间“悟道”:破财除灾,这才是万变不离的真理。 8、吐鲁番葡萄沟:葡萄变味了 “ 吐鲁番的葡萄哈密的瓜,库尔勒的香梨人人夸”。吐鲁番葡萄沟内绿树成荫,葡萄架成片。终日流淌的天山雪水滋润,最诱人的当然是挂满枝头的葡萄,晶莹如珍珠,鲜艳似玛瑙,令人垂涎欲滴。在葡萄沟,卖葡萄的摊点上摆满了各种葡萄,金黄色、紫色的、褐色的琳琅满目,大的如一节小手指,小的如大米粒,名字也是很古怪的,有叫女人红的,有叫男人红的,有的号称治高血压的,有的号称治风湿的,看得让人眼花缭乱,目不暇接。 葡萄沟的农家大都有葡萄可买,可这里最便宜的,也要50元一斤,贵的七八十元。到了乌鲁木齐,你会发现最贵的也就30多元一斤。去葡萄沟吃饭,你又进“沟” 了,老板娘把菜单递上来,菜贵得离谱,一碗素抓饭要15元,一份羊肉120元,炒青菜都在二三十元左右。你抱怨太贵了,老板娘还会振振有辞:我们是4A景区,价格相当于五星级酒店的消费。 9、西安:假古董乱真 到了西安,你可得当心。西安的一些地方,往往只能动眼,不能动手。西安遍地古董、玉器、兵马俑纪念品、西周刀币、北洋大头镲来到这里,游客总要带些“古董” 回去。但西安的古董伪造术以假弄真,专家都说绝了。西安有条著名的古玩一条街--化觉巷,小巷子里布满卖古玩的小店铺、鼻烟壶、玉器、化妆盒、老锁、瓷器、头饰,应有尽有,但这些大都是伪造的赝品。 在西安路边摊点购物时,更要千万小心。一些不良小贩专门把货物摆成三角形,只要你一拿,东西就倒,而摆在下边的东西多是他提前安排好,已经坏了的。于是,小贩会告诉你这是多么值钱的古董,不花上几百元是不行的。西安火车站广场对面的一条街,假货很普遍,而且一些商店,店主会暗设机关,放上一柄很漂亮的刀或者剑,只要你一伸手去拿,所谓的玉镯、紫砂壶之类就会像多米诺骨牌一样摔下来。这样,一个价值两元的玻璃“玉镯,就会向你敲诈一两百元。 10、大理:“老乡”的蒙 汗 药 云南以产玉出名,又靠近玉石王国缅甸。来丽江的游客,多会购买玉石,但通常挨了宰还蒙在鼓里。在云南大理和丽江等地,普遍存在着“认老乡”的销售方式,即与游客攀亲,冒称老乡,以拉近双方距离,最后骗取游客购买珠宝。这些珠宝往往以次充好,假货居多。精品区标价好几万的珠宝首饰,经鉴定,通常是20~30元的地摊假货。在购货时,讲解员不经意间,会惊讶地说,我们老板和你们是同乡。随后,老板出场,关切地询问家乡的某某地,再介绍起自己几千万的生意规模。 老板”还会坦诚地自报家丑,自报珠宝业经营内幕,说出自己经营的珠宝商品有着几十倍的利润,用苦肉计增加对方信任。最后,老板必定豪气大发,以成本价即标价几十分之一的价格限量,向老乡出售一两套珍贵首饰。认老乡这一招往往见效,许多道行很深的游客也会掉坑里。 11、阳朔:温情背后的狰狞 阳朔是驴子的天堂,但有不少驴子就栽在天堂的“花架”下。阳朔的娱乐城不少,最是吸引寻求艳遇的游客。但娱乐城不少暗藏杀机,其手法通常是,联合一些社会上的黑导游和一些出租车司机,以廉价消费为诱饵,拉游客来娱乐场所消费,然后由陪侍小姐索要“特饮”。结帐的时候,游客才发现,娱乐城使用的是两份标价不同的“鸳鸯”价目表,结帐的价目表中所谓的“特饮”价格高得惊人。 “特饮”其实就是雪碧和可乐等饮料互相调在一起,几毛钱的一杯成本,卖给客人就是一二百元。还有特服费,少则600-800元,多则几千,交不了钱,是脱不了身的。 12、坝上:骑马容易下马难 蓝天白云,乌兰公河清澈如镜,一碧万顷的草原,漫山遍野的野花散发着阵阵芳香,这就是坝上迷人的风光。 骑马是坝上最吸引游客的项目,收费当然不低。红山第三军马场附近的经营户特别会坑游客。刚到那,游客还没摸到马,就给你计算起时间,等你上得马,计时已经 10分钟了。马的主人牵着马慢悠悠走,除非游客骑1小时马,付1.5小时的钱,他才会勉强让马跑几步。说好40元/小时的费用,可这马一骑上就难下了,由不得你,当地人会拉着马胡乱绕上半天再回到起点,动辄耗上两三个小时。索要几百元的牵马费的现象也是屡见不鲜。 13、泰山:山上山下“好汉”多 泰山五岳独尊,自然景色威严、壮观,人文历史厚重,它承载了中华五千历史的精华,是中华文化的象征。当年,孔子登泰山而小天下,现在,泰山人也是傲视天下。游客在泰山上,你得小心翼翼,不时要为你拍照付出代价:拿钱。 稍有辩解或不满,便是对泰山的不敬,轻则招来责骂威胁,重则招来泰山人群体的“拳脚礼遇”,游客被打伤的事件不断发生。泰山下供游客住宿的黑店很多,稍有不慎,就会被宰,如果争执起来,泰山人会很生气,后果会很严重。 14、三亚:无赖的天堂 三亚的无赖因互联网而“臭名远扬”。小商小贩强买强卖,群殴游客的事件被互联网曝光,闹得沸沸扬扬,整个事件让我们看到,如果没有景区内部人的纵容,小贩们决不会如此霸道,简直就是黑社会做派。山西政协副主席吕日周游三亚被宰不说,还差点被打,忿而给海南省领导投书。这些事件让三亚市的领导很没有面子,于是开始了强力整治,抓了打人的小贩,撤了景区领导的职务。 15、少林寺:烧香等同打劫 少林寺大雄宝殿前面的香龛里,最细的一柱香比胳膊粗,最粗的一柱香比碗口粗,长都在一米二左右,一看就不是烧香,是烧钱,佛门烧香,只是一个礼节和规矩,以清香味的醇或淡、好或坏有一些要求,但不是粗越好、越长越好,过去的佛门没有碗口粗的香可以烧,想烧也造不出来啊。明明知道这里的佛界已经蒙上了一层铜臭味,我还是忍不住凑了过去,以为百来十块也能请到一柱佛香。不看不知道,一看吓一跳。 少林寺大雄宝殿前面的香龛旁边,端坐三个穿袈裟的和尚,请香的客人过来,他们先不告诉你价格和规矩,而是请你在签名簿上签上自己的名字。游客并不知道签名簿是一个陷阱,可能有人还误以为那是少林寺对香客们的尊重,糊里糊涂的就把自己的名字签上去,这一签,你就中了圈套。 签完名,和尚告诉你,凡签了名的香客,释永信法师都会亲自诵经念佛,为你消灾,等等。然后指着粗细不一、华丽不一,但都金光灿灿的香问你:施主,你请哪一柱香?因为前面说了释永信法师替你念经消灾的话,好面子的游客一般都会选择粗的、华丽的高香,等到他们把香递到你手上,才告诉你说,这柱香是六千块钱。 那时候,你后悔都来不及了,名字已经签上去不说,香都拿到手里,周边又围着看客,面前又供着大佛,人在这个时候一般都会咽着苦水把钱掏出来。 香龛里面的高香,最便宜的六百,最贵的六千。
Thursday, September 25, 2008
君子不重则不威
子曰:君子不重则不威;学则不固;主忠信;无友不如己者;过则勿惮改。
此章小弟以为应断为五句,其中比较有问题的是“学则不固”及“无友不如己者”两句。
君子不重则不威:君子如果不厚重就会失去威严。
学则不固:此固字基本上有两解:一为坚固,作此解时学则不固需与上一句君子不重则不威合为一句,合解为:人如果不厚重则无法固守所学。另一解如孔安国所主张:固为固陋,如此学则不固四字自成一句,解为如果努力向学则不会固执蔽陋。事实上固字在论语中共出现于9章,其中以作固陋解的占最多,共4章(含本章),仅1章解为坚固。进一步分析之,用来形容抽象意义者,皆以固陋解较为妥当。述而篇:“俭则固”;子罕篇:“毋固”;宪问篇:“疾固也”;用来形容具体意义者,才以坚固解。卫灵公篇:“今夫颛臾,固而近于费”。而本章的“学”亦属抽象意义,故小弟以为应以固陋解较好。
主忠信:行事以忠信为主。
无友不如己者:此句亦有多种解释,说来说去都有点看不懂。所以还是用小弟拙见来解:孔子此句与下一句过则勿惮改皆是以假设语法来勉励我们,即孔子在勉励我们,如果发现朋友的某些修为超过自己时,应要加倍努力、迎头赶上,以达无友不如己者之境界。
过则勿惮改:此亦是假设语,万一真有过错的话,则不能怕改正,应有勇气来改过。
最后再把小弟以为比较合宜的解释整理一下: 君子如果不厚重,就会失去威严;如果努力向学则不会固执蔽陋;行事必须以忠信为主;假若发现朋友的某些修为超过自己时,应要加倍努力迎头赶上,以达无友不如己者之境界;万一真有过错的话,则不能怕改正,应有勇气来改过。
头花的寓言
在某个小镇上有个非常穷困的女孩,她失去了父亲,跟妈妈相依为命,靠做手工维持生活。她非常自卑,因为从来没有穿戴过漂亮的衣服和首饰。在这样极为贫寒的生活中,她长到了十八岁。
在她十八岁那年的圣诞节,妈妈破天荒给了她二十美元,让她用这个钱给自己买一份圣诞礼物。
她大喜过望,但是还是没有勇气从大路上大大方方地走过。她捏着这些钱,绕开人群,帖着墙角朝商店走。
一路上,她看见所有人的生活都比自己好,心中不无遗憾地想,我是这个小镇上最抬不起头来,最寒碜的女孩子。看到自己特别心仪的小伙子,她又酸溜溜地想,今天晚上盛大的舞会上,不知道谁会成为他的舞伴呢?
她就这样一路嘀嘀咕咕地躲着人群来到了商店,一进门,她感觉自己的眼睛都被刺痛了,她看到柜台上摆着一批特别漂亮的缎子做的头花发饰。
正当她站在那里发呆的时候,售货员对她说,小姑娘,你亚麻色的头发真漂亮!如果配上一朵淡绿色的头花,肯定美极了。她看到价签上写着十六美元,就说我买不起,还是不试了,但是这个售货员已经把头花戴到她的头上了。
售货员拿起镜子让她看看自己。当这个小姑娘看到镜子里的自己时,突然惊呆了,她从来没有见过自己这个样子,她觉得这朵头花使她变得象天使一样容光焕发!
她不再迟疑,掏出钱来买下了这朵头花。她的内心无比陶醉,无比激动,接过售货员找的四美元后,转身就往外跑,结果在一个刚进门的老绅士身上撞了一下。她仿佛听到那个老人在叫她,但是已经顾不上这些了,就一路飘飘忽忽地往前跑。
她不知不觉跑到了镇子最中间的大路上,她看到所有人投给她的都是惊讶的目光,她听到人们在议论说:没想到这个镇子上还有如此漂亮的女孩子,她是谁家的孩子呢?她又一次遇见自己暗暗喜欢的那个男孩,那个男孩竟然叫住她说:不知今天晚上我能不能荣幸地请你做我圣诞舞会的舞伴?
这个女孩简直心花怒放!她想我索性就奢侈一回,用剩下的四美元回去再给自己买点东西吧,于是她又一路飘飘地回到了商店。
刚一进门,那个老绅士就微笑着对她说:孩子,我就知道你会回来的,你刚才撞到我的时候,这个头花也掉下来了,我一直在等你来取。
在她十八岁那年的圣诞节,妈妈破天荒给了她二十美元,让她用这个钱给自己买一份圣诞礼物。
她大喜过望,但是还是没有勇气从大路上大大方方地走过。她捏着这些钱,绕开人群,帖着墙角朝商店走。
一路上,她看见所有人的生活都比自己好,心中不无遗憾地想,我是这个小镇上最抬不起头来,最寒碜的女孩子。看到自己特别心仪的小伙子,她又酸溜溜地想,今天晚上盛大的舞会上,不知道谁会成为他的舞伴呢?
她就这样一路嘀嘀咕咕地躲着人群来到了商店,一进门,她感觉自己的眼睛都被刺痛了,她看到柜台上摆着一批特别漂亮的缎子做的头花发饰。
正当她站在那里发呆的时候,售货员对她说,小姑娘,你亚麻色的头发真漂亮!如果配上一朵淡绿色的头花,肯定美极了。她看到价签上写着十六美元,就说我买不起,还是不试了,但是这个售货员已经把头花戴到她的头上了。
售货员拿起镜子让她看看自己。当这个小姑娘看到镜子里的自己时,突然惊呆了,她从来没有见过自己这个样子,她觉得这朵头花使她变得象天使一样容光焕发!
她不再迟疑,掏出钱来买下了这朵头花。她的内心无比陶醉,无比激动,接过售货员找的四美元后,转身就往外跑,结果在一个刚进门的老绅士身上撞了一下。她仿佛听到那个老人在叫她,但是已经顾不上这些了,就一路飘飘忽忽地往前跑。
她不知不觉跑到了镇子最中间的大路上,她看到所有人投给她的都是惊讶的目光,她听到人们在议论说:没想到这个镇子上还有如此漂亮的女孩子,她是谁家的孩子呢?她又一次遇见自己暗暗喜欢的那个男孩,那个男孩竟然叫住她说:不知今天晚上我能不能荣幸地请你做我圣诞舞会的舞伴?
这个女孩简直心花怒放!她想我索性就奢侈一回,用剩下的四美元回去再给自己买点东西吧,于是她又一路飘飘地回到了商店。
刚一进门,那个老绅士就微笑着对她说:孩子,我就知道你会回来的,你刚才撞到我的时候,这个头花也掉下来了,我一直在等你来取。
Subscribe to:
Posts (Atom)