小编The*_*ind的帖子

什么是NullPointerException,我该如何解决?

什么是空指针异常(java.lang.NullPointerException)以及它们的原因是什么?

可以使用哪些方法/工具来确定原因,以便停止异常导致程序过早终止?

java nullpointerexception

210
推荐指数
12
解决办法
255万
查看次数

为什么Java允许将空值赋给Enum

这更像是一个设计问题.(所以,没有代码.我可以发布创建Enum的代码并将其指定为null如果你想让我这样做.:))我最近一直在思考这个问题,但不能提出一个很好的理由.Enum常量是隐式静态和最终的.Enum意味着 - "我可以取一个存在于我身上的常数值".为什么允许Enum具有空值?为什么不隐式地将Enum的值默认为a Enum.DEFAULTEnum.None?这不是比允许Enum更好的方法null吗?

java enums

47
推荐指数
2
解决办法
6万
查看次数

(*SKIP)或(*F)如何处理正则表达式?

我正在学习正则表达式的高级用法,并注意到许多帖子使用(*SKIP)(*F)在其中.

我发布了一个问题,其中的想法是匹配没有yellowblue只有brown在蓝色之后存在的行.正确的答案是:

.*yellow.*(*SKIP)(*F)|^.*\bblue\b(?=.*brown).*$
Run Code Online (Sandbox Code Playgroud)

我也尝试了下面的外观表达式但是并没有适用于所有情况:

^((?!yellow).)*blue(?=.*brown).*$
Run Code Online (Sandbox Code Playgroud)

我不知道这些(*SKIP)(*F)标志,所以问题是,这些标志如何工作?他们在做什么?还有其他这样的旗帜吗?

谢谢.

regex

26
推荐指数
2
解决办法
5024
查看次数

为什么#define不需要分号?

我在C中编写了一些测试代码.我错误地插入了;一个#define,这给了我错误.为什么#defines 不需要分号?

进一步来说 :

方法1:有效

const int MAX_STRING = 256;

int main(void) {
    char buffer[MAX_STRING];
}
Run Code Online (Sandbox Code Playgroud)

方法2:不起作用 - 编译错误.

#define MAX_STRING 256;

int main(void) {
    char buffer[MAX_STRING];
}
Run Code Online (Sandbox Code Playgroud)

这些代码行为不同的原因是什么?这两个MAX_STRING都不是常量吗?

c c-preprocessor

18
推荐指数
6
解决办法
3851
查看次数

Executors.newFixedThreadPool(1)和Executors.newSingleThreadExecutor()之间的区别

我的问题是:使用它是否有意义Executors.newFixedThreadPool(1)??.在两个线程(main + oneAnotherThread)场景中,使用执行程序服务是否有效?是否通过调用new Runnable(){ }比使用ExecutorService更好地直接创建新线程?在这种情况下使用ExecutorService有什么好处和缺点?

PS:主线程和oneAnotherThread不访问任何公共资源.

我经历过:使用ExecutorService有什么好处?.并且一次只有一个线程!

java multithreading executor

16
推荐指数
1
解决办法
1万
查看次数

C++和Java中的字符串之间的区别

C++我可以做这样的事情......

String s = "abc";
char c = s[i]; // works fine...
Run Code Online (Sandbox Code Playgroud)

但是Java,如果我尝试做同样的事情,它会抛出一个错误.为什么?.

java,要实现上述目标,我必须做到:

s.toCharArray(); 
Run Code Online (Sandbox Code Playgroud)

Strings的实现与C++Java中的实现有何不同?

c++ java string

13
推荐指数
1
解决办法
1万
查看次数

继承中的混淆 - 在构造函数中打印时"this"的值

我有以下代码.

class Test {
    int i = 0;

    Test() {
        System.out.println(this);
        System.out.println(this.i);
    }

}

public class Demo extends Test {
    int i = 10;

    Demo() {
        super();
        System.out.println("calling super");
        System.out.println(this);
        System.out.println(this.i);    
    }

    public static void main(String[] args) throws IOException {    
        Demo d = new Demo();    
    }
}

O/P : Demo@2e6e1408
0
calling super
Demo@2e6e1408
10
Run Code Online (Sandbox Code Playgroud)

当我执行程序并打印"this"的值时,在超类构造函数和子类构造函数中,this(地址位置)的值显示为childClassName @ someValue ..我的问题是,为什么不是我当我在超类中打印"this"的值时,得到Test的值,即Test @ someVal(Super class).. ASAIK,Super class也会在内存中有一个位置/位置,所以,为什么我没有得到Test @someValue在第一个SOP ......

PS:我知道基于引用类型(LHS)引用变量,并且基于对象类型(RHS)调用方法.

java inheritance

12
推荐指数
1
解决办法
265
查看次数

如何处理Filters中抛出的异常?

我使用的是Spring 4和Tomcat.问题是有时我必须在我的过滤器中抛出(自定义)RuntimeException(控件甚至没有到达控制器).问题是因为我没有抛出tomcat理解的异常,它被转换为500(内部服务器错误).我相信403 Forbidden会比500更好(对于我的自定义例外).我看过@ExceptionHandler@ControllerAdvice注释.但这些只有在控制器到达控制器时才起作用.

截至目前,我HTTPResponse在我的过滤器中手动将状态设置为403 .有没有更好的方法来处理这种情况?

java spring tomcat spring-mvc

11
推荐指数
1
解决办法
2788
查看次数

初始化typedef结构

为什么这样做:

struct person {
    char name[50];
    short mental_age;
} p1 = {"Donald", 4};
Run Code Online (Sandbox Code Playgroud)

但不是这个:

typedef struct {
    char name[50];
    short mental_age;
} PERSON p1 = {"Donald", 4};
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以在定义这个结构时创建一个typedef结构并初始化Donald?

c struct

8
推荐指数
2
解决办法
1万
查看次数

在此代码中嵌套接口的用途是什么

我已经浏览了以下链接为什么在Java中使用静态嵌套接口?.

在我的代码库中我有:

public interface I1{

   public static interface I2 {
        public void doSomething();
   }

    //some other methods

    public void myMethod(I2 myObject); 
}
Run Code Online (Sandbox Code Playgroud)

在另一个不同包中的其他类中:

public abstract class SomeClass implements I2{
   //mandatory method...
}
Run Code Online (Sandbox Code Playgroud)

现在,我的问题是- "难道真的有一个很好的设计,把I2I1"?

编辑:

public interface XClientSession {
static public interface OnQueryResultSentListener {

        public void onQueryResultSent(XQueryResult result);
    }
 public void setOnQueryResultSentListener(OnQueryResultSentListener listener);

}
Run Code Online (Sandbox Code Playgroud)

/在另一个文件中我有......

 public abstract class XAppAgentBase extends IntentService 
    implements XClient, OnQueryResultSentListener {
    }
Run Code Online (Sandbox Code Playgroud)

java

7
推荐指数
1
解决办法
132
查看次数