IntelliJ IDEA Community Edition has a nice feature called intentions. Intentions offer a way to simplify our code. In our editor we can select an intention with Alt+Enter and IntelliJ IDEA shows a popup with available intensions. Let's take a look at some useful intentions when developing Groovy code.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfMuoB6eAV9jX73HYYwbS26awjaPbBUf3riVNCxmzGUD4TMfs7kyTgasoKM2uZ2s077-_b8oDYHoTtUJQt2gq4Z1qrZj9DciJac5lus0aIzC-cenpMANMlAI875O_uuzNUtup0FBjAyV0A/s320/idea-int1.png)
def s = "Simple test ${obj.ide}" // Becomes: def s = "Simple test $obj.ide"
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwAKhUBmjePgcTNyKL51-xOIi_vK2k4xnoes5J_slCpxDUkRwuQ9dMMaTt0rB1i7ofZwZlZ9WuDKvylNPJMBJ_O9-kHB5BAHpK9qv4EWPkn4epk59a81sW4qh9RnzRqaxst8c40TBKFD8v/s320/idea-int2.png)
def output = s != null ? s : '' // Becomes: def output = s ?: ''
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1W6IcKoLim4d4dMh9zvVlU88yH2OJFOmMY74inS2gWlGQbeUaawHmra7Ls8aqXHBGNfwqa_tjRvSSCl9c-9qcONUxiN7w7yaDiId0ybOpUiIV7xdyu4obpBRu6LgPGupTi_HPopx_SA0J/s320/idea-int3.png)
def list = ['a', 'b', 'c'] for (c in list) { println c.toUpperCase() } // Becomes: def list = ['a', 'b', 'c'] list.each { c -> println c.toUpperCase() }
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg95ULlTeOswzKuCPJC9SOT8keCcNQd00azlvtDgh9MDyX3m35eaB4pbRS57sZRu4o4VbmnNMuCn-zHi8BLSDxZZ2qT0heOowZtxFtsoYNkM3U_Xc_8Qa9sjE9jHM9i7DKAuNd9svnkseVb/s320/idea-int4.png)
def c = list.getAt(0) // Becomes: def c = list[0]
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivAIM8bCFLKqiHXMphU0nXf61jnTOxK3U5lalzpEL_8vSob8Qlpl-LXvDeAI2usSV_sRl4F8aj_CoO0jF7a6qj-FiYbF3J9wcZfX5D0GQwiQZI_kIJrj5NNWEPydvNon889ESj9fSBQZ4a/s320/idea-int5.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2tImSitiDH8vLiCAlPw_i5YJpZM32vsx_P8zZJ5Lqjf1bhFLn82uzevTBFjOgF7Hdm4d7bV2A4LVQY-OrRgWYT6Hp57tHv-Sgawl8PHqKMqYRtjOWJwVSaczxTs98z11dxYcKRWYDzoEY/s320/idea-int6.png)
def printObj(date, text, list) { println """ Print on $date $text and list has size ${list.size()} """ } // Becomes: def printObj(params) { println """ Print on $params.date $params.text and list has size ${params.list.size()} """ }
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigglDIyCXGSfbMHi24-3xNNu-UZIqS3seudV6Td3c1BPinwTS9wjCwVzAmsj70ABg2i9fyp1N_YJMgXKkIOKh5Fl-KdpMrdbMkk-5LJ4RsyCqje08RFYoXhteEj_fQtR0ESTwMnk2yLEuM/s320/idea-int7.png)
list.contains('d') // Becomes: list.contains 'b'
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkA2KDfhIEM4JhvfJZrdrTzyr8z8k405iPZw6JWlcmLY10jaWez_12bIyJjxpX_WgnMFyk1vTKM2m5BYE9VkKDbZeIbe5ICteBCyfMmbdUTwV828lHw2u5RDmgzfKo8o6DGhD7LDHvroIv/s320/idea-int8.png)
class User { String name } def u = new User() u.setName('mrhaki') // Becomes: class User { String name } def u = new User() u.name = 'mrhaki'
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcy1XOmrixJeQ5bT30cO2oBxKKQtnldaCXfLn0pXuLqPBbXJhbWVC2tg-PLNmjSa90Nn_Z4fET3UiFC0SYKId01xRjZZsgHECFjd-YQcj8wBWGwDyRaP202a7UqLc0EhMyfYO8HVroE75N/s320/idea-int9.png)
def s = 'Simple test with ' + obj.ide // Becomes: def s = "Simple test with $obj.ide"