Tag: java

CompareTo / Sorting字符串和整数的2D数组

好的,所以我现在想出如何通过字符串和整数对2d数组进行排序,但是我不知道如何将它们组合起来。 我有一个2d用户数组,每行有一个用户数据。 数据分别是列的字符串或整数,所以如果我有多个比较方法,例如按名称排序或按电话号码排序,我如何实现初始的2d数组,因为如果我将它声明为字符串,我就无法比较按整数,如果我将其声明为整数,我就不能再通过String进行比较。 我现在使用的是基本的2d排序方法。 final Integer[][] data1 = userlistcopy; Arrays.sort(data1, new Comparator() { @Override public int compare(final Integer[] entry1, final Integer[] entry2) { final Integer time1 = entry1[1]; final Integer time2 = entry2[1]; return time2.compareTo(time1); } }); System.out.println(“====”); for (final Integer[] s : data1) { System.out.println(s[0] + ” ” + s[1]); } 要么 final String[][] […]

如果接收到无效的JSon,则不会调用ExceptionMapper

我使用Jersey 2.5.1和Jackson 2.2。 用于构建JSON Rest Web服务。 我有点了,并且运行了2个ExceptionMappers但是对于“not-json”请求,应用程序没有抛出任何exception! ExceptionMapper如果抛出NullPointerException,将调用它 如果JSon Mapping出现问题,将调用ExceptionMapper 我的问题:1。请求正文:{}工作2.请求正文:{}与应用程序端NullPointer调用第一个exception映射器3.请求正文:“jibberish”不调用任何东西(没有被任何ExceptionMapper捕获)导致没有exception被抛出。 不幸的是,响应主体是这样的:无法识别的字段“xxx”(类com.sample.MyDto),未标记为可忽略(9个已知属性……)但我想自定义错误消息,因为我总是返回一个JSon对象。

检测用户进行的屏幕分辨率更改(Java Listener?)

我有一个Java应用程序启动,创建一个GUI,并且工作得很好。 如果用户更改屏幕分辨率(从1440×900切换到1280×768),我希望能够收听该事件。 有任何想法吗? PS – 我想在事件/监听器模式下执行此操作,而不是在轮询模式下执行此操作,这样就不会浪费额外的CPU周期,例如定时器每隔N秒不断轮询屏幕大小以查看它是否已更改。

为什么java无法从死锁中恢复?

我正在阅读Java Concurrency in Practice一书,这里有关于死锁的内容。 JVM无法从死锁中恢复,只有摆脱死锁的方法是重启服务器。 它还提到JVM使用图搜索,其中Thread充当图节点,并且两个线程A和B之间的边缘被定义为线程A正在等待线程B已经拥有的资源上的锁定。该图是有针对性的,如果有任何周期这个图,然后有死锁 现在我的问题是,如果JVM知道存在死锁,那为什么不杀死一个线程并让其他线程继续? 这背后是否有任何具体原因或我的问题本身是基于错误的结论? 请告诉我您对此的看法。 提前致谢!!!

如何从Media对象获取元数据

我正在尝试在JavaFX中制作一个MP3播放器,到目前为止已经加载了歌曲和播放,但现在我想将Media对象的元数据显示到tableview。 我有一个作为模型类的歌曲类,在我的控制器类中,我有一个标签,我正在测试是否可以显示元数据,但它总是为空。 package application; import java.io.File; import javafx.collections.MapChangeListener; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; public class Song { private File file; private String title; private String artist; private String album; private Media music; private MediaPlayer mp; public Song(File file) { music = new Media(file.toURI().toString()); mp = new MediaPlayer(music); getMeta(); artist = (String) mp.getMedia().getMetadata().get(“artist”); title = (String) music.getMetadata().get(“title”); […]

TIME_WAIT中的tcp连接将不允许重新连接,java

在与服务器建立TCP连接后,我关闭了我的linux应用程序并调用了Socket.close()。 检查netstat -pant,我看到连接处于TIME_WAIT状态。 这使我无法立即连接回服务器,因为我使用相同的端口进行连接。 相反,我必须等待连接到TIME_WAIT状态的超时,然后才能重新连接。 我用套接字方法玩了很多运气 – set_so_timeout(),set_keepalive(),set_so_linger()和set_reuseaddr() – 这篇文章的确切拼写可能不正确。 我的问题是如何从TIME_WAIT状态获得连接,以便我可以立即重新建立连接? 请告诉我。 谢谢,jbu

Java如何处理ArrayList的refrerences和赋值?

我主要用C语言编写,但我在这个项目中使用Java。 我想知道Java在这里做了什么。 ArrayList prevRow, currRow; currRow = new ArrayList(); for(i =0; i < numRows; i++){ prevRow = currRow; currRow.clear(); currRow.addAll(aBunchOfItems); } prevRow = currRow行是复制列表还是prevRow现在指向与currRow相同的列表? 如果prevRow指向与currRow相同的列表,我应该创建一个新的ArrayList而不是清除…. private ArrayList someFunction(ArrayList l){ Collections.sort(l); return l; } main(){ ArrayList list = new ArrayList(Integer(3), Integer(2), Integer(1)); list = someFunction(list); //Option 1 someFunction(list); //Option 2 } 在类似的问题中,选项1和选项2在上面的代码中做了同样的事情吗? 谢谢- 乔纳森

大小未知的多维数组

我需要创建一个具有未定义大小的数组,该数组将包含用户信息。 例如: user[0][“name”] = “Patrick”; 但是,标准的java数组似乎需要一个已知的长度,我不知道。 我可以使用哪种替代方案? (我很乐意看到一些编码示例)我正在使用TCP框架( kryonet ),它不允许使用构造函数传递对象。 因此,据我所知,制作用户对象是不可能的。

如何将图像添加到网格视图并为这些图像添加单击function?

public final class gridFieldDemoScreen extends MainScreen { LabelField one, two, three, four, five, six; public gridFieldDemoScreen() { setTitle(“gridFieldDemo”); GridFieldManager grid = new GridFieldManager(2, 3, 0); one = new LabelField(“ONE”); grid.insert(one, 0); two = new LabelField(“TWO”); grid.insert(two , 1); three = new LabelField(“THREE”); grid.insert(three, 2); four = new LabelField(“FOUR”); grid.insert(four, 3); five = new LabelField(“FIVE”); grid.insert(five, […]

我的java控制台无法正常工作

使用我的java控制台时遇到了非常严重的问题。 我已经在java程序中启用了“show console”,它位于start> control panel> programs> java。 我双击它打开,进入高级并启用显示控制台。 但是,当我尝试运行此程序时,我收到错误消息没有控制台! 。 请帮忙!! 提前致谢。 public class RegexTest { public static void main(String[] args) { // TODO code application logic here Console console=System.console(); if(console==null){ System.err.println(“no console”); System.exit(1); } while(true){ Pattern pattern=Pattern.compile(console.readLine(“enter your regex: “)); Matcher matcher=pattern.matcher(console.readLine(“enter inputstring to serch”)); boolean found=false; while(matcher.find()){ console.format(“i found the text”+” %s starting […]