? Når du begynner Java utvikling , vil det uunngåelig være ganger når du støter på feil du ikke umiddelbart forstår. Den " Array Dimension mangler" feilen oppstår i tilfeller hvor en rekke ikke blir instansiert riktig . Feilen er lett å fikse , så det trenger ikke holde dine utviklingsarbeid tilbake for lang. Instantiation er prosessen med å lage et objekt i Java. Forstå årsaken til dimensjon feilen er et viktig steg i å forstå hvordan du bruker matriser og andre objekter i Java vellykket . Array Object
Arrays i Java er objekter . Dette betyr at når programmet oppretter en matrise , fordeler Java Virtual Machine (JVM ) en del av minnet for det. For denne prosessen skal fungere , må du angi informasjon om størrelsen på array når programmet skaper det . Array dimensjoner bestemme sin størrelse. I en standard endimensjonal matrise, eksisterer det en enkelt tabell dimensjon , representerer lengden - som også svarer til antall element stillinger i matrisen
Declaration
< p . > Java-programmer kan erklære arrays uten specifyng sine dimensjoner. Følgende syntaks eksempel viser erklære en matrise variabel : en
int [] someNumbers ;
Denne koden ikke skaper faktisk rekken , det bare erklærer variabelen i programmet. Dette gjør at koden senere i flyten av programmet kjøres for å referere til array, inkludert det punktet der koden skaper og instantiates tabellen.
Oppretting
< p > For å instantiate en rekke objekt i Java , bruker kode den "nye " søkeord , som er den vanlige måten å lage objekt tilfeller. Følgende eksempelkode demonstrerer feil metode for å opprette forekomster en matrise , som kan føre til at " Array Dimension mangler" : en
int [ ] someNumbers = new int [ ];
Når du oppretter en ny rekke objekt , må du angi lengden på tabellen, som i følgende korrigert syntaks : en
int [ ] someNumbers = new int [ 20 ];
tallet inkluderte angir lengden på rekken , og gir Java med informasjonen den trenger på å bruke matrisen objektet .
Elements
forekomster en matrise og gjøre det samme for array elementer er forskjellige aktiviteter . Når en matrise er instansiert , kan Java-kode tilordne elementer til spesifiserte stillinger innen det. For eksempel oppretter den følgende koden en matrise, så instantiates et element innen den : en
Object [ ] someObjects = new Object [ 10 ];
someObject [ 0 ] = new Object ();
p Det er mulig å opprette og instantiate array elementer i en eneste linje med kode som i følgende eksempel : en
String [ ] someWords = { "bord" , " stol ", " hylle" };
Dimensjoner
Java kan bruke arrays med mer enn én dimensjon . For eksempel oppretter den følgende koden en todimensjonal matrise:
int [ ] [ ] lotsOfNumbers = new int [ 10 ] [ 20 ];
Når Java-programmer lage matriser med mer enn én dimensjon , de bare i utgangspunktet må spesifisere første dimensjonen å unngå " Array Dimension mangler" : en
int [] [ ] lotsOfNumbers = new int [ 10 ] [ ] ;
Dette fungerer fordi multidimensjonale matriser blir implementert som en serie av atskilte matriser . Hvis en programmerer ikke vet hva lengden på første rekke dimensjonen kommer til å bli når du oppretter array, kan hun gjøre best å velge en annen samling klasse.