Tag: java

如何从一个string中提取数字并获取一个int数组?

我有一个stringvariables(基本上是一个数字未指定的英文句子),我想提取所有的数字到一个整数数组。 我想知道是否有正则expression式的快速解决scheme? 我使用肖恩的解决scheme,并稍作修改: LinkedList<String> numbers = new LinkedList<String>(); Pattern p = Pattern.compile("\\d+"); Matcher m = p.matcher(line); while (m.find()) { numbers.add(m.group()); }

用Javaparsing任何date

我知道这个问题有很多问题,显然你不能parsing任何date。 然而,我发现python-dateutil库能够parsing每一个date,而所有的date格式string都是绝对零度的。 乔达时间总是作为一个伟大的Javadateparsing器出售,但它仍然需要你select格式(或自己创build)之前,确定你的date是什么格式。 你不能只是调用DateFormatter.parse(mydate),神奇地得到一个Date对象。 例如,date“Wed Mar 04 05:09:06 GMT-06:00 2009”已经正确地用python-dateutilparsing: import dateutil.parser print dateutil.parser.parse('Wed Mar 04 05:09:06 GMT-06:00 2009') 但下面的乔达时间通话不起作用: String date = "Wed Mar 04 05:09:06 GMT-06:00 2009"; DateTimeFormatter fmt = ISODateTimeFormat.dateTime(); DateTime dt = fmt.parseDateTime(date); System.out.println(date); 而创build自己的DateTimeFormatter将会失败,因为这与使用带有正确格式string的SimpleDateFormatter相同。 有没有类似的方法来parsingJava中的date,如python-dateutil? 我不在乎错误,我只是希望它完美。

正确地从一个List <Integer>中移除一个Integer

这是我遇到的一个不错的陷阱。 考虑一个整数列表: List<Integer> list = new ArrayList<Integer>(); list.add(5); list.add(6); list.add(7); list.add(1); 任何教育猜测当你执行list.remove(1)会发生什么? 怎么样list.remove(new Integer(1)) ? 这可能会导致一些令人讨厌的错误。 在处理整数列表时,区分remove(int index)和remove(Object o) (删除通过引用删除元素remove(Object o)的正确方法是什么? 这里要考虑的要点是提到的@Nikita之一 – 确切的参数匹配优先于自动装箱。

用Java对数组sorting

我试图做一个由10个整数组成的数组,这个数组都有一个随机值,到目前为止这么好。 但是,现在我需要按照从最低到最高的顺序对它们进行sorting,然后将它们打印到屏幕上,我该如何去做呢? (对不起,有这么多的程序代码很小,我对循环不太好,刚开始使用Java) public static void main(String args[]) { int [] array = new int[10]; array[0] = ((int)(Math.random()*100+1)); array[1] = ((int)(Math.random()*100+1)); array[2] = ((int)(Math.random()*100+1)); array[3] = ((int)(Math.random()*100+1)); array[4] = ((int)(Math.random()*100+1)); array[5] = ((int)(Math.random()*100+1)); array[6] = ((int)(Math.random()*100+1)); array[7] = ((int)(Math.random()*100+1)); array[8] = ((int)(Math.random()*100+1)); array[9] = ((int)(Math.random()*100+1)); System.out.println(array[0] +" " + array[1] +" " + array[2] +" […]

我可以将一个数组作为parameter passing给Java中具有可变参数的方法吗?

我想能够创build一个function,如: class A { private String extraVar; public String myFormat(String format, Object … args){ return String.format(format, extraVar, args); } } 这里的问题是, args在myFormat方法中被当作Object[]处理,因此是String.format的单个参数,而我希望args每个Object都作为新的parameter passing。 由于String.format也是一个可变参数的方法,这应该是可能的。 如果这是不可能的,是否有像String.format(String format, Object[] args) ? 在这种情况下,我可以prepend extraVar使用一个新的数组args并传递给该方法。

Android / Java – date差异

我使用下面的代码获取当前date(格式为12/31/1999,即mm / dd / yyyy): Textview txtViewData; txtViewDate.setText("Today is " + android.text.format.DateFormat.getDateFormat(this).format(new Date())); 我还有一个格式为:2010-08-25(即yyyy / mm / dd), 所以我想find天数之间的差异,我怎么才能find在天差异? (换句话说,我想findCURRENT DATE – yyyy / mm / dd格式化date之间的区别)

如何在Java中进行URL解码?

在Java中,我想要转换这个: https%3A%2F%2Fmywebsite%2Fdocs%2Fenglish%2Fsite%2Fmybook.do%3Frequest_type 对此: https://mywebsite/docs/english/site/mybook.do&request_type 这是我迄今为止: class StringUTF { public static void main(String[] args) { try{ String url = "https%3A%2F%2Fmywebsite%2Fdocs%2Fenglish%2Fsite%2Fmybook.do" + "%3Frequest_type%3D%26type%3Dprivate"; System.out.println(url+"Hello World!——->" + new String(url.getBytes("UTF-8"),"ASCII")); } catch(Exception E){ } } } 但是这并不正确。 这些%3A和%2F格式叫什么?我如何转换它们?

for循环和for-each循环之间是否有性能差异?

如果有的话,以下两个循环之间的性能差异是什么? for (Object o: objectArrayList) { o.DoSomething(); } 和 for (int i=0; i<objectArrayList.size(); i++) { objectArrayList.get(i).DoSomething(); }

java.lang.UnsupportedClassVersionError:.class文件中的版本号不正确?

我得到这个错误,当我包含一个开源库,我不得不从源代码编译。 现在,networking上的所有build议都表明代码被编译成一个版本,并在另一个版本(旧的新版本)中执行。 但是,我的系统上只有一个JRE版本。 如果我运行命令: $ javac -version javac 1.5.0_18 $ java -version java version "1.5.0_18" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02) Java HotSpot(TM) Server VM (build 1.5.0_18-b02, mixed mode) 并检查在Eclipse中的Java库的属性,我得到1.5.0_18 因此,我必须得出其他的结论,内部的一个类本身,抛出exception? 这甚至可能吗?

Android 6.0多个权限

我知道Android 6.0具有新的权限,我知道我可以用这样的东西来调用它们 if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, PERMISSION_WRITE_STORAGE); } 今天我看到一个需要3个权限的Google应用程序:联系人,短信和相机。 它正在制作第1-3页,并同时将它们全部召集起来激活。 任何人都可以告诉我如何可以调用4个权限来激活同时像短信,相机,联系人和存储? 例子(忘了谷歌应用程序的名称:() 该应用程序需要短信,联系人和相机 该应用程序问我(并做了一个对话页1-3)激活短信,激活联系人,然后相机。 所以这个谷歌应用程序一起调用所有3个必要的权限,我的问题是我如何达到相同?