JavaRush /Java блогу /Random-KY /Java тилинде toString() ыкмасын жокко чыгаруу үчүн 10 кең...
Ku6ep
Деңгээл

Java тилинде toString() ыкмасын жокко чыгаруу үчүн 10 кеңеш (1-бөлүк)

Группада жарыяланган
Javaдагы toString() ыкмасын жокко чыгаруу үчүн 10 кеңеш - ToStringBuilder Netbeans Eclipse Java тorндеги toString() ыкмасын жокко чыгаруу үчүн 10 кеңеш (1-бөлүк) - 1

Java toString ыкмасы

toStringObjectJava методу адам окуй турган формада an object ( ) жөнүндө так жана жетиштүү маалымат берүү үчүн колдонулат . Туура ыкманы жокко чыгаруу баалуу жана маанилүү маалыматты берүү менен Java программасын жазууга жана мүчүлүштүктөрдү оңдоогоtoString жардам берет . Ал класста аныкталгандыктан жана анын демейки ишке ашырылышы көп маалымат бербегендиктен, бул ыкманы тукум класста жокко чыгаруу дайыма эң жакшы практика болуп саналат. Чындыгында, эгер сиз маанилүү же жалпы классты түзүп жатсаңыз , же , ар дайым барабарларды жокко чыгарыңыз , hashCode , compareTo жана Java'дагы методдор. Демейки боюнча ишке ашыруу формасында жыйынтык чыгарат , мисалы, биздин мисал үчүн класс ыкмасы test.Country@18e2b22 басып чыгарат, мында 18e2b22 - он алтылык сандагы an objectтин хэш codeу, эгер сиз hashCode ыкмасын чакырсаңыз, ал 260943370 кайтарып берет, бул 18e2b22 ондук эквиваленти. Бул маалымат көйгөйдү издөөдө өзгөчө пайдалуу эмес. Келгиле, реалдуу турмуштук мисалды карап көрөлү, анда тармак туташууңузда көйгөйдү табышыңыз керек болгон учурда, эгер сиз тутумуңуз кайсы хост менен портко туташууга аракет кылып жатканын билгиңиз келсе жана демейки маалыматты басып чыгарса , ал чыныгы көйгөйдү элестетүү мүмкүн эмес, бирок жокко чыгарылган ишке ашыруу менен алар хост аты жана порт номери сыяктуу пайдалуу маалыматты бере алышат. Бул Java окуу куралында биз code мисалдары менен ыкманы жокко чыгаруу боюнча кээ бир кеңештерди беребиз .toString()java.lang.ObjectOrderTradeEmployeetoStringtoStringpackage.class@hashCodetoString()toString()CountrySocketServerSockettoStringtoStringtoString

Java'да toString ыкмасын кантип жокко чыгарса болот:

Чийки маанинин ордуна форматталган датаны (б.а. күн/ай/жыл) басып чыгарыңыз. Бул Java ыкмасын жокко чыгарууда абдан пайдалуу ишарат toString. Кадимки toString()класс java.util.Dateформатталган датаны чыгарbyte жана дайыма эле керек боло бербеген көптөгөн деталдарды камтыйт. Эгер сиз жарым-жартылай DateFormat колдонуп жатсаңыз , б.а. Колдонмоңузда gg-MM-yy, анда сиз демейки форматтын ордуна бул форматты көргүңүз келет. IDE адатта форматталган чыгарууну жаратпайт Dateжана бул сиз өзүңүз жасашыңыз керек болгон нерсе, бирок бул татыктуу. Java'да форматтоо боюнча чоо-жайын билүү үчүн Java'да ddMMyy форматында датаны кантип басып чыгаруу керек дегенди окуңуз Date. Бул үчүн SimpleDataFormat классын же Joda Date убакыт китепканасын да колдоно аласыз .

toString форматын documentтештирүү

Эгерде сиздин ыкмаңыз toString()талаа=маани катары берorштерди чыгарбаса, анда чыгуу форматын documentтештирүү жакшы идея toString, айрыкча Кызматкер же Студент сыяктуу маанилүү an objectтер үчүн. Мисалы, toString()класстык метод Работник(Employee)" John-101-Sales-9846387321 " басып чыгарса, анда форматты "аты-идентификатору-бөлүм-байланыш" катары көрсөтүү жакшы практика болмок, бирок ошол эле учурда кардар алууга уруксат бербейт. ыкмадан маалымат алуу үчүн toString(), сиз ар дайым маалыматтарды алуу үчүн тиешелүү ыкмаларды беришиңиз керек, мисалы , getName(), getId()ж getContact(). toString()маалымат.

toString() чыгарууну түзүү үчүн StringBuilderди колдонуңуз

toString()Эгер сиз Java'да метод үчүн code жазып жатсаңыз , анда жеке атрибуттарды кошуу үчүн StringBuilder колдонуңуз. Эгер сиз Eclipse , Netbeans же IntelliJ сыяктуу IDE колдонуп жатсаңыз , анда түзүү үчүн + операторунун ордуна StringBuilderжана ыкмасын колдонуңуз . Демейки боюнча, Eclipse жана Netbeans экөө тең бириктирүү оператору менен түзүшөт. append()toStringtoString

@Override annotationсын колдонуу

Java'да методду жокко чыгаруу @Overrideтилдеги эң мыкты тажрыйбалардын бири. equals()Бирок бул ишарат жана ыкмаларын жокко чыгарууда болгондой маанилүү эмес compareTo(), анткени жокко чыгаруунун ордуна ашыкча жүктөө эсептөө кыйыныраак болгон тымызын каталарды жаратышы мүмкүн. Кандай болбосун, annotationны колдонуу жакшы @Overrride.

Массив an objectин басып чыгаруунун ордуна массивдин мазмунун басып чыгаруу

Массив Java тorндеги an object, бирок ал методду жокко чыгарbyte toStringжана массивди басып чыгарганда демейки чыгаруу форматы анча пайдалуу эмес, анткени массивдин мазмунун көргүбүз келет. Айтмакчы, бул сырсөз сыяктуу купуя маалыматтарды сактоо үчүн Char[] массивинин Stringге артыкчылыктуу экендигинин дагы бир себеби. Массивдин мазмунун басып чыгаруу кардарларыңызга жардам береби же жокпу, карап чыгууга убакыт бөлүңүз, эгер мааниси болсо, an objectтин ордуна массивдин мазмунун басып чыгарыңыз. Өндүрүштүк себептерден улам, башка an objectтерди сактоо үчүн анын ордуна Collectionушундай ArrayListже HashSet колдонуу артык .Array

Бонус кеңештери

toStringJava'да ыкмаларды жокко чыгаруу боюнча дагы бир нече бонустук кеңештер .
  1. toStringУзундугуна жараша бир нече сапта же бир сапта басып чыгарыңыз .

  2. Ар кандай түшүнбөстүктөрдү болтурбоо үчүн toString, өкүлчүлүккө толук квалификациялуу класс аттарын кошуңуз .package.class

  3. Сиз нөл маанилерди өткөрүп жиберсеңиз же аларды көрсөтө аласыз, бирок аларды көрсөткөнүңүз жакшы. Кээде алар пайдалуу, анткени алар nullкандайдыр бир окуя учурунда кайсы талаа бар экенин көрсөтөт, мисалы NullPointerException .

  4. Ачкыч-маани форматын колдонуңуз, мисалы member.name=member.value, көпчүлүк IDE муну колдойт.

  5. Эгер алар мурастоочу класска керектүү маалыматты бериши керек деп ойлосоңуз, мурасталган мүчөлөрдү кошуңуз.

  6. Кээде an object көптөгөн кошумча жана талап кылынган параметрлерди камтыйт, биз Builder үлгүсүндөгү мисалда көрсөткөндөй , бардык талааларды басып чыгаруу дээрлик мүмкүн болбогондо, бул учурда биз талап кылынган талааларды гана басып чыгара алабыз, айрыкча бизде кошумчалары бар.

Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION