草庐IT

InstanceOf

全部标签

php - 使用 class_implements VS instanceof 的用处

如果偶然发现以下测试,在Doctrine的源代码中:if(in_array('Doctrine\Common\Collections\Collection',class_implements($var))){//...}我不明白为什么不使用instanceof代替:if($varinstanceofDoctrine\Common\Collections\Collection){//...}哪个在很多方面都更好。这样做有明确的理由吗?也许是表演?但实际上,这里有什么真正的区别吗,在我看来它就像simpleVSdoublequotes. 最佳答案

android - instanceof JSONObject 不检测 JSONObject

我发现variableinstanceofJSONObject有奇怪的行为。我有以下代码:Objectvalue;try{value=customer.get(key);Log.v("type",String.valueOf(value.getClass()));//ReturnsJSONObjectif(valueinstanceofJSONObject){//HandleJSONObject}else{Stringtext=(String)value;//HERECOMESTHEERROR//HandleString}当日志返回JSONObject时,它以异常结束:01-1512:

Java instanceof 解决方法

这个问题在这里已经有了答案:Avoiding'instanceof'inJava(8个答案)关闭9年前。我在Android项目中工作,目前需要为所有View创建容器。目前有很多如果,我想摆脱它们。假设所有View都有持有者if(vinstanceofSpinner){holder=newSpinnerHolder(v);}elseif(vinstanceofAdapterView){holder=newAdapterViewHolder((AdapterView)v);}elseif(vinstanceofCompoundButton){holder=newCompoundButton

java - 为什么 Socket 在运行时不是 instanceof Closeable?

在Android应用中,我将此代码添加到onCreate()Closeablesss=newSocket();if(!(sssinstanceofCloseable)){thrownewRuntimeException("Somethingunexpectedhappened");}进口是:importjava.io.Closeable;importjava.net.Socket;代码可以编译,但是我收到异常:E/AndroidRuntime(8293):java.lang.RuntimeException:Unabletostartactivity...:java.lang.Runt

java - Android Activity 接口(interface)到 Fragments : try/catch blocks vs. instanceof 检查

在谷歌的articleoncommunicatingwithFragments,作者给出了以下检查以确定fragment的调用Activity是否实现所需接口(interface)的示例:try{mCallback=(OnHeadlineSelectedListener)activity;}catch(ClassCastExceptione){thrownewClassCastException(activity.toString()+"mustimplementOnHeadlineSelectedListener");}通常,我更喜欢显式检查而不是try/catchblock。在这种

java - Android 不支持 Java v7+,所以我应该使用多个 catch 还是一个带有 instanceof 检查的 catch?

我有以下情况:try{//Dosomethingsthatcancausetheexceptions}catch(SomeExceptionex){doSomething();}catch(SomeOtherExceptionex){doSomething();}catch(AndYetAnotherExceptionex){doSomething();}catch(Exceptionex){//Dosomethingelse}在Javav7+中,我可以将其更改为:try{//Dosomethingsthatcancausetheexceptions}catch(SomeExcepti

java - Android 检测到 instanceof EditText 和 instanceof TextView 相同

我已经动态创建了布局。它有一些编辑文本、TextView、微调器等。之后,我必须获取我介绍的关于这些View的信息。所以我在做这样的事情for(inti=0;i这里的问题是当View是TextView或Edittext(我对微调器或按钮没问题)。我该如何解决这个问题? 最佳答案 那是因为EditText扩展了TextView。切换检查顺序:if(vinstanceofEditText){//dosomething}elseif(vinstanceofTextView){//doOTHERthing}

android - Android Java代码中 'instanceof'的影响

instanceof关键字是否对Android平台(尤其是运行DalvikVM的手机)产生相对较大的影响? 最佳答案 我不认为instanceof对DalvikVM的影响比对JVM的影响更大。如果您有任何疑问,您可以在使用称为AllocationTracker的工具运行应用程序时亲眼看看,该工具是DDMS的标准工具。 关于android-AndroidJava代码中'instanceof'的影响,我们在StackOverflow上找到一个类似的问题: http

java - Java 的 instanceof 和 isInstance() 在 VB 中的等价物是什么?

本着c#的精神问题..在VB.NET中比较类类型的等效语句是什么? 最佳答案 您是否在寻找类似TypeOf的内容?这仅适用于引用类型,不适用于int/etc。IfTypeOf"value"IsStringThenConsole.WriteLine("'tisastring,m'lord!")或者您想比较两个不同的变量实例?也适用于ref类型:DimoneAsObject="notanobject"DimtwoAsObject="alsonotanobject,exactly"DimthreeasObject=3DIfone.GetT

java - 什么时候使用 instanceof 才是正确的决定?

正如我一直所理解的,主要情况是instanceof合适的是:实现Object.equals(Object).所以如果我正在写一个List类,而不是扩展AbstractList无论出于何种原因,我都会实现equals(o)通过第一次测试oinstanceofList,然后比较元素。对不改变语义而只改变性能的特殊情况的重要(算法?)优化。例如,Collections.binarySearch做instanceofRandomAccess测试,并对RandomAccess使用稍微不同的二分搜索和非RandomAccess列表。我不认为instanceof在这两种情况下代表代码异味。但是在其他