我一直在使用AWS来托管我的后端服务器.注册帐户的最佳方式是什么,以便我可以直接从我的服务器调用Watson服务,而无需在Bluemix上使用帐户?如果有,怎么样?我在Watson的网站上找不到.谢谢.
它返回GMT的默认时区。
在时区中使用带有“ z”的SimpleTimeFormat,它将打印“ PDT”。但是“ PDT”不在TimeZone.getAvailableIDs()返回的列表中。真奇怪!
谁知道为什么“ PDT”不是标准的tz?该如何处理?有人调用我的API,并将“ PDT”作为时区传递。谢谢。
我想将另一种格式的对象转换为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类型上调用."
我理解重复字段是一个列表,我可以分别设置每个字段.但是,我如何首先获得建筑商?是否有一种干净简单的方法来做类似的事情?
感谢您的任何意见.
我经常使用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)
我的代码有什么问题?感谢您提供任何意见。
我正在使用 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)