Видео: Разлика между StringBuffer и StringBuilder
2024 Автор: Mildred Bawerman | [email protected]. Последно модифициран: 2023-12-16 08:37
StringBuffer срещу StringBuilder
Java е много популярен обектно-ориентиран език. В Java класът String е предвиден да съдържа поредица от символи, които не могат да бъдат модифицирани (след като бъдат инициализирани). Алтернативно, езикът за програмиране Java предоставя два типа изменяеми последователности от символи. Тоест, когато програмистите трябва да модифицират определен String (след инициализация), те трябва да използват клас StringBuffer или клас StringBuilder, вместо клас String. StringBuffer беше въведен в JDK 1.0, а класът StringBuilder беше въведен в JDK 1.5, всъщност като заместител на класа StringBuffer (за среди с една нишка).
Какво е StringBuffer?
Класът StringBuffer е въведен в JDK 1.0. Класът StringBuffer принадлежи към пакета java.lang и се наследява от общия java.lang.object. Програмистите не могат да го разширят допълнително, тъй като това е последен клас. Класът StringBuffer изпълнява сериализуеми, добавяеми и CharSequience интерфейси. Обект от класа StringBuffer може да съдържа последователност от символи, която е променлива и безопасна за нишки. Това означава, че е много подобен на обект String, но последователността от символи (дължина и съдържание) може да бъде променена по всяко време след инициализиране на обекта StringBuffer. Това обаче трябва да се направи, като се използват специфичните методи, предоставени от класа StringBuffer. Има две основни операции в клас StringBuffer. Те се предоставят чрез методите append () и insert (). Тези методи са претоварени,така че те са в състояние да приемат данни от всякакъв тип като цяло число и дълги. И двата метода първо трансформират всеки вход в низ и след това добавя (добавя или вмъква) символите на съответния низ към съществуващия обект Stribbuffer. Методът append () добавя преобразувания низ в края на съществуващия обект StringBuffer, докато методът insert () ще добави входните символи към посочената точка на вмъкване.
Какво е StringBuilder?
Класът StringBuilder е въведен в JDK 1.5. API на StringBuilder много прилича на API на StringBuffer. Всъщност класът StringBuilder всъщност беше въведен като заместител на класа StringBuffer (за приложения с една нишка). Класът StringBuilder принадлежи към пакета java.lang и се наследява от общия java.lang.object. Това е краен клас и затова програмистите не могат да го разширят. Класът StringBuilder реализира сериализуеми, добавяеми и CharSequience интерфейси. Обект от класа StringBuilder може да съдържа последователност от символи, която е променлива, но не е безопасна за нишки. Това означава, че е много подобен на обект String, но низът може да бъде променен по всяко време. Но класът StringBuilder не осигурява синхронизация и поради това се твърди, че е по-бърз от използването на клас StringBuffer. Класът StringBuilder осигурява методи append () и insert () с точно подобна функционалност, както в класа StringBuffer.
Каква е разликата между StringBuffer и StringBuilder?
Въпреки че класовете StringBuilder и StringBuffer могат да се използват за променливи последователности от символи в Java, те имат ключова разлика. За разлика от клас StringBuffer, класът StringBuilder не е безопасен за нишки и не осигурява синхронизация. Следователно се препоръчва класът StringBuilder да се използва вместо клас StringBuffer в приложения с една нишка, тъй като се твърди, че класът StringBuilder ще бъде много по-бърз от класа StringBuffer (при нормални обстоятелства).
Препоръчано:
Разлика между ЕМП и потенциална разлика
EMF срещу потенциална разлика (електромоторна сила) се използват за описване на два различни параметъра между две точки. Терминът „потенциална разлика“е ге
Разлика между фазовата разлика и разликата в пътя
Фазова разлика спрямо разликата в пътя Разликата във фазата и разликата в пътя са две много важни концепции в оптиката. Тези явления се наблюдават по проблемите на
Разлика между потенциалната разлика и напрежението
Потенциална разлика спрямо напрежение Потенциалната разлика и напрежението са два термина, използвани в инженерството, за да опишат разлика в потенциала в две точки
Разлика между String StringBuffer и StringBuilder в Java
Ключова разлика - String срещу StringBuffer срещу StringBuilder в Java String, StringBuffer и String Builder са класове в Java. Струната е широко използвана в Ja
Разлика между ключовата разлика между металните и неметалните минерали
Ключова разлика - метални срещу неметални минерали Минералът е естествено срещаща се твърда и неорганична съставка с определена химическа формула и