您的位置:首页>软件开发>软件工程>系统分析设计>

Java平台发展趋势展望[2]

[ 来源:ibmdw | 更新日期:2007-7-15 20:14:08 | 评论 0 条 | 我要投稿 ]

  真正能够影响开发人员生产力的特性功能应该是用于管理表、树和映射表的内置原语,比如在使用 XML 和 SQL 时遇到的那些。JavaScript 下的 E4X 项目和 Microsoft 的 Cω 和 Linq 项目是实现这一想法的先驱,但可悲的是,Java 平台似乎错过了这个机会。如果有人想要通过编译器来玩一个潜在的救场的游戏,这里是一个不容错过的好地方。

字串2

  属性

字串5

  很可以还有一些针对属性访问的语法糖。一个建议是使用 -> 作为调用 getFoo 和 setFoo 的缩写。例如,不再使用如下代码:

字串1

字串9

Point p = new Point();

p.setX(56);

p.setY(87);

int z = p.getX();

字串7

  而是使用如下代码: 字串7

字串7

Point p = new Point();

p->X = 56;

p->Y = 87;

int z = p->X; 字串8

  也有人建议用另外一些符号来代替 ->,包括 . 和 #。

字串4

  将来,您有可能必须将 Point 类中的相关字段显式地标识为属性,如: 字串2

字串7

public class Point {

public int property x;

public int property y;

} 字串4

  我个人对此并未产生什么深刻的印象。我宁愿 Java 平台采纳一项更为激进的方法,让我们可以真正地使用公共字段。然而,如果将 getter 或 setter 定义为与字段相同的名称,然后读写字段就会自动地分派到相应方法中。这样做所使用的语法更少,也更加灵活。 字串5

  随机精度算法

字串5

  非操作符重载 字串2

  值得一提的是,对标准数学符号的重用不同于 操作符重载,至少不是在 C++ 中引起问题的那种重载。加号和其他操作符在任何程序中都具有明确的意义。无论在哪一个程序中,它们的意义都不会有所更改。对于相似的操作重用相同的语法让代码更易于阅读。若重新定义语法,使之在不同的程序中有不同的意义,代码就会较难理解。

  另一项将方法替换为操作符的建议致力于 BigDecimal 和 BigInteger。例如,目前您不得不像这样编写不限精度的算法: 字串1

字串6

BigInteger low = BigInteger.ONE;

BigInteger high = BigInteger.ONE;

for (int i = 0; i <500; i++) {

System.out.print(low);

BigInteger temp = high;

high = high.add(low);

low = temp;

}; 字串9

  写成这样会更清晰:

字串2

字串1

BigInteger low = 1;

BigInteger high = 1;

for (int i = 0; i <500; i++) {

System.out.print(low);

BigInteger temp = high;

high = high + low;

low = temp;

}; 字串1

  这项建议似乎无关紧要,但它可能会导致过度使用这些类,进而导致尚不成熟的代码中性能降低。

字串2


Tags:
责任编辑:
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为