小编One*_*ree的帖子

如何将Double.POSITIVE_INFINITY转换为BigDecimal?

我试过了BigDecimal.valueOf(Double.POSITIVE_INFINITY),但一直在努力NumberFormatException

谢谢

java

10
推荐指数
2
解决办法
4197
查看次数

逃避美元符号bashscript(使用awk)

我想在我的bashscript中使用awk,这条线显然不起作用:

line="foo bar"
echo $line | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

我如何逃避$1,所以它不会被脚本的第一个参数替换?

bash awk

9
推荐指数
1
解决办法
9938
查看次数

确定静态方法是否纯粹是功能性的

给定一个java.lang.reflect.Method对象,无论如何都要确定该方法是否是纯粹的功能(即,给定相同的输入,它将始终产生相同的输出并且它是无状态的.换句话说,该功能不依赖于其环境)?

java reflection purely-functional

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

依靠Java的短路评估(编码风格)

在布尔评估中严重依赖短路是否是一种良好的编码风格?

我认识一个喜欢这样做的人.例如,如果业务逻辑是"如果Alice不饿,或者Alice和Bob都饿了",而不是写作

// if Alice is not hungry or both alice and bob are hungry
if (!A || A && B)` 
Run Code Online (Sandbox Code Playgroud)

他会写的

// if Alice is not hungry OR both alice and bob are hungry
if (!A || B)
Run Code Online (Sandbox Code Playgroud)

认为这||是短路的,所以当且仅当第一个是false(意味着A = true)时,才对右操作数进行评估.

(令人烦恼的是,乍一看,你会认为这是一个错误,但如果你把它改成更明显的话,你会觉得你看起来很愚蠢!)

java coding-style

9
推荐指数
3
解决办法
247
查看次数

如何检查对象是否是某种类型的数组

我有一个对象Field field.

我想检查是否field是类型的对象Foo或数组:Foo[].

Psuedo代码:

if field.getType() is Foo || field.getType is Foo[]
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我试过了

if (field.getType().isArray())
    // do something
Run Code Online (Sandbox Code Playgroud)

但这只允许我检查是否field是一个数组.

相反,这样做只会检查它是否是一个对象 Foo

if (Foo.class.isAssignableFrom(field.getType())
     // do something
Run Code Online (Sandbox Code Playgroud)

知道怎么做吗?

谢谢.

java reflection field

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

在非最终对象上同步

private volatile Object obj = new MyObject();
void foo() 
{
  synchronized(obj)
  {
    obj.doWork();
  }
}
void bar()
{
  synchronized(obj)
  {
    obj.doWork();
    obj = new MyObject(); // <<<< notice this line (call it line-x)
  }
}
Run Code Online (Sandbox Code Playgroud)

假设在某个时间点,一个线程 t_bar在执行bar(),而另一个t_foo正在执行foo,并t_bar刚刚收购了obj,所以t_foo是在效果,等待着.

bar执行sync-block后, foo将执行其sync-block,对吧?obj它会看到什么价值?旧的?或者新的一套bar

(我希望看到新的价值,这就是编码的重点,但我想知道这是否是'安全'的赌注)

java synchronize

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

在PSQL中查找表名

我的DB有很多表(Say 400+),我只记得我要找的那个名字的一部分.

我知道\d会显示所有表格,但这太过分了.是否有一些命令列出名称与给定正则表达式匹配的所有表?

谢谢

psql

7
推荐指数
2
解决办法
4765
查看次数

如何“反转”差异文件?

假设我有一个 diff 文件,看起来基本上如下所示。

+line a
-line b
Run Code Online (Sandbox Code Playgroud)

是否可以执行以下一项(或两项)操作:

diff patch

7
推荐指数
3
解决办法
2107
查看次数

在C++中的原始字符串中转义R"()"

  string raw_str = R"(R"(foo)")";
Run Code Online (Sandbox Code Playgroud)

如果我有R"()"一个原始字符串,这会导致解析器混淆.(即,它认为最左边)"是原始字符串的结尾.

我怎么逃避这个?

c++ rawstring c++11

7
推荐指数
2
解决办法
5140
查看次数

给定一个排序的int数组,找到log(n)中最常出现的元素

在O(n)中很容易找到最常出现的元素.是否有更快的算法(O(logn))来做到这一点?(给定数组已排序)

algorithm binary search

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