2010-02-05 40 views
64

Làm thế nào tôi có thể đúc một đối tượng Java thành một boolean nguyên thủyLàm thế nào để chuyển đối tượng sang boolean?

tôi đã cố gắng như dưới đây nhưng nó không hoạt động

boolean di = new Boolean(someObject).booleanValue(); 

Các constructor Boolean (Object) là undefined

Xin cho biết.

Trả lời

107

Nếu đối tượng là thực một trường hợp Boolean, sau đó chỉ cần cast nó:

boolean di = (Boolean) someObject; 

Các diễn viên rõ ràng sẽ làm chuyển đổi sang Boolean, và sau đó có các tính năng tự động unboxing với giá trị nguyên thủy. Hoặc bạn có thể làm điều đó một cách rõ ràng:

boolean di = ((Boolean) someObject).booleanValue(); 

Nếu someObject không đề cập đến một giá trị Boolean Mặc dù vậy, những gì bạn muốn mã để làm gì?

+1

Không của nó không phải là một ví dụ Boolean nhưng có giá trị là đúng hay sai –

+2

Sau đó là những gì loại nó? –

+0

Cảm ơn nó đã làm các trick. Làm thế nào què tôi là :) –

30

Giả sử rằng yourObject.toString() trả về "true" hoặc "false", bạn có thể thử

boolean b = Boolean.valueOf(yourObject.toString()) 
+0

Có vấn đề phải hiểu tại sao toString() là bắt buộc. Nếu nó không phải là một chuỗi thì nó chỉ là một đối tượng? –

+2

vì yourObject là một thể hiện của kiểu Object và phương thức valueOf chấp nhận một String. – Neets

+1

Điều này có lẽ nên là 'Boolean.parseBoolean' để tránh boxing và unboxing một' Boolean'. –

Các vấn đề liên quan