首页 > 其他 > 详细

朝花夕拾之April. 9th

时间:2014-04-10 07:45:36      阅读:445      评论:0      收藏:0      [点我收藏+]

一、-Dproperty=propertyValue

JVM在运行时需要用到某些属性,包括一些默认已设置好的属性,如file.encoding, file.separator, java.home, java.version等;-D就是用于配置系统属性

JAVA JDK文档中规定:-Dproperty=value用于设置系统属性;如果该属性值包含空格,则必须用双括号括起,长这样:-Dproperty=“some thing”

在JAVA代码中的任何一处地方,可以调用System.getProperty("key", "defaultValue")来获取到该属性值

在单元测试中,如果被测代码需要使用某系统属性值,则应该在before test中通过System.setProperty("key", "value")对该属性值进行配置

需要补充说明的是,通过-D对系统属性进行配置时,必须使得-D 紧邻java命令,否则不生效。

二、-Pproperty=propertyValue

通过gradle -Pproperty=propertyValue,可以gradle task设置动态工程属性。同时可以在gradle task中使用该属性:

someTask{

  println property

}

三、print, printf, println

1. println: 除了打印出指定message,还有换行符;

2. printf:用于打印带格式的字符串(formatted string),也就是说不需要额外使用String.format()对字符串进行格式化;和C语言中的printf类似;

3. print:就是打印message, 木有什么特别的了

四、groovy中的一点语言现象

1. 使用Delegate。效果是:如果class A中包含field ClassB objectB,且使用@Delegate标注,则在class A中可以access到ClassB 中的任何field与method;

2. 函数式编程:方法可以接受closure(即代码块)作为参数;

3. 使用[]初始化一个List;如List<ClassA> classAs = [], 对list进行遍历:classAs.each{classA->some action}; 像list中加入某个元素:classAs << new ClassA()

4. 可以用string作为方法名;

5. 有上下文的概念;

class A {

  int a1;

  int a2;

}

A a = new A(); A.with{int b = a1; int c = a2};不需要使用int b = A.a1; int c = A.a2

 

朝花夕拾之April. 9th,布布扣,bubuko.com

朝花夕拾之April. 9th

原文:http://www.cnblogs.com/Garfield-yafei/p/3655018.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!