问题列表 - 第26254页

如何在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万
查看次数

从pom设置groovysh类路径

我有一个java项目(不使用groovy)但我想在groovysh中交互式地使用我的java类.有没有一种简单的方法可以使用我项目中的pom来设置groovysh的类路径?

java groovy maven-2

3
推荐指数
1
解决办法
1403
查看次数

解释JMX URL

我想了解一个JMX服务URL.

service:jmx:rmi://192.168.30.10:1234/jndi/rmi://192.168.30.10:2344/jmxrmi
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我理解这一点,那就太好了.

谢谢

java jmx

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

如何创建灵活的插件架构?

我的开发工作中的一个重复主题是使用或创建内部插件架构.我已经看到它涉及多种方式 - 配置文件(XML,.conf等),继承框架,数据库信息,库等.在我的经验中:

  • 数据库不是存储配置信息的好地方,尤其是与数据混合在一起
  • 尝试使用继承层次结构需要了解要编码的插件,这意味着插件架构不是那么动态
  • 配置文件适用于提供简单信息,但无法处理更复杂的行为
  • 库似乎运行良好,但必须仔细创建单向依赖.

当我试图从我曾经使用过的各种架构中学习时,我也在寻求社区的建议.您是如何实现SOLID插件架构的?你最糟糕的失败是什么(或者你看到的最严重的失败)?如果要实现新的插件架构,您会怎么做?您使用过的SDK或开源项目是否具有良好架构的最佳示例?

我自己找到的几个例子:

这些例子似乎发挥了各种语言优势.一个好的插件架构是否必然与语言相关?最好使用工具来创建插件架构,还是在自己的以下模型上进行?

language-agnostic architecture plugins plugin-architecture

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

解绑内联onClick不能在jQuery中工作?

好的,我想知道如何在jQuery中取消绑定内联onclick事件.你认为.unbind()会起作用,但事实并非如此.

要自己测试一下,请使用以下HTML和JavaScript:

function UnbindTest() {
    $("#unbindTest").unbind('click');
}

function BindTest() {
    $("#unbindTest").bind('click', function() { alert("bound!"); });
}


<button type="button" onclick="javascript:UnbindTest();">Unbind Test</button>
<button type="button" onclick="javascript:BindTest();">Bind Test</button>
<button type="button" onclick="javascript:alert('unbind me!');" id="unbindTest">Unbind Button</button>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,取消绑定并不解除内联onclick事件的绑定...但它确实解除了添加的click事件的绑定bind().

所以,我想知道是否有办法解除内联onclick事件,而不是执行以下操作:

$("#unbindTest").get(0).onclick = "";
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript jquery

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

启动禁用的Windows服务?

如何从命令行启动禁用的Windows服务?

NET START"服务"不适用于已禁用的服务

windows networking windows-services

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

使用OpenQuery在视图上创建索引

SQL Server不允许使用模式绑定创建视图查询使用的视图OpenQuery,如下所示.

替代文字

有没有办法或解决方法在这样的视图上创建索引?

t-sql sql-server indexing query-optimization

3
推荐指数
1
解决办法
2402
查看次数

在SVN Commit中删除'M'odified line是否有效

svn ci你运行命令时,你会得到一个允许你发表评论的文本编辑器,下面是文本" - 这行,下面的那些,将被忽略 - ",然后修改,添加或删除文件.

如果我要删除一行,例如:

M folderA/fileA

它会从签入中删除该文件,还是只是一个没有其他影响的SVN注释?

unix svn vim command-line

0
推荐指数
2
解决办法
247
查看次数

递归问题重载运算符

我有这个:

typedef string domanin_name;
Run Code Online (Sandbox Code Playgroud)

然后,我尝试以这种方式重载运算符<

bool operator<(const domain_name & left, const domain_name & right){
    int pos_label_left = left.find_last_of('.');   
    int pos_label_right = right.find_last_of('.');

    string label_left = left.substr(pos_label_left);
    string label_right = right.substr(pos_label_right);
    int last_pos_label_left=0, last_pos_label_right=0;

    while(pos_label_left!=string::npos && pos_label_right!=string::npos){
        if(label_left<label_right) return true;
        else if(label_left>label_right) return false;

        else{
            last_pos_label_left = pos_label_left;
            last_pos_label_right = pos_label_right;

            pos_label_left = left.find_last_of('.', last_pos_label_left);
            pos_label_right = right.find_last_of('.', last_pos_label_left);

            label_left = left.substr(pos_label_left, last_pos_label_left);
            label_right = right.substr(pos_label_right, last_pos_label_right);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道这是一种使运算符重载的奇怪方法<,但我必须这样做.它应该做我想要的.这不是重点.

问题是它在这一行中进入无限循环:

if(label_left<label_right) return true;
Run Code Online (Sandbox Code Playgroud)

似乎它试图使用这个重载函数本身进行比较,但label_left是一个字符串,而不是域名!

有什么建议吗?

c++ operator-overloading

3
推荐指数
1
解决办法
742
查看次数

对于Perl 5.8与5.10和5.12的子程序中的代码延迟评估有什么区别?

在Perl 5.8下,这段代码的行为与在Perl 5.12下的行为不同:

my $badcode = sub { 1 / 0 };
print "Made it past the bad code.\n";
Run Code Online (Sandbox Code Playgroud)

当我在5.8下运行它时,即使我从未执行分区,我也会收到错误:

[brock@chase tmp]$ /usr/bin/perl -v  

This is perl, v5.8.8 built for i486-linux-gnu-thread-multi

[brock@chase tmp]$ /usr/bin/perl badcode.pl  
Illegal division by zero at badcode.pl line 1.

[brock@chase tmp]$ /usr/local/bin/perl -v  

This is perl 5, version 12, subversion 0 (v5.12.0) built for i686-linux  

[brock@chase tmp]$ /usr/local/bin/perl badcode.pl  
Made it past the bad code.

在perl 5.10.1下,它的行为与在5.12下的行为相同:

brock@laptop:/var/tmp$ perl -v

This is perl, v5.10.1 (*) built …

perl perl5.8

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