equals方法如何在java中工作

我问的是非常基本的问题,但是真的很困惑equals方法在java中是如何工作的。 让我举一个例子,我在类级别声明类型为String的三个变量。 String a = “abc”; String b = “abc”; String c = new String(“abc”); 然后根据java thumb规则编写一个比较它们的方法。 public void compare(){ System.out.println(“a.equals(c) :” + a.equals(c)); System.out.println(“a == b :” + (a == b)); System.out.println(“a == c :” + (a == c)); } 现在,当我运行程序时,它给了我下面的输出。 a.equals(c) :true a == b :true a == c :false 现在我很困惑,因为我知道写成文字的字符串总是被创建到StringPool中。 这意味着变量a和b将被创建为StringPool,并且根据stringPool,将只有一个实例,变量a和b将指向此变量。 变量c将被创建到堆内存中。 […]

Android:获取当前打开的应用程序的堆栈(数组)

有没有办法获取当前运行或打开的Android应用程序的列表,以便我可以找到在设备中运行的最后一个应用程序。 谢谢

需要高性能的文本文件读取和解析(split() – like)

目前我有: 1个文件,包含900万行 BufferedReader.readLine()读取每一行 String.split()来解析每一行(由管道分隔的列) 使用了大量的RAM(因为String interning?) 问题是:正如您可能已经猜到的那样,我想要更好地阅读和解析此文件… 问题: 如何使用最少的资源读取这个相对较大的文件(知道每一行都需要在管道上进行某种“拆分”)? 我可以用其他东西替换String.split(比方说,StringBuilder,CharBuffer,……)? 在我将字符串拆分为最终字符序列之前,避免使用字符串读取文件的最佳方法是什么? 我不介意在我的POJO中使用其他字符串,如果你有更好的东西吗? 该文件将每隔几个小时重新加载一次,如果这有助于您给我一个解决方案? 谢谢 :)

如何使用jpa和hibernate将本机查询映射到POJO类

我在我的项目中使用JPA和hibernate。 我创建了一个查询,其中我在许多表上进行了连接操作。 所以我创建了一个原生的。 我得到的结果是在object []列表中,但我希望结果自动转换为java POJO类 。 您可以在下面查看查询语法和POJO java类。 JPA查询 @Query(value = “SELECT obsp.Identifier, obs.phenomenontimestart, nv.value ” + “From Series s ” + “INNER JOIN Featureofinterest fi on s.featureofinterestid = fi.featureofinterestid ” + “INNER JOIN ObservableProperty obsp on s.observablepropertyid = obsp.ObservablePropertyId ” + “INNER JOIN Observation obs on s.seriesid = obs.seriesid ” + “INNER JOIN […]

使用TransactionManager使用Spring JmsTemplate编写消息

使用Spring-JMS,可以通过DefaultMessageListenerContainer在外部事务上下文中接收消息。 但是, 编写消息的唯一记录方法是通过JmsTemplate.send(…) ,我无法看到如何强制使用给定的TransactionManager 。 谁能指出我正确的方向? 更多信息:确保事务管理器可用( WebSphereUowTransactionManager ),对Oracle AQjmsFactory.getQueueConnectionFactory(dataSource)使用JmsTemplate.write导致: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is oracle.jms.AQjmsException: could not use local transaction commit in a global transaction at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316) at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168) at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469) at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:534) Caused by: oracle.jms.AQjmsException: could not use local transaction commit in a global transaction at oracle.jms.AQjmsSession.commitNoCheck(AQjmsSession.java:1053) at […]

将Regular Regular Int转换为Final Java

我试图在循环中实现内部类,并进入一个有趣的情况。 内部类有方法,但是,当我尝试访问变量时,Netbeans给了我一个编译器错误并告诉我使int最终。 由于int是循环变量,因此它不能是最终的。 我已经尝试创建新变量并将它们等同于循环变量,但这仍然会引发相同的错误。 这是基本语法(伪代码): for(int i = 0; i < 10; i++) { panels[i].printI(new printI(){System.out.println(i);}); } 有任何想法吗?

新上传的文件和Tomcat?

我有一个简单的servlet用于图像上传,用户选择一个图像,servlet完成其工作,然后将其写入上传目录。 我的项目布局: project ├───static │ ├───img │ └───js ├───upload └───WEB-INF └───lib 上传图像后,用户将被重定向到其位置: http://localhost:8080/upload/[image MD5 hash].png 上传代码工作得很好,但是在请求url时Tomcat返回404错误,即使图像在那里: > wget http://localhost:8080/upload/f5d1da2cadf3bd1c1b9196ec522a5d73.png SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc syswgetrc = C:\GnuWin32/etc/wgetrc –2013-01-16 03:45:33– http://localhost:8080/upload/f5d1da2cadf3bd1c1b9196ec522a5d73.png Resolving localhost… 127.0.0.1, ::1 Connecting to localhost|127.0.0.1|:8080… connected. HTTP request sent, awaiting response… 404 Not Found 2013-01-16 03:45:33 ERROR 404: Not Found. > 在我的IDE,Intellij中单击update classes and resources后,它可以工作: […]

在Android中生成PDF,无需任何第三方库

我需要使用API​​ 19中引入的PdfDocument类从我的应用程序生成PDF。我不想使用任何第三方库。 这就是我所做的 PdfDocument document = new PdfDocument(); PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(300, 300, 1).create(); PdfDocument.Page page = document.startPage(pageInfo); View content = findViewById(R.id.testText); content.draw(page.getCanvas()); document.finishPage(page); String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + “/AppName”; File dir = new File(fullPath); File file = new File(fullPath, “TripReport.PDF”); if (!dir.exists()) dir.mkdirs(); if (file.exists()) file.delete(); file.createNewFile(); FileOutputStream os = new FileOutputStream(file); document.writeTo(os); […]

为什么我的正则表达式不匹配?

我在文本文件中有一些这样的行: ==Text== 我试图匹配开始,使用这个: line.matches(“^==[^=]”) 但是,这会为每一行返回false …一点帮助?

HttpURLConnection错误:java.net.SocketTimeoutException:连接超时

我正在使用这样的简单urlconnection: url = URL+”getClient&uid=”+cl_id; URL url = new URL(this.url); Log.d(“Set++”,”get_t URL: “+ url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 它工作正常,但有时我得到这个错误: error: java.net.SocketTimeoutException: Connection timed out 可能是什么原因? 我只有4个客户……所以我不认为服务器超载连接。 代码: try { URL = Settings.BASE_URL + “_interface.php?” + “key=” + Settings.KEY +”&app_naam=”+Settings.APP_NAAM+ “&action=check&setTime=”+c; URL url = new URL(URL); if(D)Log.e(“ChekTreadAanvr+url”, URL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); BufferedReader rd = […]