คุณลักษณะของภาษา ของ ภาษากรูวี

ภาษากรูวีมีคุณลักษณะหลายประการที่ไม่พบในภาษาจาวามาตรฐาน:

เปรียบเทียบความสัมพันธ์

ตัวอย่างต่อไปนี้จะเปรียบเทียบภาษากรูวีกับภาษาจาวา:

จาวามาตรฐาน (Java 5 และสูงกว่า)

class Filter {    public static void main (String[] args) {        List<String> list = Arrays.asList ("Rod", "Carlos", "Chris") ;        List<String> shorts = new ArrayList<String> () ;        for (String item : list) {            if (item.length () <= 4) { shorts.add (item) ; }        }        for (String item : shorts) { System.out.println (item) ; }    }}

Groovy

list = ["Rod", "Carlos", "Chris"]shorts = list.findAll { it.size () <= 4 }shorts.each { println it }

สนับสนุนภาษามาร์กอัป

คุณลักษณะเด่นอันหนึ่งของกรูวีก็คือ การที่มันสนับสนุนภาษามาร์กอัป (markup language) อย่าง XML และ HTML จากในตัวมันเองเลยคุณลักษณะนี้ทำให้การสร้างและใช้งานข้อมูลจากหลายแหล่ง เป็นไปได้ในวากยสัมพันธ์ของภาษาและวิธีการเขียนโปรแกรมที่เหมือนกัน ตัวอย่างเช่น:

โค้ด Groovy ต่อไปนี้ ...

   import groovy.xml.MarkupBuilder   def myXMLDoc = new MarkupBuilder ()   myXMLDoc.workbook {      worksheet (caption:"Employees") {         row (fname:"John", lname:"McDoe")         row (fname:"Nancy", lname:"Davolio")      }      worksheet (caption:"Products") {         row (name:"Veeblefeetzer", id:"sku34510")         row (name:"Prune Unit Zappa", id:"sku3a550")      }   }   println myXMLDoc

... สร้างผลลัพธ์ XML:

   <workbook>      <worksheet caption='Employees'>         <row fname="John" lname="McDoe" />         <row fname="Nancy" lname="Davolio" />      </worksheet>      <worksheet caption='Products'>         <row name="Veeblefeetzer" id="sku34510" />         <row name="Prune Unit Zappa" id="sku3a550" />      </worksheet>   </workbook>