Questions tagged «java»

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


2
如何从Guice的注射器中获取带注释的实例?
假设我有一个模块: Module extends AbstractModule { @Override protected void configure() { bind(String.class). annotatedWith(Names.named("annotation")). toInstance("DELIRIOUS"); } } 我想测试模块并检查它是否在没有类和字段但直接从注入器获取值的带String注释的字段中注入正确的值Names.named("annotation"): @Test public void test() { Injector injector = Guice.createInjector(new Module()); // THIS IS NOT GOING TO WORK! String delirious = injector.getInstance(String.class); assertThat(delirious, IsEqual.equalTo("DELIRIOUS"); }



4
JavaFX中的Platform.runLater和Task
我一直在对此进行一些研究,但至少可以说我还是很困惑。 谁能给我一个何时使用Task以及何时使用的具体示例Platform.runLater(Runnable);?到底有什么区别?何时使用这些方法是否有黄金法则? 如果我错了,也可以纠正我,但是这两个“对象”不是在GUI主线程内(用于更新GUI)创建另一个线程的方法吗?

16
覆盖vs隐藏Java-困惑
我对重写与隐藏在Java中有何不同感到困惑。谁能提供更多有关这些差异的详细信息?我阅读了Java教程,但是示例代码仍然让我感到困惑。 更清楚地说,我理解压倒一切。我的问题是,除了一个隐藏在实例级别而另一个隐藏在类级别之外,我看不到隐藏有什么不同。 查看Java教程代码: public class Animal { public static void testClassMethod() { System.out.println("Class" + " method in Animal."); } public void testInstanceMethod() { System.out.println("Instance " + " method in Animal."); } } 然后我们有一个子类Cat: public class Cat extends Animal { public static void testClassMethod() { System.out.println("The class method" + " in …

5
我们应该如何管理jdk8流中的空值
Java开发人员大家好, 我知道这个主题可能有点,in advance因为JDK8尚未发布(无论如何现在还没有。),但是我正在阅读一些有关Lambda表达式的文章,尤其是与与称为Stream的新集合API相关的部分。 这是《Java杂志》文章中给出的示例(这是一种水獭种群算法。): Set<Otter> otters = getOtters(); System.out.println(otters.stream() .filter(o -> !o.isWild()) .map(o -> o.getKeeper()) .filter(k -> k.isFemale()) .into(new ArrayList<>()) .size()); 我的问题是,如果在Set内部迭代的中间,水獭之一为null,会发生什么情况? 我希望抛出NullPointerException,但也许我还是停留在以前的开发范例(非功能性)中,有人可以启发我,因为应该如何处理? 如果这确实引发了NullPointerException,则我认为该功能非常危险,必须仅按以下方式使用: 开发人员确保没有null值(也许使用以前的.filter(o-> o!= null)) 开发人员确保应用程序永远不会生成空水獭或特殊的NullOtter对象来处理。 最佳选择是什么,或其他任何选择? 谢谢!

4
模拟回调和获取参数值
我没有运气让Mockito捕获函数参数值!我在模拟搜索引擎索引,而不是建立索引,而是使用哈希。 // Fake index for solr Hashmap<Integer,Document> fakeIndex; // Add a document 666 to the fakeIndex SolrIndexReader reader = Mockito.mock(SolrIndexReader.class); // Give the reader access to the fake index Mockito.when(reader.document(666)).thenReturn(document(fakeIndex(666)) 我不能使用任意参数,因为我正在测试查询的结果(即查询返回的文档)。同样,我不想为每个文档指定特定值,也不想为每个文档都指定一行! Mockito.when(reader.document(0)).thenReturn(document(fakeIndex(0)) Mockito.when(reader.document(1)).thenReturn(document(fakeIndex(1)) .... Mockito.when(reader.document(n)).thenReturn(document(fakeIndex(n)) 我查看了“使用Mockito”页面上的回调部分。不幸的是,它不是Java,我无法对此做出自己的解释才能在Java中工作。 编辑(为澄清起见):如何获取Mockito捕获参数X并将其传递给我的函数?我想要传递给函数的X的确切值(或ref)。 我不想列举所有情况,并且任意参数将不起作用,因为我正在测试不同查询的不同结果。 Mockito页面上说 val mockedList = mock[List[String]] mockedList.get(anyInt) answers { i => "The parameter …

12
如何在材料设计导航抽屉中更改汉堡图标的颜色
我正在关注这个例子 http://www.androidhive.info/2015/04/android-getting-started-with-material-design/ 在此示例中,它显示的是汉堡图标为白色,我想对其进行自定义并使其为黑色,但是我无法找到有关如何更改它的任何内容,有人可以告诉我如何对其进行自定义吗? 表现 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="info.androidhive.materialdesign" > <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/MyMaterialTheme" > <activity android:name=".activity.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 风格 <resources> <style name="MyMaterialTheme" parent="MyMaterialTheme.Base"> </style> <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> …



4
@Transactional方法调用没有@Transactional注释的另一个方法?
我在Service类中看到了一个被标记为的方法@Transactional,但是它也在同一类中调用了其他没有被标记为的方法@Transactional。 这是否意味着对单独方法的调用导致应用程序打开与DB的单独连接或暂停父事务等? 没有任何注释的方法的默认行为是什么,而另一个带有@Transactional注释的方法调用该方法的默认行为是什么?

9
将十六进制颜色值(#ffffff)转换为整数值
我正在从服务器接收十六进制颜色值(以这种形式#xxxxxx,例如#000000黑色) 如何将其转换为整数值? 我试图做Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))一个更疯狂的0x000000结果,但这不是int这里的解释,还有其他建议吗? 我收到一个错误: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer 我正在使用Android SDK来实现其setBackgroundColor(int color)功能,该功能需要-您可能已经猜到了-整数颜色值。 这是这个问题的对立面:如何在Android中将颜色整数转换为十六进制字符串?

4
getExternalFilesDir和getExternalStorageDirectory()之间的区别
我知道在API 8和更高版本上将使用ExternalFiles,而在7和更低版本上将使用getExternalStorageDirectory。但是我对使用之间有些困惑。例如,我想检查一个文件夹是否存在,以前您将使用类似以下内容的文件夹: File ChildFolder = new File(Environment.getExternalStorageDirectory() + "/ParentFolder/Child"); 但是我看到的每个示例都说使用getExternalFilesDir(空),File.ext。由于我高于API 8,因此我想使用此方法,但是如何只检查文件夹?我将在另一点检查文件是否存在,但现在仅想查看文件夹是否存在??
88 java  android  file 

8
如何替换Java中不可打印的Unicode字符?
以下内容将替换ASCII控制字符(的缩写[\x00-\x1F\x7F]): my_string.replaceAll("\\p{Cntrl}", "?"); 以下内容将替换所有ASCII不可打印字符(的缩写[\p{Graph}\x20]),包括带重音符号的字符: my_string.replaceAll("[^\\p{Print}]", "?"); 但是,两者均不适用于Unicode字符串。有谁能从Unicode字符串中删除不可打印的字符的好方法?
88 java  string  unicode 

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.