Questions tagged «java»

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

7
java.lang.ClassCastException:无法将java.util.LinkedHashMap强制转换为com.testing.models.Account
我遇到以下错误: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.testing.models.Account 用下面的代码 final int expectedId = 1; Test newTest = create(); int expectedResponseCode = Response.SC_OK; ArrayList<Account> account = given().when().expect().statusCode(expectedResponseCode) .get("accounts/" + newTest.id() + "/users") .as(ArrayList.class); assertThat(account.get(0).getId()).isEqualTo(expectedId); 我为什么不能这样做get(0)?

2
Kotlin中的静态初始化块
Kotlin中的静态初始化块等效于什么? 我了解Kotlin的设计宗旨是不带静电。我正在寻找具有相同语义的东西-首次加载该类时,代码将运行一次。 我的特定用例是,我想从Android AppCompat库启用DayNight功能,并且说明要求将一些代码放入Application类的静态初始化块中。

4
如何检查Java 7路径的扩展
我想检查Path(在Java 7中引入)是否以某个扩展名结尾。我尝试这样的endsWith()方法: Path path = Paths.get("foo/bar.java") if (path.endsWith(".java")){ //Do stuff } 但是,这似乎不起作用,因为path.endsWith(".java")返回false。似乎endsWith()只有在最终目录分隔符(例如bar.java)之后的所有内容都完全匹配时,该方法才返回true ,这对我来说并不实用。 那么如何检查路径的文件扩展名?
83 java  path  java-7 

4
Thymeleaf:串联-无法解析为表达式
尝试在模板中合并多个值时遇到问题。根据Thymeleaf的说法,我应该可以将它们+一起组合在一起... 4.6合并文本 文本,无论它们是文字还是评估变量或消息表达式的结果,都可以使用+运算符轻松地进行连接: th:text="'The name of the user is ' + ${user.name}" 这是我发现有效的示例: <p th:text="${bean.field} + '!'">Static content</p> 但是,这不是: <p th:text="${bean.field} + '!' + ${bean.field}">Static content</p> 从逻辑上讲,这应该可以,但是不能,我在做什么错? Maven: <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring3</artifactId> <version>2.0.16</version> <scope>compile</scope> </dependency> 这是我设置TemplateEngine和TemplateResolver的方法: <!-- Spring config --> <bean id="templateResolver" class="org.thymeleaf.templateresolver.ClassLoaderTemplateResolver"> <property name="suffix" value=".html"/> <property name="templateMode" value="HTML5"/> <property name="characterEncoding" …
83 java  html  thymeleaf 

16
将毫秒转换为分钟和秒?
我已经看过以前的问题,但是没有一个我一直在寻找答案。如何将秒表方法中的毫秒转换为分钟和秒?我有: watch.start(); 启动秒表, watch.stop(); 停下手表。我后来有 watch.getTime(); 返回毫秒。我希望它在秒和分钟后返回。我该怎么做?我正在寻找一种方法,而不用乘以1000,而不是乘以除法,而是要一种使整个计算更具可读性且更不易出错的方法。

14
如何从片段内部隐藏软键盘?
我有一个FragmentActivity使用AViewPager服务几个片段。每个都是ListFragment具有以下布局的: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="8dp"> <ListView android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <EditText android:id="@+id/entertext" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout> 开始活动时,将显示软键盘。为了解决这个问题,我在片段中做了以下操作: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //Save the container view so we can access the window token viewContainer = container; …


13
是否有一个return语句只是为了满足语法错误的做法?
考虑以下代码: public Object getClone(Cloneable a) throws TotallyFooException { if (a == null) { throw new TotallyFooException(); } else { try { return a.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } } //cant be reached, in for syntax return null; } return null;之所以必须这样做,是因为可能会捕获到异常,但是在这种情况下,因为我们已经检查了它是否为空(并且假设我们知道我们正在调用的类支持克隆),所以我们知道try语句永远不会失败。 只是为了满足语法和避免编译错误(在注释中说明将不会到达)而在末尾添加额外的return语句是不好的做法,还是有更好的方法编写这样的代码以使额外的内容返回语句是不必要的吗?
82 java  return  try-catch 

15
Java中的无限循环
请看下面的whileJava无限循环。它导致其下面的语句的编译时错误。 while(true) { System.out.println("inside while"); } System.out.println("while terminated"); //Unreachable statement - compiler-error. 以下相同的无限while循环可正常工作,并且不会发出任何错误,在这些错误中,我只是将条件替换为布尔变量。 boolean b=true; while(b) { System.out.println("inside while"); } System.out.println("while terminated"); //No error here. 同样在第二种情况下,循环之后的语句显然不可访问,因为布尔变量b为true,但编译器根本没有抱怨。为什么? 编辑:while显然,以下版本的卡在无限循环中,但是即使if循环内的条件始终存在false,因此循环下面的语句也不会对该语句下的语句发出任何编译器错误,因此循环永远不会返回,并且可以由编译器在该循环中确定。编译时本身。 while(true) { if(false) { break; } System.out.println("inside while"); } System.out.println("while terminated"); //No error here. while(true) { if(false) { //if true then also return; …

4
Java Webservice客户端(最佳方法)
我有第三方WSDL,我需要用Java编写代码以使Web服务客户端调用第三方WSDL中的操作。现在,我已经使用Axis的WSDL2JAVA工具生成了客户端存根,并将XMLbeans用于数据绑定。 进行此JAVA的最佳方法是什么? 我读了有关SAAJ的文章,看起来这种方法会更细化吗? 除了使用WSDL2Java工具之外,还有其他方法可以生成代码。也许wsimport还有其他选择。优缺点都有什么? 有人可以发送有关这些主题的一些不错的教程的链接吗? 使用WSDL2Java生成代码时,我们需要使用哪些选项? 最初,我使用了一些基本的东西。现在我有这些选择 C:\axis2-1.5.1\bin>wsdl2java -uri mywsdlurl -o client -p somepackage -d xmlbeans -s -t -ssi

8
关于性能和Java互操作性:Clojure与Scala
我已经读过Clojure vs. Scala的各种论述,而我意识到两者都有自己的位置。关于将Clojure与Scala进行比较时,有一些注意事项尚未得到完整的解释: 1.)两种语言中哪一种通常更快?我意识到这从一种语言功能到另一种语言功能都会有所不同,但是对性能进行总体评估会有所帮助。例如:我知道Python字典的速度非常快。但作为一个整体,它是一个多比Java慢语。我不想和Clojure一起去解决这个问题。 2.)与Java的互操作性如何?到目前为止,我所读到的只是Scala具有本机集合类型,使其与大型Java代码库集成有点笨拙,而Clojure遵循一种简单的以Iterable / Iterator为中心的方式与Java类进行互操作。还有其他想法/细节吗? 最终,如果Clojure和Scala之间的距离足够近,我可能会同时尝试它们。关于Clojure的一件事是该语言看起来非常简单。但是话又说回来,Scala具有非常灵活的类型系统。但是,我知道Scala速度很快(基于多个个人帐户)。因此,如果Clojure的速度明显慢一些:我想早点知道。

15
Android Activity ClassNotFoundException-尝试了一切
我刚刚将应用程序重构为框架库和应用程序,但是现在当我尝试在模拟器中启动该应用程序时,我得到了以下错误堆栈跟踪: 06-02 18:22:35.529: E/AndroidRuntime(586): FATAL EXCEPTION: main 06-02 18:22:35.529: E/AndroidRuntime(586): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.matthewrathbone.eastersays/com.matthewrathbone.eastersays.EasterSimonSaysActivity}: java.lang.ClassNotFoundException: com.matthewrathbone.eastersays.EasterSimonSaysActivity in loader dalvik.system.PathClassLoader[/data/app/com.matthewrathbone.eastersays-1.apk] 06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 06-02 18:22:35.529: E/AndroidRuntime(586): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 06-02 18:22:35.529: E/AndroidRuntime(586): at android.os.Handler.dispatchMessage(Handler.java:99) 06-02 18:22:35.529: E/AndroidRuntime(586): at …

5
使用Maven 2构建可运行的jar
我对Maven的口头禅还比较陌生,但是我正在尝试使用Maven构建命令行可运行jar。我已经设置了依赖项,但是当我运行mvn install并尝试运行jar时,会发生两件事。首先,没有找到可纠正的主类。更正此错误后,在运行时出现错误,指出找不到类。 Maven没有将我的依赖库打包在jar中,因此我无法将jar作为独立应用程序运行。我该如何纠正?

2
休眠中的枚举
在DAO中具有一个其值来自Java枚举的字段通常很有用。一个典型的示例是登录DAO,您通常在其中具有一个将用户表征为“ NORMAL”或“ ADMIN”的字段。在Hibernate中,我将使用以下2个对象以(半)类型安全的方式表示此关系: class User { String username; String passwd; UserType type; } class UserType { private enum Type {ADMIN, NORMAL}; private String type; //Setters/Getters for Hibernate public void setType(String type); public String getType(); //Setters/Getters for user public void setUserType(UserType.Type t); public UserType.Type getUserType(); public static UserType fromType(UserType.Type t); } …
82 java  hibernate  dao 

7
什么时候在Java方法声明中使用抛出?
因此,我认为我对Java中的异常处理有很好的基本了解,但是最近我正在阅读一些使我有些困惑和怀疑的代码。我要在这里解决的主要疑问是,一个人何时应该使用以下方法抛出Java方法声明: public void method() throws SomeException { // method body here } 通过阅读一些类似的文章,我收集到的引发信息被用作一种声明,表明可以在方法执行期间引发SomeException。 我的困惑来自一些看起来像这样的代码: public void method() throws IOException { try { BufferedReader br = new BufferedReader(new FileReader("file.txt")); } catch(IOException e) { System.out.println(e.getMessage()); } } 在此示例中,您是否有任何理由要使用抛出?看来,如果您只是对IOException之类的东西进行基本的异常处理,则只需要try / catch块即可。

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.