String.subSequence()
heeft de volgende Javadoc:
Retourneert een nieuwe tekenreeks die een subsequentie hiervan is
volgorde.een aanroeping van deze methode van het formulier
str.subSequence(begin, end)
gedraagt zich op precies dezelfde manier als de aanroep
str.substring(begin, end)
Deze methode wordt gedefinieerd, zodat de snaarklasse de
ChargeSment Interface.
Kan iemand uitleggen?
1, Autoriteit 100%
Gebruik str.subSequence(begin, end)
Retourneert een Chariquate die een alleen-lezen vorm is van de tekenreeks weergegeven als een reeks tekens.
Bijvoorbeeld:
String string = "Hello";
CharSequence subSequence = string.subSequence(0, 5);
Het is alleen gelezen in de zin dat u de chars
niet kunt wijzigen in de CharSequence
zonder een nieuw exemplaar van een CharSequence
.
Als u str.subSequence(begin, end)
moet gebruiken, kunt u het resultaat uitzetten naar een String
:
String string = "Hello";
String subSequence = (String) string.subSequence(0, 5);
en gebruik de normale String
operators zoals subSequence += " World";
2, Autoriteit 188%
subsequence
Volgvolgorde is een veralgemening van subtekenreeks, achtervoegsel en voorvoegsel. Het vinden van de langste tekenreeks die een deelreeks is van twee of meer tekenreeksen staat bekend als het langste veelvoorkomende deelreeksprobleem.
Voorbeeld: de tekenreeks “anna” is een subreeks van de tekenreeks “banaan”:
banana
|| ||
an na
Subtekenreeks
Een subtekenreeks van een tekenreeks is een voorvoegsel van een achtervoegsel van de tekenreeks, en equivalent een achtervoegsel van een voorvoegsel. Als de ene tekenreeks een subtekenreeks is van een andere, is het ook een deelreeks, wat een meer algemeen concept is.
Voorbeeld: de string “ana” is een substring (en subreeks) van banaan op twee verschillende offsets:
banana
|||||
ana||
|||
ana
Lees hiermeer.
Maar wat Java betreft, is er geen verschil in het gebruik ervan, zoals duidelijk wordt vermeld in de javadoc. Zoals daar ook wordt vermeld, is de methode subSequence
alleen geïmplementeerd in de klasse String
om deze in overeenstemming te houden met de CharSequence
-interface.
En de naam van deze methode is inderdaad gewoon een verkeerde benaming.
Antwoord 3, autoriteit 98%
Om dit te begrijpen, moet u eerst weten wat het verschil is tussen substringen subreeks
subtekenreeksis een doorlopenddeel of subdeel van een tekenreeks
terwijl
volgordeis het deel van een tekenreeks of reeks, die al dan niet doorlopend kan zijn, maar de volgordevan de elementen blijft behouden
Laten we bijvoorbeeld zeggen dat we de volgende strings hebben:
str_a="hello there"
str_b="hello"
str_c="ello th"
str_d="hllo"
str_e="ho hre"
str_f="there hello"
str_b
is een substring van str_a
, str_c
is ook een substring van str_a
maar str_d
is geen substring van str_a
aangezien deze substring niet continuis.
Nu zijn alle substrings subreeksen terwijl de volgorde wordt gehandhaafd.
str_d
is een subreeks van str_a
, str_e
is ook een subreeks van str_a
echter str_f
is geen subreeks van str_a
omdat in dit geval de volgordeniet wordt gehandhaafd.
Voor java is er geen passende verduidelijking over deze methoden in javadoc.
Antwoord 4, autoriteit 50%
In eenvoudige bewoordingen:
Subtekenreeks: Een subtekenreeks is een aaneengesloten reeks tekens binnen een tekenreeks, waarbij andere van belang zijn.
Substring
string
ring
Subreeksen: van een tekenreeks, elk van de tekens, maar in volgorde.
Substring
u s i
s b t i n g
r g
Antwoord 5, autoriteit 8%
Substrings zijn opeenvolgende subreeksen.
Voor reeks abc hebben we bijvoorbeeld
substrings: a, ab, abc, b, bc, c, and the empty substring;
subsequences: a, b, ab, c, ac, bc, abc, and the empty subsequence.
Wanneer de letters worden herhaald, zullen sommige substrings en sub-dequeces er hetzelfde uitzien.
6, Autoriteit 4%
Als u naar de reeksbron kijkt, ziet u dat de substring daadwerkelijk roept. Het enige dat het anders doet dan substring is het de tekenreeks werpt naar een aankondiging.
7
eigenlijk is het gewoon wat wordt geretourneerd. Één een string en de andere A-aanwijzering (die je als een tekenreeks kunt casten).
U zou de subsequentie gebruiken wanneer u een alvaringsysteem van het chariabiliteit nodig heeft.