小编Nat*_*n W的帖子

我可以在没有Bluemix的情况下使用IBM Watson服务吗?

我一直在使用AWS来托管我的后端服务器.注册帐户的最佳方式是什么,以便我可以直接从我的服务器调用Watson服务,而无需在Bluemix上使用帐户?如果有,怎么样?我在Watson的网站上找不到.谢谢.

ibm-watson ibm-cloud

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

Java TimeZone.getTimeZone(“ PDT”)无法正常工作

它返回GMT的默认时区。

在时区中使用带有“ z”的SimpleTimeFormat,它将打印“ PDT”。但是“ PDT”不在TimeZone.getAvailableIDs()返回的列表中。真奇怪!

谁知道为什么“ PDT”不是标准的tz?该如何处理?有人调用我的API,并将“ PDT”作为时区传递。谢谢。

java timezone

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

如何在Java中获得protobuf重复的字段构建器?

我想将另一种格式的对象转换为protobuf,知道protobuf的描述符.对常规字段甚至嵌套字段都很容易.但是,我遇到了重复领域的问题.

message Foo {
    optional MsgA a = 1;
    repeated MsgB b = 2;
}
Run Code Online (Sandbox Code Playgroud)

对于"MsgA a",代码bld.getFieldBuilder(field)有效:

Foo.Builder bld = Foo.newBuilder();
Descriptors.Descriptor msgDesc = Foo.getDescriptor();
List<Descriptors.FieldDescriptor> fields = msgDesc.getFields();    
for (Descriptors.FieldDescriptor field : fields) {
    Message.Builder subBld = bld.getFieldBuilder(field);
    // set foreign value xyz using subBld
    // subBld.setFleld(subfield1, xyz);
}
Run Code Online (Sandbox Code Playgroud)

但对于"MsgB b",相同的代码抛出"UnsupportedOperationException:getFieldBuilder()在非Message类型上调用."

我理解重复字段是一个列表,我可以分别设置每个字段.但是,我如何首先获得建筑商?是否有一种干净简单的方法来做类似的事情?

感谢您的任何意见.

java builder protocol-buffers

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

生成的 Protobuf 上的 Java 反射但未找到类

我经常使用protobuf。但是今天,当我尝试在生成的 protobuf 类上使用反射时,我得到了一个 class not found 异常。(我知道这不是一个普通的 protobuf 用例)。该类正被其他方法在同一个文件中使用,并且它的编译和运行没有问题。

import com.foo.protobuf.Foo.Bar;
...
void method1() {
    Bar.Builder bld = Bar.newBuilder();
    ...
}


void method2(String clsName) {
    // clsName = "com.foo.protobuf.Foo.Bar"
    Class clsBar = Class.forName(clsName); // CNF Exception here
}
Run Code Online (Sandbox Code Playgroud)

我的代码有什么问题?感谢您提供任何意见。

java reflection protocol-buffers classnotfoundexception

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

调用 equal 的方式错误?

我正在使用 PriorityQueue,并且我覆盖了 MyClass 中的 equals,

PriorityQueue<MyClass> pq = ...
Run Code Online (Sandbox Code Playgroud)

我想让一些外来对象等于MyClass,

if (pq.contains(foreignObj)) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

当我研究 PriorityQueue 的实现时,它是这样调用的,

o.equals(queue[i])
Run Code Online (Sandbox Code Playgroud)

其中“o”是foreignObj,“queue[i]”是MyClass 的实例。这引起了一个主要问题,因为我期望它称为 MyClass 的 equals,因为我拥有它,这样我就可以使任何类型的对象“等于”我的对象。而且,我不拥有外部类的源代码,也无法更改那里的任何内容。

为什么它没有按下面的代码编写,所以它会调用我的 equals 而不是我无法控制的其他人?

queue[i].equals(o)
Run Code Online (Sandbox Code Playgroud)

java equals

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