we new

如果一篇Blog搞不定Groovy,那就再来一篇

    接上一篇,虽然还有一些没写到,先放上来,证明自己并没有偷懒。

看上去更高级的操作符

安全导航操作符

1
2
3
4
if (lst!=null)
lst.each{}
lst?.each{}

三目运算符

1
2
3
4
5
showName = name!=null?name:'Unknown'
showName = name?name:'Unknown'
showName = name?:'Unknown'

写好闭包,女票的小包也会有的~

实现接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(frame,"you clicked!");
}
})
button.addActionListener(
{JOptionPane.showMessageDialog(frame,"you clicked!")} as ActionListener
)
displayMouseLocation = {positionLabel.setText("$it.x,$it.y")}
frame.addMouseListener(displayMouseLocation as MouseListener)
frame.addMouseMotionListener(displayMouseLocation as MouseMotionListener)
handleFocus = [
focusGained : {msgLabel.setText("Good to see you!")},
focusLost : {msgLabel.setText("Come back soon!")}
]
button.addFocusListener(handleFocus as FocusListener)
  • 采用as操作符的方式,实现接口的多个相同的方法
  • 采用map键值对的方式分隔名称和代码块,实现接口的多个不同的方法

方法不用写return了,至少都省掉了7个字符,数学没毛病~

未完待续


声明: 本文转载前需与作者联系并标明出处
分享到: