Questions tagged «java»

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

1
Spring Data存储库实际上是如何实现的?
我在项目中使用Spring Data JPA仓库已有一段时间了,我知道以下几点: 在存储库接口中,我们可以添加类似的方法findByCustomerNameAndPhone()(假设customerName和phone是域对象中的字段)。 然后,Spring通过在运行时(在应用程序运行期间)实现上述存储库接口方法来提供实现。 我对它的编码方式很感兴趣,并查看了Spring JPA源代码和API,但是找不到以下问题的答案: 如何在运行时生成方法和生成的存储库实现类以及如何实现和注入方法? Spring Data JPA是否使用CGlib或任何字节码操作库来实现方法并动态注入? 您能否为上述查询提供帮助,并提供任何受支持的文档?

5
如何在CSV文件中转义逗号和语音标记,以便它们在Excel中起作用?
我正在生成一个CSV文件(用逗号而不是制表符分隔)。我的用户很可能会通过双击在Excel中打开CSV文件。我的数据可能包含逗号和语音标记,因此我将其转义如下。 Reference, Title, Description 1, "My little title", "My description, which may contain ""speech marks"" and commas." 2, "My other little title", "My other description, which may also contain ""speech marks"" and commas." 据我所知,这一直是这样做的方法。这是我的困惑:当我在Excel 2010中打开此文件时,我的转义未得到遵守。工作表上会出现语音标记,并且逗号引起新的列。

23
在没有equals方法的情况下,如何在两个类上声明相等性?
说我有一个没有equals()方法的类,该类没有源。我想在该类的两个实例上声明相等性。 我可以做多个断言: assertEquals(obj1.getFieldA(), obj2.getFieldA()); assertEquals(obj1.getFieldB(), obj2.getFieldB()); assertEquals(obj1.getFieldC(), obj2.getFieldC()); ... 我不喜欢这种解决方案,因为如果早期断言失败,我将无法获得完整的平等情况。 我可以自己手动比较并跟踪结果: String errorStr = ""; if(!obj1.getFieldA().equals(obj2.getFieldA())) { errorStr += "expected: " + obj1.getFieldA() + ", actual: " + obj2.getFieldA() + "\n"; } if(!obj1.getFieldB().equals(obj2.getFieldB())) { errorStr += "expected: " + obj1.getFieldB() + ", actual: " + obj2.getFieldB() + "\n"; } ... …
111 java  unit-testing  junit 

18
如何为私有构造函数添加测试覆盖率?
这是代码: package com.XXX; public final class Foo { private Foo() { // intentionally empty } public static int bar() { return 1; } } 这是测试: package com.XXX; public FooTest { @Test void testValidatesThatBarWorks() { int result = Foo.bar(); assertEquals(1, result); } @Test(expected = java.lang.IllegalAccessException.class) void testValidatesThatClassFooIsNotInstantiable() { Class cls = …

4
Android中项目上的自定义ListView点击问题
所以我有一个自定义的ListView对象。列表项具有两个彼此堆叠的文本视图,以及一个水平进度条,在我实际执行操作之前,我一直希望保持水平状态。最右边是一个复选框,仅在用户需要将更新下载到其数据库时才显示。通过将可见性设置为Visibility.GONE禁用复选框时,我可以单击列表项。当复选框可见时,我无法单击列表中除复选框以外的任何内容。我已经进行了一些搜索,但没有找到与我目前的情况有关的任何内容。我发现了这个问题但由于使用ArrayLists内部包含数据库列表,因此我使用了重写的ArrayAdapter。我是否只需要获取LinearLayout视图并像Tom一样添加onClickListener?我不确定。 这是listview行布局XML: <?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="?android:attr/listPreferredItemHeight" android:padding="6dip"> <LinearLayout android:orientation="vertical" android:layout_width="0dip" android:layout_weight="1" android:layout_height="fill_parent"> <TextView android:id="@+id/UpdateNameText" android:layout_width="wrap_content" android:layout_height="0dip" android:layout_weight="1" android:textSize="18sp" android:gravity="center_vertical" /> <TextView android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:id="@+id/UpdateStatusText" android:singleLine="true" android:ellipsize="marquee" /> <ProgressBar android:id="@+id/UpdateProgress" android:layout_width="fill_parent" android:layout_height="wrap_content" android:indeterminateOnly="false" android:progressDrawable="@android:drawable/progress_horizontal" android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal" android:minHeight="10dip" android:maxHeight="10dip" /> </LinearLayout> <CheckBox android:text="" android:id="@+id/UpdateCheckBox" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 这是扩展ListActivity的类。显然它仍在开发中,因此可以原谅遗漏或遗留的东西: …

5
JSP:JSTL的<c:out>标记
编写一个JSP页面,该&lt;c:out&gt;怎么做?我注意到以下两者具有相同的结果: &lt;p&gt;The person's name is &lt;c:out value="${person.name}" /&gt;&lt;/p&gt; &lt;p&gt;The person's name is ${person.name}&lt;/p&gt;
110 java  jsp  jstl  tags 


4
如何使用JodaTime获取特定月份的最后日期?
我需要获取org.joda.time.LocalDate一个月的第一个日期(如)和最后一个日期。获取第一个是微不足道的,但是获取最后一个似乎需要一定的逻辑,因为月份的长度不同,而2月的长度甚至会随年份而变化。是否已经在JodaTime中内置了此功能,还是应该自己实现?
110 java  scala  jodatime 

5
将多个集合合并为一个逻辑集合?
假设我有恒定数量的集合(例如3个ArrayLists)作为类的成员。现在,我想将所有元素公开给其他类,以便它们可以简单地遍历所有元素(理想情况下为只读)。我正在使用番石榴集合,我想知道如何使用番石榴可迭代器/迭代器在内部集合上生成逻辑视图而无需制作临时副本。
110 java  collections  guava 

1
Java泛型中的“&”和“,”有什么区别?
在阅读有关泛型的Java官方教程时,我发现您可以T使用'and'运算符(&amp;)来限制类型参数(在这种情况下为)来扩展类和/或更多接口,如下所示: &lt;T extends MyClass &amp; Serializable&gt; 我取代了&amp;用,(错误和仍然有效,与未成年人的警告)。 我的问题是,两者之间是否有任何区别: &lt;T extends MyClass &amp; Serializable&gt; &lt;T extends MyClass , Serializable&gt; // here is with comma 和示例方法: static &lt;T extends MyClass &amp; Serializable&gt; ArrayList&lt;T&gt; fromArrayToCollection(T[] a) { ArrayList&lt;T&gt; arr = new ArrayList&lt;T&gt;(); for (T o : a) { arr.add(o); // Correct } return …
110 java  generics 

4
使用GSON解析JSON数组
我有一个像这样的JSON文件: [ { "number": "3", "title": "hello_world", }, { "number": "2", "title": "hello_world", } ] 在文件具有根元素之前,我将使用: Wrapper w = gson.fromJson(JSONSTRING, Wrapper.class); 代码,但我不认为如何对Wrapper类进行编码,因为根元素是数组。 我尝试使用: Wrapper[] wrapper = gson.fromJson(jsonLine, Wrapper[].class); 与: public class Wrapper{ String number; String title; } 但是还没有运气。使用这种方法我还能怎么读呢? PS我有这个工作使用: JsonArray entries = (JsonArray) new JsonParser().parse(jsonLine); String title = ((JsonObject)entries.get(0)).get("title"); 但是我更想知道如何使用这两种方法(如果可能)。
110 java  arrays  json  gson 

7
为什么没有显示Level.FINE日志记录消息?
状态的JavaDocsjava.util.logging.Level: 级别降序为: SEVERE (最高值) WARNING INFO CONFIG FINE FINER FINEST (最低值) 资源 import java.util.logging.*; class LoggingLevelsBlunder { public static void main(String[] args) { Logger logger = Logger.getAnonymousLogger(); logger.setLevel(Level.FINER); System.out.println("Logging level is: " + logger.getLevel()); for (int ii=0; ii&lt;3; ii++) { logger.log(Level.FINE, ii + " " + (ii*ii)); logger.log(Level.INFO, ii + …

13
如何抑制特定目录或文件(例如生成的代码)的Java警告
我正在使用一个解析器生成器,它会创建难看的代码。结果,我的Eclipse项目从生成的源文件发出了几十条警告。我知道我可以使用@SuppressWarning注释来抑制特定元素中的特定警告,但是当解析器生成器再次运行时,我手动添加的任何注释都将丢失。有没有一种方法可以配置Eclipse以禁止显示特定文件或目录的警告?

7
java.util.Date和XMLGregorianCalendar之间的简单转换
我正在寻找在两个方向上在java.util.Date和javax.xml.datatype.XMLGregorianCalendar之间进行转换的简单方法。 这是我现在正在使用的代码: import java.util.GregorianCalendar; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; /** * Utility class for converting between XMLGregorianCalendar and java.util.Date */ public class XMLGregorianCalendarConverter { /** * Needed to create XMLGregorianCalendar instances */ private static DatatypeFactory df = null; static { try { df = DatatypeFactory.newInstance(); } catch (DatatypeConfigurationException dce) …

10
在Maven构建中并行运行junit测试?
我正在使用JUnit 4.4和Maven,并且有大量长时间运行的集成测试。 关于并行化测试套件,有一些解决方案可以让我在单个测试类中并行运行每个测试方法。但是所有这些都要求我以一种或另一种方式更改测试。 我真的认为,在X线程中并行运行X个不同的测试类将是一种更干净的解决方案。我有成百上千的测试,所以我真的不在乎线程测试类。 有什么办法吗?
110 java  maven  junit 

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.