1. طرق تحديد أن سلسلة String ليست فارغة هي:
1. str == null ؛
2. "" .equals (str) ؛
3. str.length <= 0 ؛
4. str.isempty () ؛
ملاحظة: الطول هو سمة ، وهي خاصية مملوكة لكائن فئة التجميع ، ويحصل على حجم المجموعة.
على سبيل المثال: Array.Length هو الحصول على طول الصفيف.
الطول () هو طريقة بشكل عام.
على سبيل المثال: string.length () ؛
يوضح:
1. NULL يعني أن هذه السلسلة لا تشير إلى أي شيء.
2. "" يعني أنه يشير إلى سلسلة من الطول 0 ، ومن الآمن استدعاء طريقته في هذا الوقت.
3. NULL ليس كائنًا ، "" هو كائن ، لذلك لا يوجد لديه مساحة مخصصة "،" يخصص الفضاء ، على سبيل المثال:
سلسلة str1 = مرجع
String Str2 = "" ؛
STR1 ليس كائنًا تم إنشاؤه حتى الآن ، في حين تم إنشاء مثيل لـ STR2.
تتم مقارنة الكائنات مع متساوين ، تتم مقارنة فارغة مع علامة متساوية.
إذا كان str1 = خاطئ ؛
if (str1.equals ("") || str1 == null) {}
الطريقة الصحيحة للكتابة هي (str1 == null || str1.equals ("")) {// لذلك عند الحكم على سلسلة فارغة ، حدد أولاً ما إذا كان كائنًا. هي سلسلة فارغة}
4. لذلك ، لتحديد ما إذا كانت السلسلة فارغة ، يجب عليك أولاً التأكد من أنها ليست فارغة ، ثم تحكم على طولها.
سلسلة str = xxx ؛
if (str! = null && str.length ()! = 0) {}
2. فيما يلي أربع طرق لجافا لتحديد ما إذا كانت السلسلة فارغة:
كفاءة الطرق الأربعة هي كما يلي:
الوقت الذي تم التقاطه: 625 مللي ثانية
الوقت الذي تم التقاطه: 125 مللي ثانية
وقت الحكم 3: 234ms
الوقت الذي تم التقاطه: 109 مللي ثانية
نسخة الكود كما يلي:
/**
* تم إنشاؤها مع فكرة intellij.
* المستخدم: المسؤول
* التاريخ: 14-1-16
* الوقت: 10:43 صباحًا
* كفاءة تحديد ما إذا كانت السلسلة فارغة
*/
الطبقة العامة
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
JudgeString1 ("W_Basketboy" ، 10000) ؛
JudgeString2 ("W_Basketboy" ، 10000) ؛
JudgeString3 ("W_Basketboy" ، 10000) ؛
JudgeString4 ("W_Basketboy" ، 10000) ؛
}
/**
* الطريقة 1: الطريقة التي يستخدمها معظم الناس هي بديهية ، مريحة ، ولكنها غير فعالة للغاية ؛
* الطريقة 2: مقارنة أطوال السلسلة هي أفضل طريقة ؛
* الطريقة 3: بدأت الطريقة التي توفرها Java SE 6.0 فقط في توفيرها ، والكفاءة والطريقة 2 متساوية تقريبًا ، ولكن لأسباب توافق ، يوصى باستخدام الطريقة 2 ؛
* الطريقة 4: هذه طريقة بديهية وبسيطة نسبيًا ، والكفاءة مرتفعة أيضًا ، والتي تشبه كفاءة الطرق 2 و 3 ؛
*/
public static void requergestring1 (String str ، long num) {
startTiem long = system.currentTimeMillis () ؛
لـ (int i = 0 ؛ i <num ؛ i ++) {
لـ (int j = 0 ؛ j <num ؛ j ++) {
if (str == null || "" .equals (str)) {
}
}
}
long -endtime = system.currentTimeMillis () ؛
System.out.println ("function1 يستهلك الوقت:" + (endtime - startTiem) + "MS") ؛
}
public static void uventring2 (String str ، long num) {
startTiem long = system.currentTimeMillis () ؛
لـ (int i = 0 ؛ i <num ؛ i ++) {
لـ (int j = 0 ؛ j <num ؛ j ++) {
if (str == null || str.length () <= 0) {
}
}
}
endtime long = system.currentTimeMillis () ؛
System.out.println ("Function4 Cartuming:" + (Endtime - startTiem) + "MS") ؛
}
public static void requergestring3 (String str ، long num) {
startTiem long = system.currentTimeMillis () ؛
لـ (int i = 0 ؛ i <num ؛ i ++) {
لـ (int j = 0 ؛ j <num ؛ j ++) {
if (str == null || str.isempty ()) {
}
}
}
endtime long = system.currentTimeMillis () ؛
System.out.println ("Function3 Cartuming:" + (endtime - startTiem) + "MS") ؛
}
public static void requergestring4 (String str ، long num) {
startTiem long = system.currentTimeMillis () ؛
لـ (int i = 0 ؛ i <num ؛ i ++) {
لـ (int j = 0 ؛ j <num ؛ j ++) {
if (str == null || str == "") {
}
}
}
endtime long = system.currentTimeMillis () ؛
System.out.println ("Function4 Cartuming:" + (Endtime - startTiem) + "MS") ؛
}
}