Cách tốt nhất để xác định loại dữ liệu trong Groovy là gì?
Tôi muốn định dạng đầu ra khác nhau nếu đó là một ngày, vv
Cách tốt nhất để xác định loại dữ liệu trong Groovy là gì?
Tôi muốn định dạng đầu ra khác nhau nếu đó là một ngày, vv
Câu trả lời:
Để xác định lớp của một đối tượng chỉ cần gọi:
someObject.getClass()
Bạn có thể viết tắt này someObject.class
trong hầu hết các trường hợp. Tuy nhiên, nếu bạn sử dụng cái này trên Map
nó, nó sẽ cố lấy giá trị bằng khóa 'class'. Vì điều này, tôi luôn sử dụng getClass()
mặc dù nó lâu hơn một chút.
Nếu bạn muốn kiểm tra xem một đối tượng có thực hiện một giao diện cụ thể hay mở rộng một lớp cụ thể (ví dụ: Ngày), hãy sử dụng:
(somObject instanceof Date)
hoặc để kiểm tra xem lớp của một đối tượng có chính xác là một lớp cụ thể không (không phải là lớp con của nó), hãy sử dụng:
(somObject.getClass() == Date)
Map
dụ
def test = {} println test.getClass()
lớp Script1 $ _run_clenses1 ??
Cách Groovy đơn giản để kiểm tra loại đối tượng:
somObject in Date
Cũng có thể được áp dụng cho các giao diện.
instanceof
là tuyệt vời để lọc dựa trên giao diện.