小编tfb*_*bt8的帖子

在Python中处理反斜杠作为命令行参数

我知道在编程中逃避反斜杠.但是我将命令行参数传递给Python程序进行解析.空白是无关紧要的,但是通过命令行,空格确实很重要.所以我试图将除第一个元素之外的所有argv []参数连接到一个字符串然后解析.但是,在for循环中永远不会遇到单个'\'的标记.

命令行参数(注意'\'周围的空格):

((1 * 2) + (3 - (4 \ 5)))
Run Code Online (Sandbox Code Playgroud)

程序:

import sys
string = ""
for token in sys.argv[1:len(sys.argv)]:
    print(token)
    if "\\" in r"%r" % token:
        print("Token with \\ found")
    string += token
print(string)
print("done")
Run Code Online (Sandbox Code Playgroud)

python string backslash command-line-arguments

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

Java NullPointerException 检查链式方法

我想在访问几个类深的字段(在 get 方法链中)时检查空指针。但是,如果早期的方法之一是null我无论如何都会得到NullPointerException

这就是我想要检查的内容,尽管它仍然可以获得NullPointerException

if(x.getLocation().getBuilding().getSolidFuelInd() != null)
            pol.setWood_heat_ind(x.getLocation().getBuilding().getSolidFuelInd() ? "Y" : "N");
Run Code Online (Sandbox Code Playgroud)

这是我希望上面的代码表现出的行为:

if(x.getLocation() != null)
    if(x.getLocation().getBuilding() != null)
        if(x.getLocation().getBuilding().getSolidFuelInd() != null)
            pol.setWood_heat_ind(x.getLocation().getBuilding().getSolidFuelInd() ? "Y" : "N");
Run Code Online (Sandbox Code Playgroud)

pol 上的字段是可选的,并且仅当上述 getter 不是时才应设置null。然而,建筑物和位置对象也可能是null,所以现在我必须检查它们是否有效。

有没有一种更短的方法可以像我想要的那样检查上述所有内容?

java null nullpointerexception

5
推荐指数
2
解决办法
1703
查看次数