我有几个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)
谁能想到更快,更漂亮或更有效的方法呢?
可能重复:
C#和Java之间有哪些主要区别?
我相信Eric Sink说"C#是Java完成的".我对Java非常熟悉,并且认为我可以尝试学习一些C#.
据我了解,这两种OO语言非常相似,那么实际的差异是什么(如果有的话)?
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) 出于某种原因,我在单元测试中加载的 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 5环境中使用Lucene 3.0.1.我一直在研究这个问题,但文档没有给出任何直接的答案.
使用搜索方法
TopFieldDocs search(Weight weight, Filter filter, int nDocs, Sort sort)
Run Code Online (Sandbox Code Playgroud)
我总是需要提供最大数量的搜索结果nDocs.
如果我想获得所有匹配结果怎么办?这感觉就像设置nDocs到Integer.MAX_VALUE是一种哈克的方式做到这一点(并会导致速度和内存性能的下降?).
其他任何有想法的人?
在文件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().
我一直试图弄清楚如何做类似的事情
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的GORM部分遇到了一些问题.我正在使用Grails 1.3.4和H2.
在数据库中,我有两个表模板和报告.在GORM级我有两个域类Template和Report;
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
这是一个非常简单的文件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)
我尝试使用 '&' / '&&' / ';',但都不起作用。如何通过参数运行多个命令?
我有一个我启动的 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
我一直在阅读 Couchbase Server 文档,据我所知,这就是“它是如何工作的”:
我的问题:
java ×7
grails ×2
bash ×1
c# ×1
certificate ×1
couchbase ×1
findby ×1
grails-orm ×1
groovy ×1
grpc ×1
h2 ×1
inetaddress ×1
ip-address ×1
keystore ×1
list ×1
localhost ×1
lucene ×1
max ×1
networking ×1
nosql ×1
optimization ×1
resultset ×1
search ×1
set ×1
string ×1
unit-testing ×1
views ×1
whitespace ×1