Tôi muốn hiểu sự khác biệt giữa các loại Boolean
và boolean
trong Java, cụ thể là chúng có liên quan đến GWT. Tôi biết rằng phương pháp không được hỗ trợ nhưng tôi muốn biết thêm thông tin nếu phương thức khả dụng.Sự khác nhau giữa boolean và Boolean trong Java là gì?
Trả lời
Tôi không chắc chắn nếu các yếu tố GWT làm cho một sự khác biệt nhưng nhìn chung:
boolean là một nguyên thủy loại java trong khi Boolean là một loại đối tượng/tài liệu tham khảo mà kết thúc tốt đẹp một boolean
Chuyển đổi giữa các nguyên thủy và các đối tượng như thế này được gọi là boxing/unboxing.
Dưới đây là thông tin thêm:
http://javaeye.wordpress.com/2008/06/17/boxing-and-unboxing-conversion/
Tại sao hộp bạn yêu cầu?
http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html
Trong Java, một boolean
là một chữ true
hoặc false
, trong khi Boolean
là một wrapper đối tượng cho một boolean
.
Ít khi có lý do để sử dụng Boolean
trên boolean
ngoại trừ trong trường hợp cần tham chiếu đối tượng, chẳng hạn như trong List
.
Boolean
cũng chứa phương pháp tĩnh parseBoolean(String s)
mà bạn có thể đã biết.
Java có các loại nguyên thủy (int, boolean, float, vv) và bất cứ lúc nào bạn muốn sử dụng chúng như một thể hiện của một đối tượng họ đang được bọc trong một loại Class liên kết. Ví dụ: booleans được gói bởi Booleans, int là Integer, v.v.
Nó cũng có những lợi ích của nó. boolean không có các phương thức trợ giúp (vì nó không phải là một lớp), nhưng Boolean thực hiện. Vì vậy, nếu bạn muốn chuyển đổi một chuỗi thành boolean, bạn có thể thử Boolean.valueOf ("true").
Hy vọng điều đó sẽ hữu ích.
Theo như GWT, chúng giống nhau trong GWT khi có trong java.
boolean là nguyên thủy và Boolean trong trình bao bọc đối tượng.
Đó là khá đơn giản và tương tự cho GWT và Java:
- boolean có thể có hoặc không
- Boolean có thể có, không hoặc NULL.
Vì vậy, trừ khi bạn cần NULL (ví dụ: bạn tải trường từ cơ sở dữ liệu và bạn muốn NULL khác với sai), sau đó dính vào boolean.
Theo các tài liệu thi đua GWT JRE (http://code.google.com/webtoolkit/doc/1.6/RefJreEmulation.html) các phương pháp này được hỗ trợ trên các loại Boolean: Boolean (boolean), Boolean (String), parseBoolean (String), toString (boolean), valueOf (boolean), valueOf (Chuỗi), booleanValue(), compareTo (Boolean), bằng (Object), hashCode(), toString()
là sự khác biệt giữa các kiểu đối tượng Boolean và Boolean. Các đối tượng Boolean có thể ở 3 trạng thái, vì vậy nó không giống hệt nhau. Nhưng nếu điều đó tạo nên sự khác biệt trong GWT (hiệu năng khôn ngoan), tôi không có manh mối, tôi đoán là nó không quan trọng nhiều vì trình biên dịch GWT sẽ tối ưu hóa mã và hầu hết các phép toán đơn giản có thể ánh xạ tới các hoạt động boolean javascript nguyên gốc.
Nhưng như thường lệ: chắc chắn bạn phải đo lường (và xem xét điều này có thể khác nhau dựa trên trình duyệt/phiên bản bạn đang đo).
Loại đối tượng Boolean thường không được sử dụng thường xuyên vì kiểu gốc boolean là tự nhiên hơn (bạn không cần phải kiểm tra null tất cả thời gian).
Bởi vì Boolean có thể rỗng, nó có thể được sử dụng để tải chậm.
if(hasRoots == null){
calculateRoots();
}
boolean là một loại nguyên thủy trong khi Boolean là wrapper class.Same áp dụng cho (int, Integer), (dài, Long) vv lớp Wrapper "quấn" các kiểu dữ liệu cơ bản tương ứng thành một đối tượng đó lớp học.
Chúng được sử dụng với các bộ sưu tập, vì các kiểu nguyên thủy không được phép với bộ sưu tập. Ngoài ra, việc sử dụng các lớp bao bọc cho phép bạn truy cập vào nhiều phương thức mà bạn có thể gọi trên đối tượng đó. Ví dụ: Lớp trình bao bọc ký tự có các phương thức như:
isDigit() - để xác định xem ký tự có phải là chữ số hay không. isLower() - để xác định xem ký tự có phải là chữ thường hay không. là Letter() - để xác định xem ký tự có phải là một bảng chữ cái hay không.
chúng tôi không thể sử dụng các phương pháp trên nếu chúng tôi sử dụng loại nguyên thủy so với lớp trình bao bọc.
- 1. Sự khác nhau giữa boolean và bool trong MySQL là gì?
- 2. Sự khác nhau giữa các kiểu dữ liệu cột BOOL và BOOLEAN của MySQL là gì?
- 3. Sự khác nhau giữa! = Và =! trong Java?
- 4. Sự khác nhau giữa JavaScript và Java là gì?
- 5. Sự khác nhau giữa java và jsp là gì?
- 6. Sự khác nhau giữa "bool" và "bool" là gì?
- 7. java: boolean instanceOf Boolean?
- 8. Đối tượng Boolean và vấn đề biến boolean trong JAVA
- 9. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 10. Sự khác nhau giữa == và = trong Prolog là gì?
- 11. Sự khác nhau giữa // và /// trong Visual Studio là gì?
- 12. Sự khác nhau giữa: = và + = trong tạo tệp là gì?
- 13. Sự khác nhau giữa * và. * Trong MATLAB là gì?
- 14. Sự khác nhau giữa $ @ và $ * trong UNIX là gì?
- 15. Sự khác nhau giữa: = và = trong MySQL là gì?
- 16. Sự khác nhau giữa "||" là gì và "hoặc" trong Perl?
- 17. Sự khác nhau giữa 'eq' và '= ~' trong Perl là gì?
- 18. Sự khác nhau giữa 'và #' trong Lisp là gì?
- 19. Sự khác nhau giữa C# và visual C# là gì?
- 20. Sự khác nhau giữa Tomcat, JBoss và Glassfish là gì?
- 21. Trong Java, "thứ tự hoạt động" boolean là gì?
- 22. Java: boolean trong println (boolean "in true": "in false")
- 23. Sự khác nhau giữa InputStream và ByteArrayInputStream là gì?
- 24. Sự khác nhau giữa JFrame.getContentPane() và JFrame.getRootPane() là gì?
- 25. Sự khác nhau giữa BUTTON1_MASK và BUTTON1_DOWN_MASK là gì?
- 26. Sự khác nhau giữa VCS và SCM là gì?
- 27. Sự khác nhau giữa LinkedBlockingQueue và ConcurrentLinkedQueue là gì?
- 28. Sự khác nhau giữa JSP và Facelets là gì?
- 29. Sự khác nhau giữa `Enum.name()` và `Enum.toString()` là gì?
- 30. Trạng thái boolean thứ ba trong java là gì?
Đẹp ... nhanh và bẩn! =) –
không có gì bẩn về nó. – rustyshelf
Tnx rất nhiều !!! Vì vậy, hữu ích và rõ ràng exlaination – AndreaNobili