小编nev*_*gqs的帖子

如果找到的第一个元素为null,为什么findFirst()会抛出NullPointerException?

为什么这会抛出java.lang.NullPointerException

List<String> strings = new ArrayList<>();
        strings.add(null);
        strings.add("test");

        String firstString = strings.stream()
                .findFirst()      // Exception thrown here
                .orElse("StringWhenListIsEmpty");
                //.orElse(null);  // Changing the `orElse()` to avoid ambiguity
Run Code Online (Sandbox Code Playgroud)

第一项stringsnull,这是一个完全可以接受的值.此外,findFirst()返回一个Optional,这对于findFirst()能够处理nulls 更有意义.

编辑:更新orElse()不那么模棱两可.

java optional java-8 java-stream

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

文字的算术运算是在编译时还是运行时计算的?

我有以下内容:

double timeInMinutes = (double) timeInMilliseconds / (1000 * 60);
Run Code Online (Sandbox Code Playgroud)

操作(1000 * 60)是在编译时还是在运行时完成的?换句话说,在上面的代码片段和运行时间之间是否存在性能差异:

double timeInMinutes = (double) timeInMilliseconds / 60000;
Run Code Online (Sandbox Code Playgroud)

编辑:我的问题不同于Java编译器会预先计算文字的总和吗?因为我在算术运算中混合使用变量和文字.这是一个很小的区别,但正如@TagirValeev在评论中指出的那样(在编译时或运行时计算文字的算术运算?),有些文字虽然可以预先编译,但是没有预编译.

java

27
推荐指数
3
解决办法
1620
查看次数

如果静态只读成员调用静态方法来获取值,它是否同步完成?

鉴于:

public class MyClass
{
    private static readonly Dictionary<string,int> mydict = CreateDictionary();

    private static Dictionary<string,int> CreateDictionary() { ... }
}
Run Code Online (Sandbox Code Playgroud)

这是同步完成的吗?(即可以两次快速实例化MyClass原因CreateDictionary()被调用两次?

c# static synchronous

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

拆包时是否可以指定默认值?

我有以下内容:

>>> myString = "has spaces"
>>> first, second = myString.split()
>>> myString = "doesNotHaveSpaces"
>>> first, second = myString.split()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack
Run Code Online (Sandbox Code Playgroud)

如果字符串没有任何空格,我想second默认None.我目前有以下内容,但我想知道是否可以在一行中完成:

splitted = myString.split(maxsplit=1)
first = splitted[0]
second = splitted[1:] or None
Run Code Online (Sandbox Code Playgroud)

python python-3.x iterable-unpacking

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

Git中是否可以只播放分阶段和修改过的文件?

在Git中是否可以只播放已经上演但从那时起被修改过的文件?

例如,给定:

> git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   file1
        modified:   file2

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   file2
        modified:   file3
Run Code Online (Sandbox Code Playgroud)

是否有可能告诉Git只有阶段file2而没有指定file2(例如不是git add file2或类似的东西)?

git

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

对于Travis CI来说,查找和运行测试的Python项目结构应该是什么样的?

我目前有一个包含以下.travis.yml文件的项目:

language: python
install: "pip install tox"
script: "tox"
Run Code Online (Sandbox Code Playgroud)

在本地,tox正确执行并运行35个测试,但在Travis CI上,它运行0个测试.

更多细节:https://travis-ci.org/neverendingqs/pyiterable/builds/78954867

我也尝试过其他方式,包括:

language: python
python:
  - "2.6"
  - "2.7"
  - "3.2"
  - "3.3"
  - "3.4"
  - "3.5.0b3"
  - "3.5-dev"
  - "nightly"
# also fails with just `nosetest` and no `install` step
install: "pip install coverage unittest2"
script: "nosetests --with-coverage --cover-package=pyiterable"
Run Code Online (Sandbox Code Playgroud)

他们也找不到任何测试.

我的项目结构是这样的:

- ...
- <module>
- tests (for the module)
- ...
Run Code Online (Sandbox Code Playgroud)

项目/文件夹结构不正确吗?

python nose travis-ci tox

6
推荐指数
1
解决办法
966
查看次数

如果我有拉取请求的 GitHub 问题编号,它与拉取请求编号相同吗?

当我在问题发生后立即创建拉取请求时,拉取请求编号通常比问题编号大 1,这表明它们共享相同的计数器。同样,创建问题评论API 似乎是在拉取请求中评论主要讨论的主要方式,并且 API 请求issue_number. 然而,GitHub 上没有任何正式声明问题编号等于拉取请求编号。

是否有任何官方文档或评论可以验证拉取请求的问题编号是否等于其拉取请求编号?

github pull-request github-issues

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

有没有办法在尝试实际发布之前检测您是否有权通过 npm 发布?

我想检测我是否有权限运行npm publish而不实际进行发布。我尝试过npm publish --dry-run,但即使我没有权限,它也可以成功运行。看起来这仅对显示 tarball 的外观有用。

有没有办法也进行权限检查?

npm

6
推荐指数
0
解决办法
150
查看次数

如果您在分支之前忘记创建“主”分支,如何在 git 上创建它?

最近有人在本地创建了一个存储库,进行了分支,然后仅将分支推送到远程。另一个人是否可以在没有任何提交的情况下创建“master”分支,并将其推送到远程?

git branch

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

是否有内置的等效于C#的Enumerable.Single()?

在C#中,如果你有一个可枚举的并尝试在其上调用.Single(),如果它中没有一个元素,它将抛出一个错误.

为此,是否有类似Python的内置功能?

if len(iterable) == 0 or len(iterable) > 1:
    raise Error("...")
return iterable[0]
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
1
解决办法
221
查看次数