Når en matrise virkelig er kopiert til en annen, hvis lengden på den nye matrisen er kortere enn lengden på den originale matrisen, er den nye matrisen en kopi, men avkortet i den kopierte lengden. Hvis den nye matrisen er lengre, er de ekstra elementene mot enden fylt med standardverdiene for datatypen. For at en matrise skal kopieres til en annen, må begge matriser være av samme type eller kompatible typer.
Java har en metode for å kopiere en matrise til en annen. Denne metoden er CopyOf () -metoden, og den er overbelastet for de forskjellige datatypene. Det er en statisk metode i matriseklassen. "Statisk" betyr at en matrise ikke trenger å bli instantiert for at metoden skal brukes. Den bruker klassenavnet, Array, med den første 'A' i store bokstaver. Metoden returnerer den kopierte matrisen. Denne artikkelen forklarer de forskjellige overbelastede formene for CopyOf () -metoden. Det inkluderer hvordan du kopierer referansetyper. Hvordan du kopierer en matriseområde er ikke utelatt.
Kopiere en rekke boolske verdier
Syntaksen er:
statisk boolsk [] copyof (boolean [] original, int newlength)Original er navnet på den originale matrisen. Newlength er lengden på den nye eller kopierte matrisen. Hvis den er kortere, er kopien avkortet på Newlength. Hvis det er lengre, er falskt polstret som verdier til den nye matrisen for å ha den nye lengden. Følgende program illustrerer dette:
Importer Java.util.Matriser;Utgangen er:
sant santFor den første utgangslinjen er det avkortning. For den andre utgangslinjen er begge matriser de samme. Den nye matrisen er lengre enn den originale matrisen for den tredje utgangslinjen.
Lengden på den nye arrayen bestemmes av NewLength -parameteren til CopyOf () -metoden syntaks.
Kopiere en rekke byteverdier
Syntaksen er:
statisk byte [] copyof (byte [] original, int newlength)Original er navnet på den originale matrisen. Newlength er lengden på den nye eller kopierte matrisen. Hvis den er kortere, er kopien avkortet på Newlength. Hvis det er lengre, er 0 polstret som verdier til den nye matrisen, for å ha den nye lengden. Følgende Main () -metodekode illustrerer dette:
statisk byte [] copyof (byte [] original, int newlength)Utgangen er:
1 2 3Lengden på den nye arrayen bestemmes av NewLength -parameteren til CopyOf () -metoden syntaks.
Kopiere en rekke røyeverdier
Syntaksen er:
statisk char [] copyof (char [] original, int newlength)Original er navnet på den originale matrisen. Newlength er lengden på den nye eller kopierte matrisen. Hvis den er kortere, er kopien avkortet på Newlength. Hvis det er lengre, "er polstret som verdier til den nye matrisen, for å ha den nye lengden. Kodeeksempel:
public static void main (String [] args)Utgangen er:
A B CLengden på den nye arrayen bestemmes av NewLength -parameteren til CopyOf () -metoden syntaks.
Kopiere en rekke doble verdier
Syntaksen er:
statisk dobbel [] copyof (dobbel [] original, int newlength)Original er navnet på den originale matrisen. Newlength er lengden på den nye eller kopierte matrisen. Hvis den er kortere, er kopien avkortet på Newlength. Hvis det er lengre, 0.0 er polstret som verdier til den nye matrisen, for å ha den nye lengden. Kodeeksempel:
public static void main (String [] args)Utgangen er:
1.5 2.5 3.5Lengden på den nye arrayen bestemmes av NewLength -parameteren til CopyOf () -metoden syntaks.
Kopiere en rekke flyteverdier
Syntaksen er:
statisk float [] copyof (float [] original, int newlength)Original er navnet på den originale matrisen. Newlength er lengden på den nye eller kopierte matrisen. Hvis den er kortere, er kopien avkortet på Newlength. Hvis det er lengre, 0.0 er polstret som verdier til den nye matrisen, for å ha den nye lengden. Kodeeksempel:
public static void main (String [] args)Utgangen er:
1.5 2.5 3.5Lengden på den nye arrayen bestemmes av NewLength -parameteren til CopyOf () -metoden syntaks.
Kopiere en rekke int -verdier
Syntaksen er:
statisk int [] copyof (int [] original, int newlength)Original er navnet på den originale matrisen. Newlength er lengden på den nye eller kopierte matrisen. Hvis den er kortere, er kopien avkortet på Newlength. Hvis det er lengre, er 0 polstret som verdier til den nye matrisen, for å ha den nye lengden. Kodeeksempel:
public static void main (String [] args)Utgangen er:
1 2 3Lengden på den nye arrayen bestemmes av NewLength -parameteren til CopyOf () -metoden syntaks.
Kopiere en rekke lange verdier
Syntaksen er:
statisk lang [] copyof (lang [] original, int newlength)Original er navnet på den originale matrisen. Newlength er lengden på den nye eller kopierte matrisen. Hvis den er kortere, er kopien avkortet på Newlength. Hvis det er lengre, er 0 polstret som verdier til den nye matrisen, for å ha den nye lengden. Kodeeksempel:
public static void main (String [] args)Utgangen er:
1 2 3Lengden på den nye arrayen bestemmes av NewLength -parameteren til CopyOf () -metoden syntaks.
Kopiere en rekke korte verdier
Syntaksen er:
statisk kort [] copyof (kort [] original, int newlength)Original er navnet på den originale matrisen. Newlength er lengden på den nye eller kopierte matrisen. Hvis den er kortere, er kopien avkortet på Newlength. Hvis det er lengre, er 0 polstret som verdier til den nye matrisen, for å ha den nye lengden. Kodeeksempel:
public static void main (String [] args)Utgangen er:
1 2 3Kopiere en rekke referansedatatyper
Et godt eksempel på referansedatatypen er strengobjektet, instantiert fra strengklassen. Dens CopyOf () syntaks er den samme som syntaksene ovenfor. Følgende kode illustrerer dette:
Importer Java.util.Matriser;Utgangen er:
en to treStandardverdien for referansedatatypen er null.
Kopiere et område
Utvalget av en matrise kan kopieres. Syntaksen for å kopiere rekkevidden til en rekke chars er:
statisk char [] copyOfRange (char [] original, int fra, int til)“Fra” er den første indeksen, og “til” er den siste indeksen, hvis verdi av området, bare ikke er inkludert, i kopien. Eksempelkode:
public static void main (String [] args)Utgangen er:
B cKopiering av rekkevidden av primitive og referansedatatyper ligner på denne koden.
Konklusjon
Array -klassen har den statiske overbelastede metoden for å kopiere matriser. Det brukes til å kopiere hele matrisen. Hvis den kopierte matrisen er kort, vil kopiering bli gjort til den avkortede lengden som er angitt. Hvis den kopierte matrisen er lengre enn den opprinnelige matrisen, vil standardverdien bli polstret for de ekstra tilsatte elementene. Static CopyOfRange () -metoden kan brukes til å kopiere et område. Det neste leseren skal studere er hvordan du kopierer en rekke generiske typer, .