Waarom is het samenvoegen van tekenreeksen slecht?

Inhoudsopgave:

Waarom is het samenvoegen van tekenreeksen slecht?
Waarom is het samenvoegen van tekenreeksen slecht?

Video: Waarom is het samenvoegen van tekenreeksen slecht?

Video: Waarom is het samenvoegen van tekenreeksen slecht?
Video: DO NOT Concatenate Strings Like This In Python, There's A Better Way. 2024, December
Anonim

Dit is "string concatenatie", en het is een slechte gewoonte: … Sommigen zullen zeggen dat het traag is, meestal omdat delen van de resulterende string meerdere keren gekopieerd worden Inderdaad, op elke +-operator wijst String-klasse een nieuw blok in het geheugen toe en kopieert alles erin; plus een achtervoegsel dat wordt aaneengeschakeld.

Is tekenreeksaaneenschakeling inefficiënt?

De concatenatie is niet zo inefficiënt, omdat moderne compilers het vervangen door een efficiënte implementatie op basis van StringBuilder (je zult het zien als je naar de bytecode van het classfile kijkt).

Waarom is het samenvoegen van strings duur?

Het is duur geweest. Laten we eerst ingaan op de vraag waarom het duur is. In Java zijn string-objecten onveranderlijk, wat betekent dat als het eenmaal is gemaakt, je het niet kunt wijzigen. Dus als we de ene string met de andere samenvoegen, wordt er een nieuwe string gemaakt, en de oudere wordt gemarkeerd voor de vuilnisophaler.

Wat zijn de gevaren van het gebruik van stringconcatenatie in een SQL-query?

1 antwoord

  1. Prestaties: Bij gebruik van een voorbereide instructie hoeft de query-syntaxis slechts één keer te worden geparseerd en hoeft het toegangspad slechts één keer te worden berekend voor elk afzonderlijk query-type. …
  2. Beveiliging: het gebruik van string-concatenatie met gegevens die door de gebruiker zijn verstrekt, is altijd vatbaar voor SQL-injection-attacks.

Is het samenvoegen van strings traag in Python?

Dit gedrag zou je niet moeten verbazen: de stringobjecten van Python zijn onveranderlijk, dus elke aaneenschakeling genereert een nieuwe string in plaats van de bestaande te wijzigen. Het is ook geen verrassing dat aaneenschakeling van meerdere tekenreeksen als traag wordt beschouwd.

Aanbevolen: