小编fro*_*die的帖子

如果解释Python,什么是.pyc文件?

我已经理解Python是一种解释型语言......然而,当我查看我的Python源代码时,我看到了.pycWindows,它们识别为"编译的Python文件".这些来自哪里?

python compiled interpreted-language pyc

1017
推荐指数
10
解决办法
47万
查看次数

List <Dog>是List <Animal>的子类吗?为什么Java泛型不是隐式多态的?

我对Java泛型如何处理继承/多态性感到困惑.

假设以下层次结构 -

动物(父母)

- (儿童)

所以假设我有一个方法doSomething(List<Animal> animals).根据所有继承和多态的规则,我会假设a List<Dog> a List<Animal>而a List<Cat> a List<Animal>- 所以任何一个都可以传递给这个方法.不是这样.如果我想实现这种行为,我必须明确告诉该方法接受一个Animal的任何子类的列表doSomething(List<? extends Animal> animals).

我知道这是Java的行为.我的问题是为什么?为什么多态通常是隐含的,但是当涉及泛型时必须指定它?

java generics polymorphism inheritance

727
推荐指数
10
解决办法
10万
查看次数

我可以在同一个catch子句中捕获多个Java异常吗?

在Java中,我想做这样的事情:

try {
    ...     
} catch (/* code to catch IllegalArgumentException, SecurityException, 
            IllegalAccessException, and NoSuchFieldException at the same time */) {
   someCode();
}
Run Code Online (Sandbox Code Playgroud)

...代替:

try {
    ...     
} catch (IllegalArgumentException e) {
    someCode();
} catch (SecurityException e) {
    someCode();
} catch (IllegalAccessException e) {
    someCode();
} catch (NoSuchFieldException e) {
    someCode();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

java exception try-catch multi-catch

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

在if语句中初始化变量的范围是什么?

我是Python的新手,所以这可能是一个简单的范围问题.Python文件(模块)中的以下代码让我感到困惑:

if __name__ == '__main__':
    x = 1

print x
Run Code Online (Sandbox Code Playgroud)

在我工作过的其他语言中,这段代码会引发异常,因为x变量是if语句的本地变量,不应该存在于它之外.但是这段代码执行并打印1.任何人都可以解释这种行为吗?模块中创建的所有变量是全局/可用于整个模块吗?

python variables scope if-statement local-variables

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

如何通过两个循环列表?

可能重复:
以块的形式迭代列表的最"pythonic"方法是什么?

我想循环遍历Python列表并一次处理2个列表项.用另一种语言这样的东西:

for(int i = 0; i < list.length(); i+=2)
{
   // do something with list[i] and list[i + 1]
}
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

python iteration loops for-loop list

231
推荐指数
5
解决办法
39万
查看次数

如何获取PreparedStatement的SQL?

我有一个通用的Java方法,具有以下方法签名:

private static ResultSet runSQLResultSet(String sql, Object... queryParams)
Run Code Online (Sandbox Code Playgroud)

它打开一个连接,PreparedStatement使用sql语句和queryParams变量长度数组中的参数构建一个,运行它,缓存ResultSet(在a中CachedRowSetImpl),关闭连接,并返回缓存的结果集.

我在记录错误的方法中有异常处理.我将sql语句记录为日志的一部分,因为它对调试很有帮助.我的问题是记录String变量会sql使用?而不是实际值记录模板语句.我想记录已执行(或尝试执行)的实际语句.

那么......有没有办法获得将由a运行的实际SQL语句PreparedStatement?(没有自己构建它.如果我找不到访问PreparedStatement'sSQL的方法,我可能最终会自己构建它catch.)

java sql jdbc prepared-statement

150
推荐指数
5
解决办法
23万
查看次数

如何在Java中获取第一个非null值?

是否有Java等效的SQL COALESCE函数?也就是说,有没有办法返回几个变量的第一个非空值?

例如

Double a = null;
Double b = 4.4;
Double c = null;
Run Code Online (Sandbox Code Playgroud)

我想无论如何都将返回的第一个非NULL值的语句a,b以及c-在这种情况下,它会返回b,或4.4.(类似于sql方法 - 返回COALESCE(a,b,c)).我知道我可以用以下方式明确地做到:

return a != null ? a : (b != null ? b : c)
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有任何内置的,可接受的功能来实现这一目标.

java coalesce

143
推荐指数
10
解决办法
8万
查看次数

NOT EXISTS与NOT IN和LEFT JOIN之间的区别是什么?

在我看来,你可以使用NOT EXISTS,NOT IN或LEFT JOIN WHERE为NULL在SQL查询中做同样的事情.例如:

SELECT a FROM table1 WHERE a NOT IN (SELECT a FROM table2)

SELECT a FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 WHERE table1.a = table2.a)

SELECT a FROM table1 LEFT JOIN table2 ON table1.a = table2.a WHERE table1.a IS NULL
Run Code Online (Sandbox Code Playgroud)

我不确定我的语法是否正确,但这些是我见过的一般技术.为什么我会选择使用一个而不是另一个?性能有所不同......?哪一个是最快/最有效的?(如果它取决于实施,我何时会使用每一个?)

sql

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

有没有办法在Eclipse中查找/替换整个项目?

我正在尝试查找并替换Eclipse项目中的许多文件,但我似乎无法找到一种方法来实现它.谷歌搜索告诉我有插件可以实现这一点,但Eclipse中是否有任何内置功能?(这似乎是一项非常基本的任务;令我感到惊讶的是,我无法找到办法.)

eclipse replace project

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

如何回到Eclipse?

有没有办法回到Eclipse?基本上,当我在执行流程(ctrl + click等)之后跳转一个大项目时,有没有办法回溯一步?如果我的代码调用一个方法并且我转到方法定义,是否有一个组合键将我带回调用代码?

java eclipse

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