我有一个变量类,我不希望它为null或空.有没有办法使用Lombok构建器来设置属性?我可以使用,@NonNull但我无法验证它是否为空.显然,另一种选择是编写我自己的构建器来执行所有这些检查.例如:
class Person {
@NonNull
private String firstName;
@NonNull
private String lastName;
public static class PersonBuilder() {
// .
// .
// .
public Person build() {
//do checks for empty etc and return object
}
}
}
Run Code Online (Sandbox Code Playgroud) 我在a&中存储了两个字符串b.如果两个字符串都有一些值,我想要进行一些验证.为此,我使用:
if(a && b) {
//Do some processing.
}
Run Code Online (Sandbox Code Playgroud)
但是,如果其中一个是空的而另一个不是,那么我需要单独处理它.如果两者都是空的,我不需要做任何事情.所以基本上处理这种情况是XNOR的错误情况.我可以这样做:
if((a && !b) || (!a && b)) {
//handle separately.
}
Run Code Online (Sandbox Code Playgroud)
有比这更好的方法吗?
我有一个类型的有效值的列表:
Set<String> validTypes = ImmutableSet.of("TypeA", "TypeB", "TypeC");
Run Code Online (Sandbox Code Playgroud)
我想从给定的列表中提取具有有效类型的第一个值。在这种情况下,我会写这种东西:
public class A{
private String type;
private String member;
}
List<A> classAList;
classAList.stream()
.filter(a -> validTypes.contains(a.getType()))
.findFirst();
Run Code Online (Sandbox Code Playgroud)
但是我想优先考虑TypeA,例如,如果classAList有TypeA和TypeB,我想要有的对象typeA。为此,我要做的是:
Set<String> preferredValidTypes = ImmutableSet.of("TypeA");
classAList.stream()
.filter(a -> preferredValidTypes.contains(a.getType()))
.findFirst()
.orElseGet(() -> {
return classAList.stream()
.filter(a -> validTypes.contains(a.getType()))
.findFirst();
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法?
我有一个课程延伸BroadcastReceiver.在收到短信时,我想将信息传递给我的主要活动类,以便在一个方框中显示文本(如果已存在文本,则附加).
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
Intent i = new Intent(context, MainActivity.class);
i.putExtra("updatedString","Hello");
context.startActivity(i);
}
}
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
public class MainActivity extends Activity{
private TextView results;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bundle extras = getIntent().getExtras();
if(extras!=null){
results = (TextView) findViewById(R.id.results);
results.setVisibility(View.VISIBLE);
results.append(extras.getString("updatedString"));
}
}
Run Code Online (Sandbox Code Playgroud)
我只有一个活动类(MainActivity.java).但是,当我这样做时,我得到一个异常无法暂停活动.
我有一个函数,它是名为 的对象的一部分server,即 server.log 是我用来记录数据的函数。尽管我希望 server.log 可用于其他文件中的函数,但我不想将服务器的其他属性传递给其他函数。
function test() {
testingThis(server.log);
}
function testingThis(logf) {
logf("test123");
}
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息
无法读取未定义的属性“emit”
我正在使用 happy 控制台模块来记录(server.log 在测试功能中工作正常)。
我已经开始使用Lombok库,我无法弄清楚使用wither和构建器之间的区别.
@Builder
@Wither
public class Sample {
private int x;
private int y;
}
Run Code Online (Sandbox Code Playgroud)
现在我可以用两种方式创建一个对象:
Sample s = new Sample().builder()
.x(10)
.y(15)
.build();
Run Code Online (Sandbox Code Playgroud)
要么
Sample s = new Sample()
.withx(10)
.withy(10);
Run Code Online (Sandbox Code Playgroud)
两者有什么区别?我应该使用哪一个?
我有一个功能,如下所示:
function test(parms) {
var self = this;
return this.test2(parms)
.then(function (data) {
if (data) {
return ;
}
else {
return Bluebird.delay(1000)
.then(self.test.bind(self, parms));
}
}.bind(self));
};
Run Code Online (Sandbox Code Playgroud)
我正在尝试为此函数编写单元测试。我sinon.stub用来模拟函数的功能test2。
我写了一个测试用例,其中test2返回true,因此test函数成功完成执行。但是我想要一个测试用例,在第一个实例test2返回时false,它等待延迟并且下次test2返回true。为此,我写了我的测试用例如下:
var clock;
var result;
var test2stub;
var count = 0;
before(function () {
clock = sinon.useFakeTimers();
//object is defined before
test2stub = sinon.stub(object,"test2", function () {
console.log("Count is: " + count);
if …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的rubyonrails应用程序创建一个postgresql数据库,我在安装后按照以下步骤操作:
sudo -u postgres -i
psql
CREATE USER rohitrp
CREATE DATABASE library_development OWNER rohitrp
CREATE DATABASE library_test OWNER rohitrp
Run Code Online (Sandbox Code Playgroud)
我的database.yml看起来像这样:
development:
adapter: postgresql
encoding: unicode
database: library_development
username: rohitrp
password:
pool: 5
timeout: 5000
test:
adapter: postgresql
encoding: unicode
database: library_test
username: rohitrp
password:
pool: 5
timeout: 5000
Run Code Online (Sandbox Code Playgroud)
当我运行rake db:setup时出现以下错误:
PG::InsufficientPrivilege: ERROR: permission denied to create database
: CREATE DATABASE "library_development" ENCODING = 'unicode'
/home/rohitrp/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:155:in `async_exec'
/home/rohitrp/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:155:in `block in execute'
/home/rohitrp/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_adapter.rb:473:in `block in log'
/home/rohitrp/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/home/rohitrp/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_adapter.rb:467:in `log'
/home/rohitrp/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:154:in `execute' …Run Code Online (Sandbox Code Playgroud) 我在我的 cassandra 节点中启用了 ssl 加密,我正在尝试弄清楚如何使用带有 ssl 的 cqlsh 连接到我的节点:
当我运行时./cqlsh --ssl,出现以下错误:
Validation is enabled; SSL transport factory requires a valid certfile to be specified. Please provide path to the certfile in [ssl] section as 'certfile' option in /root/.cassandra/cqlshrc (or use [certfiles] section) or set SSL_CERTFILE environment variable.
Run Code Online (Sandbox Code Playgroud)
我点击了https://docs.datastax.com/en/cassandra/2.1/cassandra/security/secureCqlshSSL_t.html上的链接:
[authentication]
username = fred
password = !!bang!!$
Run Code Online (Sandbox Code Playgroud)
我保留在根文件夹中,以便任何用户都可以登录并访问公共文件夹(而不是在我的用户目录中)。但是,在这种情况下密码是什么?我需要输入密码吗?!
certfile = ~/keys/node0.cer.pem
Run Code Online (Sandbox Code Playgroud)
我是否需要将此证书文件添加到 cassandra 的信任库中,或者我可以只添加 cassandra 节点证书本身?
我正在使用 Cassandra 2.2.7。
java ×3
javascript ×3
builder ×2
lombok ×2
node.js ×2
amazon-sqs ×1
android ×1
aws-sdk ×1
cassandra ×1
cqlsh ×1
datastax ×1
java-8 ×1
postgresql ×1
sinon ×1
ssl ×1
ubuntu-14.04 ×1
unit-testing ×1