小编Lar*_*ren的帖子

将Set <String>的内容放到单个String中的最快方法,其中单词用空格分隔?

我有几个Set<String>s,并希望将每个转换为单个String,其中原始的每个元素Set由空格""分隔.一个天真的第一种方法就是这样做

Set<String> set_1;
Set<String> set_2;

StringBuilder builder = new StringBuilder();
for (String str : set_1) {
  builder.append(str).append(" ");
}

this.string_1 = builder.toString();

builder = new StringBuilder();
for (String str : set_2) {
  builder.append(str).append(" ");
}

this.string_2 = builder.toString();
Run Code Online (Sandbox Code Playgroud)

谁能想到更快,更漂亮或更有效的方法呢?

java string optimization whitespace set

55
推荐指数
5
解决办法
7万
查看次数

C#和Java之间的主要区别是什么?

可能重复:
C#和Java之间有哪些主要区别?

我相信Eric Sink说"C#是Java完成的".我对Java非常熟悉,并且认为我可以尝试学习一些C#.

据我了解,这两种OO语言非常相似,那么实际的差异是什么(如果有的话)?

c# java

6
推荐指数
2
解决办法
2336
查看次数

如何处理实例化类对象时发生的异常

java version "1.7.0_45"
Run Code Online (Sandbox Code Playgroud)

你好

我正在构造函数中初始化类方法.但是,new URL(uploadUrl)将在构造函数中抛出异常.因此,如果发生这种情况,用户应该无法继续.由于构造函数无法返回任何内容,我想知道这是处理此问题的最佳方法吗?

非常感谢任何建议,

public class MultipleFileTransfer {
    private static final String TAG = MultipartUtility.class.getSimpleName();

    private DataOutputStream dataOutputStream;
    private FileInputStream fileInputStream;
    private HttpURLConnection httpURLConnection;
    private URL url;

    public MultipleFileTransfer(final String uploadUrl) {
        dataOutputStream = null;
        fileInputStream = null;
        httpURLConnection = null;

        try {
            url = new URL(uploadUrl);
        } catch (MalformedURLException e) {
            Log.wtf(TAG, e.getMessage()); /* <-- How to handle a failure */
        }
    }

    /* Factory method that initializes the class methods and returns the …
Run Code Online (Sandbox Code Playgroud)

java

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

运行单元测试时无法从 KeyStore 读取证书

出于某种原因,我在单元测试中加载的 KeyStore 似乎是空的,我不知道为什么。

我这里有一个带有证书的密钥库文件: src/test/resources/public-keystore-name

因此,在终端中运行此命令:

../src/test/resources$ keytool -list -keystore public-keystore-name -storetype PKCS12
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

Keystore type: PKCS12
Keystore provider: SunJSSE

Your keystore contains 1 entry

aliasname, May 22, 2015, trustedCertEntry, 
Certificate fingerprint (SHA1): 4E:87:CF:EF:FC:E1:37:63:36:E0:26:0C:1E:B3:65:BB:48:3A:83:1A
Run Code Online (Sandbox Code Playgroud)

在我的单元测试中,我可以从这个文件加载并启动一个 KeyStore,但是我无法获取我存储在其中的证书。该证书具有别名“aliasname”和密码“password”。

   @Test
   public void testUtil() throws Exception {

     KeyStore publicKS = KeyStore.getInstance("PKCS12");

     File publicKeyStoreFile = FileUtils.getFile("src/test/resources/public-keystore-name");
     FileInputStream fisPublic = new FileInputStream(publicKeyStoreFile);

     publicKS.load(fisPublic, "password".toCharArray());

     Certificate cert = publicKS.getCertificate("aliasname");

     System.out.println("Cert is: " + cert);
   }
Run Code Online (Sandbox Code Playgroud)

将始终打印:“证书是:空”

为什么此单元测试中的 KeyStore 为空?(使用 Keystore.aliases() 查找别名将返回一个空集)。

java unit-testing certificate keystore

5
推荐指数
1
解决办法
1933
查看次数

我可以让Lucene返回无限数量的搜索结果吗?

我在Java 5环境中使用Lucene 3.0.1.我一直在研究这个问题,但文档没有给出任何直接的答案.

使用搜索方法

TopFieldDocs    search(Weight weight, Filter filter, int nDocs, Sort sort) 
Run Code Online (Sandbox Code Playgroud)

我总是需要提供最大数量的搜索结果nDocs.

如果我想获得所有匹配结果怎么办?这感觉就像设置nDocsInteger.MAX_VALUE是一种哈克的方式做到这一点(并会导致速度和内存性能的下降?).

其他任何有想法的人?

java lucene search resultset max

4
推荐指数
1
解决办法
3368
查看次数

InetAddress getLocalHost()不从C:\ WINDOWS\system32\drivers\etc\hosts返回预期的IP地址

在文件C:\ WINDOWS\system32\drivers\etc\hosts中,我只有以下行

192.168.0.23    computername.domain.com   computername
Run Code Online (Sandbox Code Playgroud)

我跑的时候

InetAddress localhost = InetAddress.getLocalHost();
System.out.println("getLocalHost:" + localhost);
Run Code Online (Sandbox Code Playgroud)

我希望输出是

getLocalHost:computername/192.168.0.23
Run Code Online (Sandbox Code Playgroud)

但它出来了

getLocalHost:computername/192.168.0.107
Run Code Online (Sandbox Code Playgroud)

关于为什么会这样的想法?是否应该在其他文件中进行配置?

编辑

InetAddress.getByName('computername')
Run Code Online (Sandbox Code Playgroud)

产生与之相同的IP getLocalHost().

java networking localhost ip-address inetaddress

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

我可以在Groovy和Grails中一起使用IN和findBy吗?

我一直试图弄清楚如何做类似的事情

SELECT * FROM domain WHERE config_id IN (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

当使用findByGrails 的漂亮技术时.还没有真正弄清楚怎么样,甚至可能吗?我希望有类似的东西

Domain.findByConfigIn(configList)
Run Code Online (Sandbox Code Playgroud)

但这不起作用.任何人都知道如何做到这一点,即使有可能吗?

grails groovy list findby

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

如何在Grails GORM中覆盖关系的级联删除?

我在Grails的GORM部分遇到了一些问题.我正在使用Grails 1.3.4和H2.

在数据库中,我有两个表模板报告.在GORM级我有两个域类TemplateReport;

class Template {

static hasMany = [reports: Report]

...
}
Run Code Online (Sandbox Code Playgroud)

class Report {

static belongsTo = [template: Template]

...
}
Run Code Online (Sandbox Code Playgroud)

默认行为似乎是当Template删除a时,删除将被级联,以便Report它所拥有的所有内容也将被删除.在数据库级别,我试图使报表中template_id -column 为ON DELETE SET NULL外键,但这不起作用.

有没有办法覆盖级联删除?

grails h2 foreign-key-relationship relational-database grails-orm

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

运行作为参数传递给 bash 脚本的多个命令

这是一个非常简单的文件test.sh

#!/usr/bin/env bash

$1
Run Code Online (Sandbox Code Playgroud)

当我运行时./test.sh "pwd; mkdir a;",它返回

./test.sh: line 3: pwd;: command not found
Run Code Online (Sandbox Code Playgroud)

我尝试使用 '&' / '&&' / ';',但都不起作用。如何通过参数运行多个命令?

bash

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

grpc protobuf java中的NoSuchMethodException和NoClassDefFoundError

我有一个我启动的 gRPC 服务,一切都很好,没有错误。但是,当我尝试使用grpcui( ./grpcui -plaintext localhost:9900) 将读取和服务时,我得到以下信息:

Exception in thread "grpc-default-executor-0" java.lang.NoSuchMethodError: com.google.protobuf.Descriptors$FileDescriptor.internalBuildGeneratedFileFrom([Ljava/lang/String;[Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$FileDescriptor;
    at io.grpc.reflection.v1alpha.ServerReflectionProto.<clinit>(ServerReflectionProto.java:103)
    at io.grpc.reflection.v1alpha.ServerReflectionGrpc$ServerReflectionBaseDescriptorSupplier.getFileDescriptor(ServerReflectionGrpc.java:234)
    at io.grpc.protobuf.services.ProtoReflectionService$FileDescriptorIndex.<init>(ProtoReflectionService.java:418)
    at io.grpc.protobuf.services.ProtoReflectionService$ServerReflectionIndex.<init>(ProtoReflectionService.java:339)
    at io.grpc.protobuf.services.ProtoReflectionService.updateIndexIfNecessary(ProtoReflectionService.java:97)
    at io.grpc.protobuf.services.ProtoReflectionService.serverReflectionInfo(ProtoReflectionService.java:136)
    at io.grpc.reflection.v1alpha.ServerReflectionGrpc$MethodHandlers.invoke(ServerReflectionGrpc.java:220)
    at io.grpc.stub.ServerCalls$StreamingServerCallHandler.startCall(ServerCalls.java:224)
    at io.grpc.internal.ServerImpl$ServerTransportListenerImpl.startWrappedCall(ServerImpl.java:648)
    at io.grpc.internal.ServerImpl$ServerTransportListenerImpl.startCall(ServerImpl.java:626)
    at io.grpc.internal.ServerImpl$ServerTransportListenerImpl.access$1900(ServerImpl.java:417)
    at io.grpc.internal.ServerImpl$ServerTransportListenerImpl$1StreamCreated.runInternal(ServerImpl.java:556)
    at io.grpc.internal.ServerImpl$ServerTransportListenerImpl$1StreamCreated.runInContext(ServerImpl.java:531)
    at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
    at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Run Code Online (Sandbox Code Playgroud)

Exception in thread "grpc-default-executor-1" java.lang.NoClassDefFoundError: Could not initialize class io.grpc.reflection.v1alpha.ServerReflectionProto
    at io.grpc.reflection.v1alpha.ServerReflectionGrpc$ServerReflectionBaseDescriptorSupplier.getFileDescriptor(ServerReflectionGrpc.java:234)
    at io.grpc.protobuf.services.ProtoReflectionService$FileDescriptorIndex.<init>(ProtoReflectionService.java:418)
    at io.grpc.protobuf.services.ProtoReflectionService$ServerReflectionIndex.<init>(ProtoReflectionService.java:339)
    at io.grpc.protobuf.services.ProtoReflectionService.updateIndexIfNecessary(ProtoReflectionService.java:97)
    at io.grpc.protobuf.services.ProtoReflectionService.serverReflectionInfo(ProtoReflectionService.java:136)
    at io.grpc.reflection.v1alpha.ServerReflectionGrpc$MethodHandlers.invoke(ServerReflectionGrpc.java:220)
    at io.grpc.stub.ServerCalls$StreamingServerCallHandler.startCall(ServerCalls.java:224)
    at io.grpc.internal.ServerImpl$ServerTransportListenerImpl.startWrappedCall(ServerImpl.java:648)
    at …
Run Code Online (Sandbox Code Playgroud)

java noclassdeffounderror protocol-buffers nosuchmethoderror grpc

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

存储桶是否跨越 Couchbase 服务器集群中的所有节点?

我一直在阅读 Couchbase Server 文档,据我所知,这就是“它是如何工作的”:

  • 一个集群有一个或多个节点(服务器)。
  • 一个集群有一个或多个桶。
  • 一个桶有一个或多个视图。

我的问题:

  1. 我假设存储桶中的数据分布在集群中的所有节点上,对吗?还是在所有节点上复制?
  2. 假设一个存储桶跨越集群中的多个节点,视图是否从所有这些节点检索数据?
  3. 或者存储桶及其视图特定于某个节点?

views nosql couchbase couchbase-bucket

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