问题列表 - 第26501页

NPE注释场景和Java静态分析工具

以下是一些可以抛出NullPointerException的代码片段.

01:

public void m1(@Nullable String text) {
    System.out.print(text.toLowerCase()); // <-- expect to be reported.
}
Run Code Online (Sandbox Code Playgroud)

02:

private boolean _closed = false;

public void m1(@Nullable String text) {
    if(_closed)
       return;

    System.out.print(text.toLowerCase()); // <-- expect to be reported.
}
Run Code Online (Sandbox Code Playgroud)

03:

public void m1(@NotNull String text) {
    System.out.print(text.toLowerCase());
}

public @Nullable String getText() {
    return "Some text";
}

public void m2() {
    m1(getText());  // <-- expect to be reported.
}
Run Code Online (Sandbox Code Playgroud)

不同的人可以访问不同的静态分析工具.收集信息,能够检测和报告问题的工具以及失败的信息会很好.另外,如果你有自己的风景,请发布它们.

在这里我的结果

FindBugs(1.3.9):

  • 01:[S]参数必须是非空的,但标记为可为空
  • 02:[F]未报告
  • 03:[F]没有报道

IntelliJ IDE 9.0.2(社区版):

  • 01:[S]方法调用text.toLowerCase()可能会产生java.lang.NullPointerException
  • 02:[S]方法调用text.toLowerCase()可能会产生java.lang.NullPointerException
  • 03:[S] …

java static-analysis nullpointerexception

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

iPad模拟器视图

当我在我的Mac上启动时,我希望增加我的iPad模拟器的大小,我将如何做到这一点?

现在模拟器的大小非常小,我甚至看不到它上面的文字!

ios-simulator

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

带有数组的Java Collections.rotate()不起作用

我有以下Java代码:

import java.util.Arrays;
import java.util.Collections;

public class Test {
    public static void main(String[] args) {
        int[] test = {1,2,3,4,5};
        Collections.rotate(Arrays.asList(test), -1);
        for(int i = 0; i < test.length; i++) { System.out.println(test[i]); }
    }

}
Run Code Online (Sandbox Code Playgroud)

我想要旋转数组,但我得到的输出是

1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

还有替代解决方案吗?

编辑:

这样可行:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        int[] test = {1,2,3,4,5};
        List<Integer> testList = new ArrayList<Integer>();
        for(int i = 0; i < test.length; i++) { testList.add(test[i]); } …
Run Code Online (Sandbox Code Playgroud)

java arrays collections list

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

查询LINQ中的项列表列表c#

我对LINQ有点新意,这是我的问题.

  • 我有一个项目清单清单
  • 我喜欢得到只存在于一个列表中的项目(如果我可以获得它们所在的列表而不重新遍历"列表列表"那将是很棒的).

我试图在Linq查询中使用Aggregate/Except/Group关键字但没有成功但到目前为止没有接近解决方案.

[编辑]可能是例如List<List<int>>和int的值不在其他列表中的条件.

说实话,如果我尝试了几个,foreach我成功找到了价值项,但我正在努力学习LINQ我想知道我应该写什么样的查询来获得结果

例如

 1,2,6
 1,6
 3,5
 5,10
 3,10,6
Run Code Online (Sandbox Code Playgroud)

将返回2和第一个列表

c# linq

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

C++命名空间和模板

我有一些功能可以组合在一起,但不属于某个对象/实体,因此不能被视为方法.

所以,基本上在这种情况下我会创建一个新的命名空间并将定义放在一个header文件中,即文件中的实现cpp.另外(如果需要)我将在该cpp文件中创建一个匿名命名空间,并将所有不必公开/包含的其他函数放在我的命名空间接口中.

请参阅下面的代码(可能不是最好的示例,可以使用其他程序架构更好地完成,但我想不出更好的示例...)

示例代码(header)

namespace algorithm {
   void HandleCollision(Object* object1, Object* object2);
}
Run Code Online (Sandbox Code Playgroud)

示例代码(cpp)

#include "header"

// Anonymous namespace that wraps 
// routines that are used inside 'algorithm' methods
// but don't have to be exposed
namespace {
   void RefractObject(Object* object1) {
      // Do something with that object
      // (...)
   }
}

namespace algorithm {
   void HandleCollision(Object* object1, Object* object2) {
      if (...) RefractObject(object1);
   }
}
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.我想这是管理我的代码的好方法,但我不知道如果我有一些基于模板的函数并且想要做的基本相同,我该怎么办.

如果我使用模板,我必须将所有代码放在header …

c++ templates namespaces

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

检测Web应用程序中的可疑行为 - 要​​查找什么?

我想问一下我们中间的主动(或偏执;):你在寻找什么,以及如何?

我主要考虑的是可以通过编程方式查看的内容,而不是手动检查日志.

例如:

  • 手动/自动黑客尝试.
  • 数据略读.
  • 机器人注册(已经避免了验证码等).
  • 其他不良行为.

只是想知道大多数人会认为实用和有效.

预防性的东西(如用户输入卫生设施)当然是至关重要的,但在这个问题的情况下,我更感兴趣的是检测潜在的威胁.在这种情况下,我对防盗报警感兴趣,而不是锁.

我正在谈论的那种事情的一个例子就在这里.如果您在短时间内对问题进行了太多修改,它会调出验证码以确保您不是机器人.

security bots web-applications

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

带有命名参数的Hibernate Native Query问题

我有Hibernate Native Query的问题.我有一个选择数组切片的SELECT(PostgreSQL数据库).

问题是hibernate识别以下部分:"SELECT my_array [1:300] ..."中的":300"作为命名参数,我得到以下异常:并未设置所有命名参数.

我试图用':','::'来逃避冒号(:),但没有成功.

Hibernate版本是3.2

java sql postgresql hibernate

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

如何检测UITextField何时变空

当UITextField变空时,我想执行某个操作(用户一个接一个地删除所有符号或使用clear选项).

我想过用两种方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;
Run Code Online (Sandbox Code Playgroud)

- (BOOL)textFieldShouldClear:(UITextField *)textField;
Run Code Online (Sandbox Code Playgroud)

UITextFieldDelegate
Run Code Online (Sandbox Code Playgroud)

我不确定如何在文本字段变空时检测到这种情况?我尝试过:

if ([textField.text length] == 0)
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为在从文本字段中删除符号之前调用上述方法的fisrt.

有任何想法吗?

iphone

8
推荐指数
2
解决办法
5613
查看次数

C++模板typedef

我上课了

template<size_t N, size_t M>
class Matrix {
    // ....
};
Run Code Online (Sandbox Code Playgroud)

我想typedef创建一个Vector(列向量),它相当于一个Matrix大小为N和1的东西.这样的东西:

typedef Matrix<N,1> Vector<N>;
Run Code Online (Sandbox Code Playgroud)

这会产生编译错误.以下内容创建了类似的内容,但并不完全符合我的要求:

template <size_t N>
class Vector: public Matrix<N,1>
{ };
Run Code Online (Sandbox Code Playgroud)

是否有解决方案或不太昂贵的解决方法/最佳实践?

c++ templates typedef c++11

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

通过网络同步音频

我正在创建一个客户端/服务器音频系统,它可以通过网络任意传输音频.一个中央服务器泵出音频流,x个客户端接收音频数据并播放它.到目前为止还没有任何魔法需要,我甚至可以将这个场景与开箱即用的VLC媒体播放器配合使用.

然而,棘手的部分似乎是同步音频回放,以便所有客户端都处于可听同步状态(只要感知到人类听众同步,就可以允许实际等待时间).

我的问题是,是否有任何已知的方法或算法用于此类同步问题(视频可能以相同的方式解决).我最初的想法围绕在物理机器之间同步时钟,从而创建一个虚拟的"主计时器",并以某种方式对齐音频数据包.

有些产品已经解决了这个问题(但对我的整体用例来说仍然不够):

http://www.sonos.com

http://netchorus.com/

任何指针都是最受欢迎的.谢谢.

PS:这个相关的问题似乎很久以前就已经死了.

algorithm audio streaming synchronization

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