Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

6
澄清术语-从数据库获取实体时,“水化” JPA或Hibernate实体是什么意思
在ORM /实体的延迟加载的情况下,我对术语“水合”的理解如下: “水合”描述了填充使用延迟加载获取的实体的某些或全部先前未填充的属性的过程。 例如:Author从数据库中加载类: @Entity class Author { @Id long id; List<Book> books; } 最初,books不填充集合。 据我了解,books从数据库加载集合的过程称为“水化”集合。 这个定义正确吗?我应该在此过程中使用另一个更通用的术语吗?

1
使用默认实现的null安全映射比较器
是否有内置的可能性在Java 8中创建空安全的映射比较器而无需编写自己的实现Comparator? 运行以下代码时,它会导致NPE,因为的keyExtractor参数Comparator.comparing()可能返回null值: public class ToSort { private String sortBy; public ToSort(String sortBy) { this.sortBy = sortBy; } public String getSortBy() { return sortBy; } public static void main(String[] args) { // mapping comparator Comparator<ToSort> comp = Comparator.comparing(ToSort::getSortBy); SortedSet<ToSort> set = new TreeSet<>(comp); ToSort o1 = new ToSort("1"); ToSort o2 …

9
Java的JWT(JSON Web令牌)库
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 去年关闭。 改善这个问题 我正在使用Java和AngularJS开发一个Web应用程序,并选择实现令牌认证和授权。出于练习目的,我到达了将凭证发送到服务器,生成随机令牌存储凭证并将其发送回客户端的地步。在对服务器的每个请求中,我都将令牌附加在标题中,并且可以完美地工作。对于身份验证的观点是完美的,不需要更多。 但是,我现在想跟踪用户类型(管理员,普通用户...),它的ID或任何其他唯一字段;据我了解,我必须使用登录过程中发送回客户端的令牌对令牌进行加密。那是对的吗? 您是否使用过任何JWT库,并且可以生成,加密和解密此类令牌?链接到库的API和Maven依赖关系将不胜感激。 谢谢
76 java  json  web  token  jwt 

8
为什么在RecyclerView.Adapter的onBindViewHolder中添加OnClickListener被认为是不好的做法?
我有一个RecyclerView.Adapter类的以下代码,它工作正常: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.Viewholder> { private List<Information> items; private int itemLayout; public MyAdapter(List<Information> items, int itemLayout){ this.items = items; this.itemLayout = itemLayout; } @Override public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false); return new Viewholder(v); } @Override public void onBindViewHolder(Viewholder holder, final int …


9
具有动态ArrayList项类型的Gson TypeToken
我有以下代码: Type typeOfObjectsList = new TypeToken<ArrayList<myClass>>() {}.getType(); List<myClass> objectsList = new Gson().fromJson(json, typeOfObjectsList); 它将JSON字符串转换List为对象的。但是,现在我想让它具有在运行时定义ArrayList的动态类型(而不仅仅是myClass)。 所述ArrayList的项目类型将与被定义反射。 我尝试了这个: private <T> Type setModelAndGetCorrespondingList2(Class<T> type) { Type typeOfObjectsListNew = new TypeToken<ArrayList<T>>() {}.getType(); return typeOfObjectsListNew; } 但这是行不通的。这是例外: java.sql.SQLException: Fail to convert to internal representation: {....my json....}

9
Apache HttpClient临时错误:NoHttpResponseException
我有一个Web服务正在接受XML的POST方法。它工作正常,然后在某些随机情况下,无法与服务器通信,并抛出message,并抛出IOException The target server failed to respond。后续调用工作正常。 当我打一些电话,然后让我的应用程序闲置10-15分钟时,通常会发生这种情况。在此之后我进行的第一个调用将返回此错误。 我尝试了几件事... 我像这样设置重试处理程序 HttpRequestRetryHandler retryHandler = new HttpRequestRetryHandler() { public boolean retryRequest(IOException e, int retryCount, HttpContext httpCtx) { if (retryCount >= 3){ Logger.warn(CALLER, "Maximum tries reached, exception would be thrown to outer block"); return false; } if (e instanceof org.apache.http.NoHttpResponseException){ Logger.warn(CALLER, "No response …
76 java  httpclient 

4
在运行时添加Java批注
是否可以在运行时向对象(特别是方法)添加注释? 进一步说明:我有两个模块,模块A和模块B。moduleB依赖于moduleA,而它不依赖任何东西。(modA是我的核心数据类型和接口,而modB是数据库/数据层)modB也取决于externalLibrary。以我为例,modB将一个类从modA传递给externalLibrary,这需要注释某些方法。特定的注释都是externalLib的一部分,正如我所说的,modA不依赖externalLib,我想保持这种方式。 那么,这是否可能,或者您对解决此问题的其他方式有建议吗?

8
Java:未解决的编译问题
“ java.lang.Error:未解决的编译问题”的可能原因是什么? 附加信息: 从现有JAR顶部的版本复制一组更新的JAR文件并重新启动应用程序后,我已经看到了这一点。JAR是使用Maven构建过程构建的。 如果接口更改,我希望看到LinkageErrors或ClassNotFound错误。上面的错误提示存在一些较低级别的问题。 彻底的重建和重新部署解决了该问题。此错误是否表明JAR已损坏?
76 java 

10
如何获取Java 8方法参考的MethodInfo?
请看下面的代码: Method methodInfo = MyClass.class.getMethod("myMethod"); 此方法有效,但是方法名称作为字符串传递,因此即使myMethod不存在,也可以编译。 另一方面,Java 8引入了方法引用功能。在编译时检查它。可以使用此功能获取方法信息吗? printMethodName(MyClass::myMethod); 完整示例: @FunctionalInterface private interface Action { void invoke(); } private static class MyClass { public static void myMethod() { } } private static void printMethodName(Action action) { } public static void main(String[] args) throws NoSuchMethodException { // This works, but method …

6
如何在Java中从常量向枚举提供枚举值
我无法使用从常量中获取的枚举作为注释中的参数。我收到此编译错误:“注释属性[attribute]的值必须是一个枚举常量表达式”。 这是枚举代码的简化版本: public enum MyEnum { APPLE, ORANGE } 对于注释: @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.METHOD }) public @interface MyAnnotation { String theString(); int theInt(); MyEnum theEnum(); } 和班级: public class Sample { public static final String STRING_CONSTANT = "hello"; public static final int INT_CONSTANT = 1; public static final MyEnum MYENUM_CONSTANT = …

10
文件存在且位于IS目录中,但listFiles()返回null
的文档File.listFiles()建议null仅在调用它的文件不是目录的情况下才返回。 我有以下内容: String dir = "/storage/emulated/0"; File f = new File(dir); Log.v("Files",f.exists()+""); Log.v("Files",f.isDirectory()+""); Log.v("Files",f.listFiles()+""); 日志显示为: true true null 由于某种原因,即使将该识别为有效目录,listFiles(也仍会返回)。我对Android文件层次结构的行为不是很熟悉,所以我猜问题出在这里。nullFile 作为参考,我正在Moto X上进行调试,无论手机是否插入计算机,结果都是相同的-因此,我认为插入手机与安装无关。

16
计算整数的幂
Java中还有其他方法可以计算整数的幂吗? 我Math.pow(a, b)现在使用,但是它返回一个double,这通常是很多工作,并且在您只想使用ints时看起来不太干净(那么幂也会总是产生int)。 有没有a**b像Python一样简单的东西?
76 java  math 

8
为什么Map.of不允许空键和值?
在Java 9,新的工厂方法已经出台了List,Set和Map接口。这些方法允许快速实例化一行中包含值的Map对象。现在,如果我们考虑: Map<Integer, String> map1 = new HashMap<Integer, String>(Map.of(1, "value1", 2, "value2", 3, "value3")); map1.put(4, null); 如果我们这样做,则上面的内容毫无例外地被允许: Map<Integer, String> map2 = Map.of(1, "value1", 2, "value2", 3, "value3", 4, null ); 它抛出: Exception in thread "main" java.lang.NullPointerException at java.base/java.util.Objects.requireNonNull(Objects.java:221) .. 我无法获得,为什么在第二种情况下不允许null。 我知道HashMap可以将null作为键和值,但是在Map.of的情况下为什么要限制它呢? java.util.Set.of("v1", "v2", null)和的情况相同java.util.List.of("v1", "v2", null)。

10
由于输入结束杰克逊解析器,无法映射任何内容
我正在从服务器收到此响应 {"status":"true","msg":"success"} 我正在尝试使用Jackson解析器库解析此json字符串,但不知何故我正面临着映射异常说明 com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input at [Source: java.io.StringReader@421ea4c0; line: 1, column: 1] 为什么会出现这种例外情况? 如何理解导致此异常的原因? 我正在尝试使用以下方式进行解析: StatusResponses loginValidator = null; ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(Feature.AUTO_CLOSE_SOURCE, true); try { String res = result.getResponseAsString();//{"status":"true","msg":"success"} loginValidator = objectMapper.readValue(result.getResponseAsString(), StatusResponses.class); } catch (Exception e) { e.printStackTrace(); } StatusResponse类 …
76 java  android  json  jackson 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.