问题列表 - 第44599页

Java:如何有效地检查空指针

有一些模式用于检查方法的参数是否已null赋值.

首先是经典之作.它在自制代码中很常见,并且很明显可以理解.

public void method1(String arg) {
  if (arg == null) {
    throw new NullPointerException("arg");
  }
}
Run Code Online (Sandbox Code Playgroud)

其次,您可以使用现有框架.该代码看起来更好一点,因为它只占用一行.缺点是它可能会调用另一个方法,这可能会使代码运行得慢一些,具体取决于编译器.

public void method2(String arg) {
  Assert.notNull(arg, "arg");
}
Run Code Online (Sandbox Code Playgroud)

第三,你可以尝试调用一个没有副作用的方法.这可能看起来很奇怪,但它比上述版本的令牌更少.

public void method3(String arg) {
  arg.getClass();
}
Run Code Online (Sandbox Code Playgroud)

我没有看到广泛使用的第三种模式,感觉就像我自己发明了它一样.我喜欢它的简洁性,因为编译器很有可能完全优化它或将其转换为单个机器指令.我还用行号信息编译我的代码,所以如果NullPointerException抛出一个,我可以追溯到确切的变量,因为我每行只有一个这样的检查.

您更喜欢哪种支票,为什么?

java optimization coding-style nullpointerexception

23
推荐指数
4
解决办法
3万
查看次数

使用JavaScript检查对象的可见性

我有一个名为"对象"的变量.如果可见,我如何查看JavaScript?

我试过了!object.getAttribute("dislay","none")......但这不起作用.

有人可以帮帮我吗?

谢谢!

html javascript css

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

如何在复合类型上使用Boost.Bind?

我有std::map<int, std::pair<short, float> >,我需要short在这张地图中找到最小值.我该怎么boost::bindstd::min_element()

boost::lambda

c++ boost-bind boost-lambda

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

关于如何创建新的maven原型的任何好的高级指南?

我正在寻找关于如何创建新的maven原型的指南,其中涉及使用参数来创建目录和文件名,其中参数用作文件名中的前缀和由原型创建的包结构/目录的一部分.

我能找到的就是如何制作非常简单的项目非常简单.

java archetypes maven

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

递归如何在For循环中工作

我是递归的新手,并试图理解这段代码.我正在攻读考试,这是我从斯坦福大学的CIS教育图书馆(来自Nick Parlante的Binary Trees)找到的"评论家".

我理解这个概念,但是当我们在圈内进行递归时,一切都在吹!请帮我.谢谢.

countTrees()解决方案(C/C++)

/*
 For the key values 1...numKeys, how many structurally unique
 binary search trees are possible that store those keys.
 Strategy: consider that each value could be the root.
 Recursively find the size of the left and right subtrees.
*/

int countTrees(int numKeys) {
    if (numKeys <=1) {
        return(1);
    }

    // there will be one value at the root, with whatever remains
    // on the left and right each forming their own subtrees.
    // Iterate through …
Run Code Online (Sandbox Code Playgroud)

c c++ recursion for-loop

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

在memcached中增加项目最大大小?

我在我的centos服务器上使用memcached,我的项目很大,并且有超过1MB的对象,我需要保存到memcached,好吧,我不能!因为max_item_size是1MB,无论如何编辑它?

谢谢

memcached

11
推荐指数
2
解决办法
3万
查看次数

带点的子串

我正在使用SUBSTRING函数来检索邮件正文的"摘录":

SELECT m.id, m.thread_id, m.user_id, SUBSTRING(m.body, 1, 100) AS body, m.sent_at
FROM message m;
Run Code Online (Sandbox Code Playgroud)

我想要做的是在子串的末尾添加3个点,但前提是源字符串超过我的上限(100个字符),即子串必须切断字符串.如果源字符串少于100个字符,则无需在末尾添加任何点.

我使用PHP作为我的脚本语言.

php mysql sql

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

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

确定单击哪个JTable单元

当用户单击a上的单元格时JTable,如何计算单击单元格的行和列?我如何在一个JLabel?中显示这些信息?

java swing jtable listener

21
推荐指数
4
解决办法
4万
查看次数

用git恢复部分提交

我想在git中恢复一个特定的提交.不幸的是,我们的组织仍然使用CVS作为标准,所以当我提交回CVS时,多个git提交被归为一个.在这种情况下,我很想挑出原始的git提交,但这是不可能的.

是否有类似的方法git add --patch允许我有选择地编辑差异来决定提交的哪些部分还原?

git git-cvs

135
推荐指数
5
解决办法
3万
查看次数