3 回答

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
instanceof 運(yùn)算符是用來在運(yùn)行時(shí)指出對象是否是特定類的一個(gè)實(shí)例。instanceof通過返回一個(gè)布爾值來指出,這個(gè)對象是否是這個(gè)特定類或者是它的子類的一個(gè)實(shí)例。
用法:
result = object instanceof class
參數(shù):
result
必選項(xiàng)。任意變量。
object
必選項(xiàng)。任意對象表達(dá)式。
class
必選項(xiàng)。任意已定義的對象類。
說明:
如果 object 是 class 的一個(gè)實(shí)例,則 instanceof 運(yùn)算符返回 true。如果 object 不是指定類的一個(gè)實(shí)例,或者 object 是 null,則返回 false。
例如:
Boolean b;
String str = "foo";
b = ( str instanceof String ); // true
b = ( str instanceof Object ); // also true
b = ( str instanceof Date ); // false, not a Date or subclass
注意:
1)null值不是任何對象的實(shí)例,所以下面這個(gè)例子返回了false,無論這個(gè)變量聲明的是什么類型。
String s = null;
if ( s instanceof String )
// false, won't happen
2)instanceof也可以正確的報(bào)告一個(gè)對象是否是數(shù)組和特定的接口類型。
if ( foo instanceof byte[] )

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
如果要寫成一個(gè)方法肯定是可以的。因?yàn)閘ist 和set都是繼承的collection,而且也都繼承object類。
可以寫成:
Collection<Integer> fun(Collection <Integer> col){
return col;
}

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;
import org.junit.Test;
public class InstanceTest {
@Test
public void test() throws FileNotFoundException {
FileReader fr = new FileReader("d:\\abc.txt");
System.out.println(fr instanceof Reader);
//這里是多態(tài),父類引用指向子類對象
Reader reader = new FileReader("d:\\abc.txt");
System.out.println(reader instanceof FileReader);
System.out.println(reader instanceof Reader);
}
}
- 3 回答
- 0 關(guān)注
- 1036 瀏覽
添加回答
舉報(bào)