易截截图软件、单文件、免安装、纯绿色、仅160KB

Groovy java的好伙伴4

很可能将 Groovy 当成是没有规则的 Java 代码。但实际上,Groovy 只是规则少一些。这一节的重点是使用 Groovy 编写 Java 应用程序时可以不用考虑的一个 Java 编程的具体方面:类型定义。
为什么要有类型定义?
在 Java 中,如果要声明一个 String 变量,则必须输入:
String value = "Hello World";
但是,如果仔细想想,就会看出,等号右侧的字符已经表明 value 的类型是 String。所以,Groovy 允许省略 value 前面的 String 类型变量,并用 def 代替。
def value = "Hello World"
实际上,Groovy 会根据对象的值来判断它的类型。
将 HelloWorld.groovy 文件中的代码编辑成下面这样:
String message = "Hello World"
println message
运行这段代码,应该会在控制台上看到与前面一样的 “Hello World”。现在,将变量类型 String 替换为 def 并重新运行代码。是不是注意到了相同的结果?
除了输出 message 的值,还可以用以下调用输出它的类型:
def message = "Hello World"
println message.class
输出 “class java.lang.String” 应该是目前为止很受欢迎的一项变化!
如果想知道到底发生了什么,那么可以告诉您:Groovy 推断出 message 一定是 String 类型的,因为它的值是用双引号括起来的。
类型推断的更多内容
您可能听说过,在 Groovy 中 “一切都是对象” — 但对于类型来说这句话意味着什么呢?让我们看看如果将前面示例中的 String 替换为数字会怎么样,如下所示:
def message = 12
println message.class
message 变量的数字值看起来像是 Java 的原生类型 int。但是,运行这个代码就可以看出,Groovy 将它作为 Integer。这是因为在 Groovy 中 “一切都是对象”。
Java 中的所有对象都扩展自 java.lang.Object,这对 Groovy 来说非常方便。即使在最糟的情况下,Groovy 运行时不能确定变量的类型,它只需将变量当成 Object,问题就解决了。
继续使用这段代码。将 message 改成自己喜欢的任意类型:Groovy 会在运行时尽其所能推断出这个变量的类型。
无类型有什么意义
那么,Groovy 缺少类型意味着所需的输入更少。不可否认,将 String 替换成 def 并没有真正节约多少打字工作 — 三个字母并不值得如何夸耀!但是在更高的层次上看,在编写大量不仅仅包含变量声明的代码的时候,没有类型确实减少了许多打字工作。更重要的是,这意味着要阅读的代码要少得多。


相关文档:

IBM FileNet Content Java API 简介

2008 年 6 月 24 日
原文地址: http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0806wangys/
本文介绍 IBM FileNet P8 4.0 Platform 提供的 Content Java API。首先对 FileNet P8 Content Engine 和 API 进行概要介绍, 并说明了一些基本概念,随后详细介绍了 FileNet Content Engine提供的基于 EJB ......

java中如何使用amcharts


最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects. ......

java下Class.forName的作用是什么,为什么要使用它.

Class.forName(xxx.xx.xx) 返回的是一个类 首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。
至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。
A a = ( ......

java中的堆、栈、常量池

Java内存分配:
1. 寄存器:我们在程序中无法控制
2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中
3.
堆:存放用new产生的数据
4. 静态域:存放在对象中用static定义的静态成员
5. 常量池:存放常量
6. 非RAM(随机存取存储器)存储:硬盘等永久存储空间
------------------------- ......

在Java中获取系统属性

在Java中获取系统属性
 
在Java应用程序运行时,特别是需要在跨平台工作环境下运行时,需要确定操作系统类型、用户JDK版本和用户工作目录等随工作平台变化的信息,来保证程序正确运行。一般情况下,可以利用JDK提供的系统属性类(Properties)中的方法,快速地获取工作环境信息。另外,程序开发人员还可以定义与应用 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号