ما هي أسهل طريقة للقيام 'هو' في جافا؟
-
04-07-2019 - |
سؤال
والعديد من اللغات لديها مرفق لتحقق لمعرفة ما إذا كان كائن من نوع معين (بما في ذلك الفئات الفرعية الأصل)، نفذت مع 'هو' وتستخدم مثل هذا:
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
.