Questions tagged «java»

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



3
Java方法声明中的最大参数数量
Java中的方法可以拥有的最大参数数量是多少?为什么? 我在64位Windows系统上使用Java 1.8。 关于StackOverflow的所有答案都表明,技术限制为255个参数,但未指定原因。 确切地说,静态方法为255,非静态方法为254(this在这种情况下为第255)。 我认为这可以用某种规范来描述,并且只允许静态定义最大数量的参数。 但这仅对int所有4字节类型有效。我对long参数进行了一些测试,在这种情况下,我只能声明127个参数。 使用String参数时,我从测试中得出的允许数字为255(可能是因为Java中的参考大小为4个字节?)。 但是由于我使用的是64位系统,因此引用的大小应为8个字节,因此与String参数类似,使用参数时,最大允许数目应为127 long。 如何精确应用此限制? 限制与方法的堆栈大小有关吗? 注意:我实际上不会在任何方法中使用这些许多参数,但是这个问题只是为了阐明确切的行为。
133 java  jvm 

1
在哪里可以下载Jai和Jai-imageio?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 8年前关闭。 改善这个问题 我需要获取TIFF图像的像素颜色,如果您知道任何替代方法Jai,Jai-imageio请告诉我。
133 java  jai 

6
错误:无法创建Java虚拟机Mac OSX小牛
我刚刚在Mac 10.9.4上从Oracle安装了最新的Java SDK 7-67。然后java -v,我在终端中运行命令,并收到以下消息: 错误:无法创建Java虚拟机。 错误:发生致命异常。程序将会退出。
133 java  terminal 

5
Math.random()解释
这是一个非常简单的Java(尽管可能适用于所有编程)问题: Math.random() 返回介于零和一之间的数字。 如果我想返回一个介于0到100之间的整数,我会这样做: (int) Math.floor(Math.random() * 101) 在一百到一百之间,我会做: (int) Math.ceil(Math.random() * 100) 但是,如果我想得到三到五之间的数字怎么办?它会像下面的语句: (int) Math.random() * 5 + 3 我知道nextInt()在java.lang.util.Random。但是我想学习如何使用Math.random()。
133 java  math 

7
我可以与排球进行同步请求吗?
想象我在一个已经有后台线程的服务中。我可以在同一线程中使用Volley发出请求,以便回调同步发生吗? 这样做有两个原因:-首先,我不需要另一个线程,创建它会很浪费。-其次,如果我处于ServiceIntent中,则线程的执行将在回调之前完成,因此,我不会收到Volley的响应。我知道我可以创建自己的Service,该Service具有可以控制的Runloop线程,但是最好在volley中具有此功能。 谢谢!

6
如何在Java中初始化长度为0的String数组?
该方法的Java文档 String[] java.io.File.list(FilenameFilter filter) 包含在返回说明中: 如果目录为空或过滤器未接受任何名称,则该数组为空。 我如何做类似的事情,并将String数组(或与此相关的任何其他数组)初始化为长度为0?

30
错误:(23,17)无法解决:junit:junit:4.12
为什么每次我在Android Studio中创建一个新项目时,总会出现以下问题: 错误:(23,17)无法解决:junit:junit:4.12? 当我删除testCompile 'junit:junit:4.12'依赖项时,这不再是问题。 build.gradle apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.okedroid.myapplication" minSdkVersion 17 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile …

7
空参数的方法重载
我添加了三个带有参数的方法: public static void doSomething(Object obj) { System.out.println("Object called"); } public static void doSomething(char[] obj) { System.out.println("Array called"); } public static void doSomething(Integer obj) { System.out.println("Integer called"); } 当我打电话时doSomething(null),编译器将错误作为模棱两可的方法抛出。那么问题是因为Integer和char[]方法还是Integer和Object方法?
133 java  oop  null  overloading 

30
禁用HttpClient日志记录
我在集成测试套件中使用commons-httpclient 3.1。HttpClient的默认日志记录非常嘈杂,我似乎无法将其关闭。我已经尝试按照此处的说明进行操作,但是它们都没有任何区别。 通常,我只需要关闭org.apache.http.wire logger。问题的部分原因是我不知道HttpClient尝试使用哪种类型的记录器,并且大多数问题是我以前从未使用过此库。我尝试创建一个log4j.properties文件并将其放入我的test / resources文件夹中,在jre / lib中修改主logging.properties文件,并按照日志记录页面上的指定将各种日志记录选项发送到Maven ,但没有一个有所作为。 任何帮助表示赞赏...这让我发疯。 更新:一项更正:似乎有问题的输出实际上是jwebunit对HttpClient的使用而不是我自己的。无论哪种方式,都是不可取的。 更新:感谢到目前为止的尝试。我已经尝试了下面建议的所有内容,但仍然没有运气。我的src / test / resources文件夹中有一个commons-logging.properties文件,内容如下 org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory log4j.configuration=log4j.properties 和文件log4j.properties在同一文件夹中,内容如下 log4j.rootLogger=ERROR, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n #This is the line that should make httpclient shut up log4j.logger.org.apache.http=ERROR 但是,当我运行测试时,仍然会得到很多这样的输出: 21:57:41.413 [main] DEBUG org.apache.http.wire - << " [\r][\n]" 21:57:41.413 [main] DEBUG org.apache.http.wire …

5
使用Maven时如何解决更严格的Java 8 Javadoc
您很快就会意识到,就Javadoc而言,JDK8更为严格(默认情况下)。(链接 -参见最后一个要点) 如果您从不生成任何Javadoc,那么您当然不会遇到任何问题,但是Maven发布过程之类的内容以及您的CI构建可能会突然失败,因为它们在JDK7上可以正常使用。现在,任何检查Javadoc工具的退出值的操作都将失败。warnings与JDK7相比,JDK8 Javadoc可能也更冗长,但这不是这里的范围。我们正在谈论errors! 存在此问题是为了收集有关如何处理的建议。最好的方法是什么?这些错误是否应该在源代码文件中一劳永逸地解决?如果您有庞大的代码库,则可能需要做很多工作。还有哪些其他选择? 也欢迎您评论以前失败的失败案例。 现在失败的恐怖故事 wsimport工具 wsimport工具是用于创建Web服务使用者的代码生成器。它包含在JDK中。即使您使用wsimportJDK8中的工具,它仍然会产生无法使用JDK8中的javadoc编译器进行编译的源代码。 @author标签 我正在打开3-4岁的源代码文件,并看到以下内容: /** * My very best class * @author John <john.doe@mine.com> */ 现在由于<字符而失败。严格来说,这是合理的,但不是很宽容。 HTML表格 您的Javadoc中的HTML表?考虑以下有效的HTML: /** * * <table> * <tr> * <td>Col1</td><td>Col2</td><td>Col3</td> * </tr> * </table> */ 现在,此操作将失败,并显示错误消息no summary or caption for table。一种快速的解决方法是这样做: /** * * <table summary=""> * …
133 java  maven  java-8 


10
子类化Java Builder类
给这篇多布斯博士文章,特别是Builder模式,我们如何处理将Builder子类化的情况?以该示例的简化版本为例,在该示例中我们想使用子类来添加GMO标签,一个简单的实现将是: public class NutritionFacts { private final int calories; public static class Builder { private int calories = 0; public Builder() {} public Builder calories(int val) { calories = val; return this; } public NutritionFacts build() { return new NutritionFacts(this); } } protected NutritionFacts(Builder builder) { calories = builder.calories; } …


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.