- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试实现一个新的 MessageBodyReader/Writer 组合,但阅读器部分遇到问题。鉴于以下声明
public class Jsr367EnumProvider<T extends Enum> implements
MessageBodyReader<T>,
MessageBodyWriter<T>
可以工作,但有一条警告说 Enum
是生的。因此,为了修复它,我尝试输入 Enum<?>
但是这会在我的 readFrom
中产生错误方法
@Override
public T readFrom(final Class<T> type,
final Type genericType,
final Annotation[] annotations,
final MediaType mediaType,
final MultivaluedMap<String, String> httpHeaders,
final InputStream inputStream) throws IOException,
WebApplicationException {
// TODO support other encodings using the HTTP Header
try (Scanner s = new Scanner(inputStream).useDelimiter("\\A")) {
return (T) Enum.valueOf(type, s.next());
}
}
这也警告了未经检查的 Actor 。有没有办法解决这个问题而不诉诸 @SupressWarnings
?
最佳答案
不,没有。回想一下您尝试转换的方法的签名:
Enum.valueOf(Class<T> enumType, String name)
严格来说,您提供的代码,您无法摆脱警告。因此,抑制它,但遵循良好的做法,例如《Effective Java 2nd Edition: Item 24: Eliminate unchecked warnings:》中所规定的内容:
- Eliminate every unchecked warning that you can.
- If you can't eliminate a warning, and you can prove that the code that provoked the warning is typesafe, then (and only then) suppress the warning with
@SuppressWarning("unchecked")
annotation.- Always use the
SuppressWarning
annotation on the smallest scope possible.- Every time you use an
@SuppressWarning("unchecked")
annotation, add a comment saying why it's safe to do so.
关于java - 为枚举实现 MessageBodyReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32042126/
我有一个MessageBodyReader具有以下类: @Provider @Consumes(MediaType.APPLICATION_JSON) public class Transaction
给定类似的内容: 例如 class User{ String name; String someField1; } @Consumes("some/media-type") class Re
我正在为 restful web 服务制作一个 java 客户端,我想在请求正文中发送一个字符串。 这是我的课。 public class params { private String t
我正在尝试实现一个新的 MessageBodyReader/Writer 组合,但阅读器部分遇到问题。鉴于以下声明 public class Jsr367EnumProvider implements
我有这个界面: @Path("inbox") public interface InboxQueryResourceTest { @POST @Path("{membershipEx
我有课 public class Tree { private T value; private Tree parent; private List> children;
我有某种类型的 XSD 架构,我们将其命名为 A。 然后我尝试使用 XSD 架构验证编写 MessageBodyReader - 如果我在那里传递单个对象,它就可以工作。但我怎样才能让它读取这些类型的
我编写了一个简单的 RestEasy 客户端代理来执行 iTunes 搜索。它看起来像这样: @Path("/") public interface AppleAppStoreLookupClient
我正在尝试将 Jersey 与我自己的 json MessageBodyReader/MessageBodyWriter 一起使用(因为我没有在我的域类上使用 @XmlRootElement... 注
所以,我有一个 REST 应用程序,看起来像这样: @GET @Produces(MediaType.APPLICATION_JSON) @Path("/getpartners") public Ha
我正在从提供者处了解 MessageBodyReader 方法的工作原理。我看到该方法返回一个对象,但我不确定如何从服务访问该对象。我能否得到有关如何从阅读器类返回对象的解释?这将帮助我为所有 DTO
首先我应该说我是 Maven 的新手,甚至认为我不认为 Maven 与这个错误有关。我正在使用 Eclipse 4.2.1 和 m2e 我有从 ckan4j 获得的代码开发者 Client c = C
我想使用 Grails-jaxrs plugin实现自定义 MessageBodyReaderSupport从客户端读取 UserDto 类。 如何实现 UserDtoReader 才能获取 User
我有一个 REST api,它返回一个 json 格式的对象,Content-Type 为 application/json,非常标准。 我正在使用 Jersey 的测试框架创建一个基本的 TestN
以下方法不允许我的 servlet 容器启动: @PUT public String upload(final Customer customer, final Control control) {
我正在尝试使用预配置的资源实例在预配置的端口/url 上启动 Jersey。我不太清楚如何正确地做到这一点。 这是一段代码。请帮我填空: @Component @PerRequest @Path("/
我在 Response 对象中返回一个 StreamingOutput: @GET @Path("/downloadFile/{filename}") @Produces(MediaType.TEXT
我已经在 SO 上发现了一些类似的问题,但似乎没有一个能解决我的特定问题,而且我一直无法自己找到解决方案。 这是我遇到的错误: Caused by: org.glassfish.jersey.mess
我试图在 Jersey 的 MessageBodyReader 中读取 APPLICATION_FORM_URLENCODED。当我尝试使用 BufferedReader 读取流时,流返回空数据 这是
我正在尝试从 http://api.openweathermap.org/data/2.5/forecast/daily?lat=35&lon=139&cnt=10&mode=json 接收 json
我是一名优秀的程序员,十分优秀!