Questions tagged «java»

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


3
Android中String.join的替代选择?
我想用逗号作为分隔符连接一个ArrayList。我找到了这个答案,说明可以String.join在Java中使用。 但是,当我尝试使用此功能时,Android Studio出现以下错误: 无法解析方法'join(java.lang.String,java.lang.String,java.lang.String,java.lang.String)' Android Studio是否有一个好的简洁的替代方法(而不是使用for循环)?
79 java  android 

4
如何使用subList()
我有一个JSF页面,其中显示了Glassfish日志文件列表。我使用延迟加载进行分页。我将日志文件名称列表保存在Java中List。 private List<directoryListObj> dataList = new ArrayList<>(); dataList = dataList.subList(firstRow, lastRow); 这就是问题所在。例如,我有35个文件进入目录。当我这样做时 dataList = dataList.subList(5, 15); 它工作正常。但是当我这样做时: dataList = dataList.subList(30, 38); 我得到了错误的错误索引,因为我想获取List之外的索引。例如,我如何返回30到35的List元素?我想让索引从30增加到40,但如果只有35个索引就只能得到5。
79 java 

4
为什么Thread不是抽象类,而start()不是final?
为什么将Thread类实现为常规类而不是将抽象run()方法实现为抽象类。 会不会带来任何问题?或以这种方式有什么用吗? 另外,该Thread.start()方法应该是一种非常特定的方法,其功能不能由任何其他类实现(如果我没记错的话)。因此,我想该final关键字比其他任何方法都更适合此操作。 但是我可以重写此方法并根据需要使用它, public class Test extends Thread { public static void main (String... args) { Thread test = new Test(); test.start(); } @Override public void run() { System.out.println("New thread started..."); } @Override public void start() { System.out.println("Did anyone tell you I will spawn a new thread??"); } } …


2
Hadoop截断/计数器名称不一致
现在,我有一个Hadoop作业,该作业创建了一个非常知名的计数器。 例如,以下之一:stats.counters.server-name.job.job-name.mapper.site.site-name.qualifier.qualifier-name.super-long-string-which-is-not-within-standard-limits。该计数器在Web界面和getName()方法调用上被截断。我发现Hadoop在计数器最大名称上有限制,此设置IDmapreduce.job.counters.counter.name.max用于配置此限制。所以我将其增加到500,Web界面现在显示完整的计数器名称。但是getName()计数器的仍然返回截断的名称。 有人可以解释一下还是指出我的错误?谢谢。 编辑1 我的Hadoop服务器配置由具有HDFS,YARN并在其上进行map-reduce的单个服务器组成。在map-reduce期间,有一些计数器增量,并且在作业完成之后,ToolRunner我使用来获取计数器org.apache.hadoop.mapreduce.Job#getCounters。 编辑2 Hadoop版本如下: Hadoop 2.6.0-cdh5.8.0 Subversion http://github.com/cloudera/hadoop -r 042da8b868a212c843bcbf3594519dd26e816e79 Compiled by jenkins on 2016-07-12T22:55Z Compiled with protoc 2.5.0 From source with checksum 2b6c319ecc19f118d6e1c823175717b5 This command was run using /usr/lib/hadoop/hadoop-common-2.6.0-cdh5.8.0.jar 我进行了一些其他调查,看来此问题描述了与我类似的情况。但这很令人困惑,因为我能够增加计数器的数量,但不能增加计数器名称的长度... 编辑3 今天,我花了很多时间调试Hadoop的内部组件。一些有趣的东西: org.apache.hadoop.mapred.ClientServiceDelegate#getJobCounters方法从TRUNCATED名称和FULL显示名称的yarn返回一堆计数器。 无法调试地图和化简器本身,但在记录的帮助下,该org.apache.hadoop.mapreduce.Counter#getName方法似乎在化简器执行期间正常工作。
79 java  hadoop  mapreduce  yarn 


11
Java中的花括号本身是什么意思?
我有一些以两种方式使用花括号的Java代码 // Curly braces attached to an 'if' statement: if(node.getId() != null) { node.getId().apply(this); } // Curly braces by themselves: { List<PExp> copy = new ArrayList<PExp>(node.getArgs()); for(PExp e : copy) { e.apply(this); } } outAMethodExp(node); 在第一个if语句之后,这些独立的花括号是什么意思?

14
接口应该放在单独的包装中吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 改善这个问题 我是一个刚开始从事大型项目的团队的新手,该项目具有许多组件和依赖项。对于每个组件,都有一个interfaces包装,用于放置该组件的暴露接口。这是一个好习惯吗? 我通常的做法一直是将接口和实现放在同一个程序包中。


7
添加到集合然后对其进行排序或添加到已排序的集合是否更快?
如果我有Map这样的话: HashMap<Integer, ComparableObject> map; 并且我想获得使用自然顺序排序的值的集合,哪种方法最快? (一种) 创建一个可排序集合的实例,例如ArrayList,添加值,然后对其进行排序: List<ComparableObject> sortedCollection = new ArrayList<ComparableObject>(map.values()); Collections.sort(sortedCollection); (B) 创建一个有序集合的实例,例如TreeSet,然后添加值: Set<ComparableObject> sortedCollection = new TreeSet<ComparableObject>(map.values()); 请注意,结果集合永远不会被修改,因此排序只需要进行一次。

6
如何将JRE与Launch4j捆绑在一起?
我的计算机上装有Launch4J,它是一个很棒的程序。我感兴趣的功能之一是能够将JRE捆绑在常规.EXE文件中。但是,我找不到任何描述如何执行此操作的文档。 如何将JRE与EXE捆绑在一起?另外,在哪里可以运行紧凑的便携式JRE?Oracle上的下载链接适用于安装程序包。

4
Java为什么您的switch语句数据类型不能很长?
这是Sun的Java教程的摘录: 一种开关用的工作原理byte,short,char,和int原始数据类型。它还与枚举类型(在类和继承讨论)和少数特殊类作品是“包装”某些基本类型:Character,Byte,Short,和Integer(在简单的数据对象讨论)。 一定有充分的理由为什么long不允许原始数据类型。有人知道这是什么吗?

11
如何在Java中获取字符串中的最后一个字符,而不管字符串大小如何
我正在寻找一种从字符串中提取最后一个字符的方法,无论大小如何。让我们以以下字符串为例: "abcd: efg: 1006746" "bhddy: nshhf36: 1006754" "hfquv: nd: 5894254" 如您所见,完全是随机的字符串,但末尾有7个数字。我将如何取这7个数字? 编辑: 我只是意识到,String[] string = s.split(": ");只要我将string [2]用作数字,将string [1]用作中间的任何东西,这在这里将非常有用。
79 java  string 

4
设置Java URLConnection的用户代理
我正在尝试使用带有URLConnection的Java解析网页。我尝试像这样设置用户代理: java.net.URLConnection c = url.openConnection(); c.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"); 但是最终的用户代理是我指定的,最后附加了“ Java / 1.5.0_19”。有没有一种方法可以在没有此添加的情况下真正设置用户代理?
79 java  user-agent 

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.