小编Woo*_*Moo的帖子

Java String.split是否可以返回null String []

是否可以split返回null String[]?我很好奇,因为我想在我的代码中尽可能地保持防御,而不需要进行不必要的检查.代码如下:

String[] parts = myString.split("\\w");  
Run Code Online (Sandbox Code Playgroud)

在使用parts后分割之前,是否需要执行空检查?

java string defensive-programming

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

c#switch语句返回适合替换break

这是处理c#switch语句的合适方法还是需要显式中断? 参考

  public static string ToRegistryString(AliceKey.AliceKeyPaths aliceKeyPath)
    {
     switch (aliceKeyPath)
        {
            case AliceKey.AliceKeyPaths.NET_CLR_DATA:
                return @"\.NET CLR Data\";
            case AliceKey.AliceKeyPaths.NET_CLR_NETWORKING:
                return @"\.NET CLR Networking\";
            case AliceKey.AliceKeyPaths.NET_DATA_PROVIDER_MSSQL:
                return @"\.NET Data Provider for SqlServer\";
            case AliceKey.AliceKeyPaths.NET_DATA_PROVIDER_ORACLE:
                return @"\.NET Data Provider for Oracle\";
         }
       return new string(new char[0]);
     }
Run Code Online (Sandbox Code Playgroud)

c# case switch-statement

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

原始数组如何在Java中为每个循环使用new?

我知道每个循环的新特性适用于Iterable和数组,但我不知道在使用数组时幕后是什么.

任何人都可以帮我理解这个吗?提前致谢.

int[] number = new int[10];

for(int i: number) {

}
Run Code Online (Sandbox Code Playgroud)

java arrays foreach

21
推荐指数
3
解决办法
2万
查看次数

出于性能原因,Java String.split传入预编译的正则表达式

正如问题所述,给出了以下代码:

public class Foo
{
   public static void main(String[] args)
   {  
         String test = "Cats go meow";  
         String[] tokens = test.split(" ");
   }
}
Run Code Online (Sandbox Code Playgroud)

是否可以在split函数中预编译该正则表达式:

public class Foo
{  
   Pattern pattern = Pattern.compile(" ");
   public static void main(String[] args)
   {  
         String test = "Cats go meow";  
         String[] tokens = test.split(pattern);
   }
}
Run Code Online (Sandbox Code Playgroud)

java regex performance

17
推荐指数
3
解决办法
5223
查看次数

angularjs从属性文件中读取

在angularJS中,如何从属性文件中读取值?

connection.properties:  

url="http://localhost:8080"  
user= "me"  
get= "GET"  
post= "POST"
Run Code Online (Sandbox Code Playgroud)

app.js:

var app = angular.module('testing',[]);  
app.controller('testCtrl',function($scope,$http) {    
     $http({    
        url: connection.properties.url  ,
        method: connection.properties.get,  
        params: {user: connection.properties.user})        
     });
});
Run Code Online (Sandbox Code Playgroud)

javascript properties angularjs

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

Oracle SQL更新基于两个表之间的子查询

我目前正在编写更新语句,以使可查询表始终保持最新状态.两个表之间的模式相同,内容并不重要:

STAGING  

ID  
NAME  
COUNT    

PRODUCTION  

ID  
NAME  
COUNT
Run Code Online (Sandbox Code Playgroud)

我的更新语句如下所示:

update PRODUCTION  
set name = (select stage.name from staging stage where stage.name=name  and rownum <2),  
    count =   (select stage.countfrom staging stage where stage.count=count  and rownum <2);
Run Code Online (Sandbox Code Playgroud)

需要注意的两点是:1)在更新结束时没有where子句(这可能是问题)和2)更新后的所有记录都具有相同的值.我的意思是:

BEFORE UPDATE:  

1,"JOHN", 12;  
2,"STEVE",15;  
3,"BETTY",2;  

AFTER UPDATE  

    1,"JOHN", 12;  
    2,"JOHN",12;  
    3,"JOHN",12;
Run Code Online (Sandbox Code Playgroud)

我的问题是如何解决这个问题,以便表格正确地反映来自登台的"新"数据作为正确的SQL更新?

UPDATE

因此,我的暂存数据可能会巧合地反映其中的内容PRODUCTION并且为了讨论它将:

STAGING DATA TO MERGE:  

    1,"JOHN", 12;  
    2,"STEVE",15;  
    3,"BETTY",2; 
Run Code Online (Sandbox Code Playgroud)

更新第二个

我想要运行的查询是这样的:

update PRODUCTION
set production.name = staging.name,  
    production.count = staging.count

where production.name = staging.name;
Run Code Online (Sandbox Code Playgroud)

但是这会导致"staging.name"上的标识符问题无效

sql oracle

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

Java字节码"过多"的重复数量被认为是"差"代码?

这是一个两部分的问题,但是单个部分没有意义.dup字节码输出中是否有大量指令表示代码写得不好?所有字节码指令的某个百分比定义大的位置.进一步如何重写生成dup指令的代码?

java optimization performance bytecode

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

Java接口 - 合同到底是什么?

我知道并理解Java中接口的价值.您编写接口,然后您可以更改您的实现,而无需使用该接口更改任何代码.通常,术语"合同"与接口一起使用.我理解它的方式是接口定义应用程序和实现之间的"契约".

所以,当我创建一个实现时,我必须履行合同.我的问题是,我必须履行的合同究竟是什么?

显然,您必须至少提供与接口具有相同签名的方法.否则代码将无法编译.这是所有的"合同"吗?似乎应该有更多.

例如,我读过一些文章,讨论测试界面与测试特定实现的价值,或两者兼而有之.我认为对接口进行测试非常有价值,这样您就可以知道哪些输入具有预期的输出.在我看来,这也将是"合同"界面的一部分.接口的每个实现都应该从相同的输入产生相同的输出.显然,没有办法在代码中强制执行此合同,但可以通过测试用例强制执行.我的想法在这里错了吗?

最后,实现有哪些副作用?在这里,我主要讨论可能作为实现的一部分发生的任何持久性.假设我有一个实现,它会在执行操作时将一些记录保存到数据库中.这会以某种方式成为界面"合同"的一部分吗?如果是这样,你怎么能执行这份合同?从界面层面来看,我不知道实现实际上在做什么.我所知道的是我给它输入,它给了我一个输出,我可以测试.发生的任何持久性是否也被视为"输出"?如果是这样,我只是看不出如何测试和执行.我是坚持无知的支持者,所以我可以知道应该坚持某些东西,但我不知道它是如何持久存在的.所以,我只是不知道什么时候实际存在的东西.如果您的界面有一些简单的CRUD操作可能很简单,但我想考虑更复杂的界面.

我希望我的问题有道理,有人可以提供一些好的反馈.我想一般性地讨论这个问题,但如果我不清楚我在谈论什么,我可以提供一个具体的例子.

java interface interface-implementation

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

50%/ 50%div,点击100%动画

我在做什么:

我正在一个有两个不同"侧面"的网站上工作,当你点击左侧时,左侧需要100%.如果单击右侧,则右侧必须为100%.

完成了:

我做了左右两边.并用Jquery制作动画.

问题
单击左侧div时动画正在工作(仅当我添加绝对位置时才有效),但是当我尝试为右侧创建相同的动画时; 它不工作!我创建了一个jsFiddle,所以你可以看到当前的代码:http://jsfiddle.net/sh3Rg/

我无法做出正确的工作.当你点击右边的div; 它需要动画到100%.就像左边一个.

您可以在此处查看实时预览和代码:http://jsfiddle.net/sh3Rg/

HTML:

<div id="left"></div>
<div id="right"></div>
Run Code Online (Sandbox Code Playgroud)

JS:

<script>
$('#left').click(function(){
    $('#left').animate({width:'100%'}, 2500);
});
</script>
<script>
$('#right').click(function(){
    $('#right').animate({width:'100%'}, 2500);
});
</script>
Run Code Online (Sandbox Code Playgroud)

CSS:

html,body {
    padding:0;
    margin:0;
    height:100%;
    min-height:100%;
    background-color: #000000;
}
p { 
    cursor: pointer;
    color: #FFF;
}
#left {
    width: 50%;
    height: 100%;
    background: #666;
    float: left;
    cursor: pointer;
    position: absolute;
}
#right {
    width: 50%;
    height: 100%;
    background: #063;
    float: right;
    cursor: pointer;    
} …
Run Code Online (Sandbox Code Playgroud)

jquery

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

SonarLint插件IntelliJ没有身份验证

是否可以SonarQube 5.6.1使用SonarLint 3.0.0插件连接到远程服务器IntelliJ 2017.1而不使用默认情况下的身份验证?目前插件似乎想要username/passwordORtoken

authentication sonarqube sonarlint

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