append() هي طريقة Java لفئتي StringBuilder وStringBuffer والتي تُلحق بعض القيمة بالتسلسل الحالي. حتى لو لم تكن تعرف ما هي طريقة الإلحاق() ، فمن المحتمل أنك استخدمتها ضمنيًا بالفعل. حدث هذا عندما قمت بتسلسل السلاسل في Java باستخدام عامل التشغيل +. النقطة المهمة هي أن تسلسل السلسلة في Java يتم تنفيذه باستخدام فئة StringBuilder أو StringBuffer وطريقة الإلحاق () الخاصة بهم .
باختصار شديد حول String وStringBuffer وStringBuilder
كما تعلم، فإن فئة السلسلة نهائية (لا تحتوي على فئات فرعية) وغير قابلة للتغيير (لا يمكن تعديل مثيلات هذه الفئة بعد الإنشاء). في الواقع، نظرًا لعدم قابلية تغيير فئة السلسلة، يتم إنشاء مثيلات سلسلة جديدة نتيجة لكل عملية، ويتم التخلص من مثيلات السلسلة القديمة، مما يؤدي إلى توليد الكثير من البيانات المهملة. للتعامل مع توليد البيانات المهملة المؤقتة بسبب التعديلات على كائن السلسلة، يمكنك استخدام فئات StringBuffer أو StringBuilder. والفرق الرئيسي بين الأخيرين هو أن StringBuffer متزامن بينما StringBuilder ليس كذلك. ومن ثم، استخدم StringBuffer للسلاسل التي سيتم تعديلها بشكل متكرر في بيئة متعددة الخيوط وStringBuilder في حالة وجود بيئة ذات ترابط واحد.إلحاق () في StringBuilder وStringBuffer
يعد append() إحدى أفضل الطرق لفئتي StringBuilder وStringBuffer. يقوم بإلحاق قيمة جديدة بالتسلسل الحالي. هناك 13 طريقة إلحاق () محمّلة بشكل زائد في فئتي StringBuffer وStringBuilder. دعونا نلقي نظرة على طريقة الإلحاق لـ StringBuilder. على أي حال، فإنها تعمل بنفس الطريقة تمامًا في حالة StringBuffer.- إلحاق StringBuilder العام (منطقي ب)
- إلحاق StringBuilder العام (char c)
- إلحاق StringBuilder العام (char[] str)
- إلحاق StringBuilder العام (char[] str، int offset، int len)
- إلحاق StringBuilder العام (CharSequence cs)
- إلحاق StringBuilder العام (CharSequence cs، int start، int end)
- إلحاق StringBuilder العام (مزدوج د)
- إلحاق StringBuilder العام (العائمة f)
- إلحاق StringBuilder العام (int i)
- إلحاق StringBuilder العام (LNG الطويل)
- إلحاق StringBuilder العام (Object obj)
- إلحاق StringBuilder العام (سلسلة سلسلة)
- إلحاق StringBuilder العام (StringBuffer sb)
Java.lang.StringBuilder.append(int i)
java.lang.StringBuilder.append(int i) هي طريقة تسمح بإلحاق عدد صحيح بكائن StringBuilder الموجود. دعونا نلقي نظرة على أمثلة استخدام Java.lang.StringBuilder.append(int i) :StringBuilder s = new StringBuilder(“I love Java ”);
int i = 14;
//the method appends StringBuilder and integer
s.append(i);
System.out.println(s);
الناتج هنا سيكون:
أنا أحب جافا 14
ماذا حدث هنا؟ أولاً، قمنا بإنشاء StringBuilder باسم s بالقيمة "I love Java". ثم يضاف إليه عدد صحيح 14 باستخدام append(int) . بالمعنى الدقيق للكلمة، لم نضيف عددًا صحيحًا، بل أضفنا السلسلة "14" وحصلنا على قيمة StringBuilder المحدثة إلى "أنا أحب Java 14". وبالتالي، تقوم الطريقة بتحويل الوسيطة إلى كائن StringBuilder، وربطها بكائن StringBuilder الموجود، وإرجاع كائن محدث.
مثال StringBuilder append() لوسيطة Object وint وboolean وString
ستكون القصة نفسها مع جميع الطرق الأخرى المثقلة بعناصر الأرقام أو السلسلة أو الأحرف أو المصفوفات. لنقم بإنشاء فئة LegoBrick وتعداد Color لتوضيح طريقة إلحاق StringBuilder العامة (Object obj) .//enum with colors
public enum Color {
RED, YELLOW, BLUE;
}
//LegoBrick Class code
public class LegoBrick {
Color color;
boolean isConnected;
public void connect() {
System.out.println("This brick is connected");
this.isConnected = true;
}
public void disconnect() {
System.out.println("Disconnected");
isConnected = false;
}
public LegoBrick(Color color, boolean isConnected) {
this.color = color;
this.isConnected = isConnected;
}
public Color getColor() {
return color;
}
public boolean isConnected() {
return isConnected;
}
@Override
public String toString() {
return "LegoBrick{" +
"color=" + color +
", isConnected=" + isConnected +
'}';
}
}
لنقم الآن بإنشاء فئة AppendDemo حيث سنعرض إلحاق StringBuilder الأساسي باستخدام String وint وLegoBrick وboolean. رغم غرابتها فإنها فعالة!
public class AppendDemo {
public static void main(String[] args) {
StringBuilder s = new StringBuilder("I love");
System.out.println(s)
//the method appends StringBuilder and String
s.append(" Java");
System.out.println(s);
//the method appends StringBuilder and int
s.append(14);
System.out.println(s);
LegoBrick legoBrick = new LegoBrick(Color.RED, false);
//the method appends StringBuilder and LegoBrick
s.append(legoBrick);
System.out.println(s);
//the method appends StringBuilder and boolean
System.out.println(s.append(5<7));
}
}
الإخراج هو:
أحب Java أحب Java14 أحب Java14LegoBrick{color=RED, isConnected=false} أحب Java14LegoBrick{color=RED, isConnected=false}true
أولاً، قمنا بإنشاء وعرض StringBuilder "أنا أحب"، ثم أولاً، أضفنا إليه بشكل تسلسلي باستخدام طريقة append() سلسلة ورقم int وتمثيل سلسلة لكائن وقيمة منطقية.
إلحاق StringBuilder (char [] cstr، int set، int length)
دعونا نلقي نظرة على طريقة الإلحاق () بثلاثة معلمات. يضيف تمثيلاً لمصفوفة فرعية لمصفوفة أحرف معينة إلى السلسلة. إذن هنا:- cstr عبارة عن مجموعة من الأحرف المراد إلحاقها
- قم بتعيينه فهرس الحرف الأول المراد إلحاقه
- الطول هو كمية الأحرف المراد إلحاقها.
public class AppendDemo {
// an example of using append(char[], cStr, int set, int length)
public static void main(String[] args) {
StringBuilder s = new StringBuilder("I love ");
//here is a char's array, part of which we are going to append to s
char[] cStr = new char[]
{'c', 'o', 'd', 'e', 'J', 'a', 'v', 'a', '1', '4'};
//we append 4 elements of cStr from the 4th element "J"
s.append(cStr, 4, 4);
System.out.println(s);
}
}
الإخراج هو:
أنا أحب جافا
طرق إلحاق StringBuilder () باستخدام وسيطة CharSequence
ربما لاحظت طريقتين تستخدمان CharSequence كوسائط لهما.- إلحاق StringBuilder العام (CharSequence cs)
- إلحاق StringBuilder العام (CharSequence cs، int start، int end)
public class CharSequenceDemo {
public static void printCharSequence(CharSequence ch) {
System.out.println(ch);
}
public static void main(String[] args) {
CharSequence myString = new String("This is String ");
printCharSequence(myString);
CharSequence myStringBuilder = new StringBuilder("This is StringBuilder ");
printCharSequence(myStringBuilder);
StringBuilder s = new StringBuilder("my StringBuilder ");
//StringBuilder.append
s.append(myStringBuilder);
System.out.println(s);
//StringBuilder.append
s.append(myString);
System.out.println(s);
s.append(myString, 5,7);
System.out.println(s);
}
}
الإخراج هو:
هذه هي السلسلة هذه هي StringBuilder الخاصة بي StringBuilder هذه هي StringBuilder الخاصة بي StringBuilder هذه هي StringBuilder هذه هي السلسلة الخاصة بي StringBuilder هذه هي StringBuilder هذه هي السلسلة هي
لقد أنشأنا اثنين من CharSequences، وربطنا بهما String وStringBuilder وطبعناهما. لا يمكننا تطبيق طريقة append() مباشرة على myStringBuilder، نظرًا لأن CharSequence لا يحتوي على هذه الطريقة (إذا كنت لا تفهم السبب، فأنت بحاجة إلى معرفة المزيد عن الميراث بالإضافة إلى توسيع وتضييق أنواع المراجع). لذلك، نقوم بإنشاء StringBuilder باستخدام طريقة الإلحاق والتسلسل باستخدامها بشكل تسلسلي مع كل من CharSequence. في النهاية قمنا بإلحاق StringBuilder الخاص بنا بالتسلسل الفرعي "is" ("i" هو العنصر الخامس من myStringBuilder وs هو العنصر السادس. تذكر أنه في الطريقة، يتم استبعاد العنصر المحدد كنهاية من التسلسل الفرعي.
ماذا عن إلحاق StringBuffer ()؟
يحتوي StringBuffer.append أيضًا على 13 نوعًا مختلفًا من الطريقة ويعملون تمامًا بنفس طريقة StringBuilder.- إلحاق StringBuffer العام (منطقي ب)
- إلحاق StringBuffer العام (شار ج)
- إلحاق StringBuffer العام(char[] str)
- إلحاق StringBuffer العام(char[] str، int offset، int len)
- إلحاق StringBuffer العام (د مزدوج)
- إلحاق StringBuffer العام (العائمة f)
- إلحاق StringBuffer العام (int i)
- إلحاق StringBuffer العام (LNG الطويل)
- إلحاق StringBuffer العام (CharSequence s)
- إلحاق StringBuffer العام (CharSequence s، int start، int end)
- إلحاق StringBuffer العام (كائن obj)
- إلحاق StringBuffer العام (سلسلة سلسلة)
- إلحاق StringBuffer العام (StringBuffer sb)
public class AppendDemo {
// an example of using append(char[], cStr, int set, int length)
public static void main(String[] args) {
StringBuffer s = new StringBuffer("I love ");
//here is a char's array, part of which we are going to append to s
char[] cStr = new char[]
{'c', 'o', 'd', 'e', 'J', 'a', 'v', 'a', '1', '4'};
//we append 4 elements of cStr from the 4th element "J"
//with StringBuffer.append
s.append(cStr, 4, 4);
System.out.println(s);
//StringBuffer.append adds int 14 to s
s.append(14);
System.out.println(s);
}
}
الإخراج هو:
أنا أحب جافا أحب Java14
يمكنك القيام بذلك مع كل مثال في هذه المقالة. سوف يعملون!
GO TO FULL VERSION