Tag: 字符串

游泳池什么时候改变?

我有两个问题: public static void main(String[] args) { String s1 = “bla”; String s2 = “b” +”l” + “a”; String s3 = “b”.concat(“l”).concat(“a”); if(s1 == s2) System.out.println(“Equal”); else System.out.println(“Not equal”); if(s1 == s3) System.out.println(“Equal”); else System.out.println(“Not equal”); } 为什么s1和s2指向同一个对象,而s1和s3不指向? ( 没有使用new关键字 )。 如果我从用户那里得到一个字符串并将以下代码添加到上面的代码中: BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); String name=in.readLine(); if(name.equals(“test”)) s1 = s1 + “xyz”; 如果用户输入xyz […]

拆分String并将其放在int数组中

我必须输入一个带有数字ex:1,2,3,4,5的字符串。 这是输入的一个示例,然后我必须将它放在一个INT数组中,这样我就可以对它进行排序,但它的工作方式不同。 package array; import java.util.Scanner; public class Array { public static void main(String[] args) { String input; int length, count, size; Scanner keyboard = new Scanner(System.in); input = keyboard.next(); length = input.length(); size = length / 2; int intarray[] = new int[size]; String strarray[] = new String[size]; strarray = input.split(“,”); for (count = 0; […]

删除所有空行

我认为这并不难,但我想用String.replaceAll删除所有空行(或者只包含Java中的空格和制表符的行)。 我的正则表达式如下: s = s.replaceAll (“^[ |\t]*\n$”, “”); 但它不起作用。 我环顾四周,但只发现正则表达式删除没有空格或标签的空行。

字符串池与常量池

这个问题可能很愚蠢。 但我完全糊涂了。 需要帮助理解字符串池和常量池。 我很清楚字符串实习和字符串池。 String s1 = “Hello”; String s2 = “Hello”; 现在两者都由于实习而引用同一个对象。(即)由于字符串是不可变的,因此只创建一个对象并且两者都引用同一个对象。 而且常量池是保存在类中声明的所有常量(整数,字符串等)的东西。 它针对每个class级。 System.out.println(“Hello”); //I believe this Hello is different from above. 我的问题是, 字符串池是指常量池中的常量字符串对象池吗? 如果是,是字符串池在整个应用程序中是通用的还是特定于类? 谢谢。

字符串在Java 8中使用了多少内存?

我最近阅读了很多关于字符串内存分配的内容,如果与Java 8相同,则无法找到任何细节。 类似”Alexandru Tanasescu”的字符串在Java 8中使用多少内存空间? 我使用64位版本。

在Java中连接字符串是否总是导致在内存中创建新字符串?

我有一个不符合屏幕宽度的长字符串。 例如。 String longString = “This string is very long. It does not fit the width of the screen. So you have to scroll horizontally to read the whole string. This is very inconvenient indeed.”; 为了便于阅读,我想到了这样写 – String longString = “This string is very long.” + “It does not fit the width of the screen.” […]

java.lang.NumberFormatException:empty String

下面的代码不断给出java.lang.NumberFormatException: empty String : private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { double AText = Double.parseDouble(angleAField.getText()); double BText = Double.parseDouble(angleBField.getText()); double CText = Double.parseDouble(angleCField.getText()); double aText = Double.parseDouble(sideaField.getText()); double bText = Double.parseDouble(sidebField.getText()); double cText = Double.parseDouble(sidecField.getText()); if (getMissing(angleAField.getText()) == false && getMissing(angleCField.getText()) == false) { //doesnt have angle C ,find Angle A double angleA = Math.round(Math.asin((Math.sin(BText) / bText) […]

==和.equals()无法在java中工作

所以我试图比较PackageInfo和ApplicationInfo中的字符串,并在Android Studio中检索它们的包名。 List packages = pm.getInstalledApplications(PackageManager.GET_META_DATA); List apps = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS); for (PackageInfo app : apps) for(ApplicationInfo packageInfo:packages) String packageName = packageInfo.packageName; String sysName = app.packageName; if (packageName != sysName) { Log.d(“”, “NOPE DOESNT MATCH”); break; } if (packageName.equals(sysName.toString())) ; { Log.d(“”, “IT MATCHES”); //do something after that 所以当我在调试模式中看到问题时,他们实际上遇到了相同的字符串 调试模式下的示例: com.android.quicksearchbox com.android.quicksearchbox 它返回“ NOPE DOESNT MATCH […]

Java String.split()正则表达式

我有一个字符串: String str = “a + b – c * d / e g >= h <= i == j"; 我想在所有运算符上拆分字符串,但在数组中包含运算符,因此生成的数组如下所示: [a , +, b , -, c , *, d , /, e , , g , >=, h , <=, i , ==, j] 我现在有这个: public static void main(String[] args) { String str […]

从java中的String数组中删除Null值

如何从java中的String数组中删除null值? String[] firstArray = {“test1″,””,”test2″,”test4″,””}; 我需要“firstArray”没有像这样的null(空)值 String[] firstArray = {“test1″,”test2″,”test4”};