小编Dia*_*ees的帖子

输入变量vs instanceof进行标识

我有两个类,它们是抽象类的子类A:

class X extends A {}
class Y extends A {}
Run Code Online (Sandbox Code Playgroud)

我想识别A传递给函数的对象的子类.我可以看到两种选择:

void myfunction(A myobj) {
    if(myobj instanceof X)
        doXStuff((X) myobj);
    if(myobj instanceof Y)
        doYStuff((Y) myobj);
}
Run Code Online (Sandbox Code Playgroud)

或添加不同类型的enumto A:

abstract class A {
    enum Type { X, Y };
    Type type;
    ...
}

class X extends A {
    type = Type.X;
    ...
}
class Y extends A {
    type = Type.Y;
    ...
}

void myfunction(A myobj) {
    if(myobj.type == Type.X)
        doXStuff((X) myobj);
    if(myobj.type …
Run Code Online (Sandbox Code Playgroud)

java instanceof

5
推荐指数
1
解决办法
569
查看次数

Android设计支持库:NavigationView源代码

在过去的几天里,我搜索了几个小时的Android设计支持库的完整源代码.我发现从官方Google存储库镜像的源代码:

https://github.com/android/platform_frameworks_support/tree/master/design

但是,我还没有找到android.support.design.widget.NavigationView的源代码.该库的jar文件包含NavigationView.class,但没有附加源.

我该如何找到这门课的来源?代码可能不会向公众发布吗?

java android android-support-library

5
推荐指数
1
解决办法
1718
查看次数