سؤال

والعديد من اللغات لديها مرفق لتحقق لمعرفة ما إذا كان كائن من نوع معين (بما في ذلك الفئات الفرعية الأصل)، نفذت مع 'هو' وتستخدم مثل هذا:

if(obj is MyType)

وأو أكثر قليلا مضجر يمكنك بلغات أخرى تحقق عن طريق استخدام 'ك' الكلمة للقيام التلبيس ناعمة ورؤية إذا كانت النتيجة لاغية.

وأنا لم تستخدم جافا منذ سنوات وأنا الحصول على ما يصل الى سرعة على ذلك، ولكن بالتأكيد جافا لديه وسيلة للالقيام بذلك بسهولة دون الخوض عميقا في واجهات برمجة التطبيقات التأمل؟

وشكرا مقدما للحصول على اجابات. لقد بحثت سواء هنا أو في أماكن أخرى ولكن الكلمات الرئيسية متورط عام بحيث الرغم من انني متأكد من هذا لديه الجواب بسيط، غوغلينغ لأنه من الثابت.

هل كانت مفيدة؟

المحلول

if (objectReference instanceof type){
    //Your code goes here
}

هنا .

نصائح أخرى

ويمكنك فقط استخدام instanceof مع فئة الحرفي: هذا هو:

Class type = String.class;

if (myObj instanceof String) // will compile

if (myObj instanceof type) //will not compile

والبديل هو استخدام Class.isInstance طريقة

if (type.isInstance(myObj)) // will compile

ويعود obj instanceof TargetType صحيح فقط في حالة TargetType في التسلسل الهرمي النوع الذي يحتوي على obj.

الشمس تعليمي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top