2013-08-09 31 views
17

trong C# khi tôi muốn biết nếu một đối tượng là một thể hiện của một loại hình cụ thể hay không, tôi có thể sử dụng "là" nhà điều hành:C# "là" nhà điều hành thay thế trong Java

String foo = "hi :)" 
if (foo is String) ... 

làm thế nào tôi có thể làm nó trong java? (Tôi biết tôi có thể sử dụng câu lệnh try, bất kỳ cách nào khác?)

Trả lời

19

Java tương đương:

String foo = "hi :)" 
if (foo instanceof String) 
10

Bạn muốn sử dụng instanceof - đó là tương đương với is trong C#. Lưu ý rằng không có tương đương với as.

Xem JLS section 15.20.2 để biết thêm chi tiết về instanceof, nhưng đó là cơ bản giống như is:

// Note: no point in using instanceof if foo is declared to be String! 
Object foo = "hello"; 
if (foo instanceof String) 
{ 
    ... 
} 
5

instanceof là java tương đương với các nhà điều hành C# is.

5

Hãy thử một cái gì đó như thế này: -

String foo = "hi :)" 
if (foo instanceof String) 
{ 
...... 
} 
4
if (foo instanceof String) 

Tôi tin là những gì bạn đang tìm kiếm

3

Trong java bạn có thể sử dụng "instanceof" thay vì "là"

String foo = "hi :)" 
if (foo instanceof String)