Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Java Programming >> Content
    Inkompatible typer med Cast Method of Class i Java
    Klassene er typer data . Kaster brukes til å identifisere gjenstander hentet for matriser , lister og samlinger. Kaster kan også konvertere data fra en type til en annen. Klasse støpte unntak eller ClassCastException feil er generert av Java Virtual Machine (JVM ) når du forsøker å konvertere inkompatible datatyper . Klasser og kaster

    I Java , kaster identifisere hvilken type objekt når det ellers kanskje ikke ville bli gjenkjent. Klasse typer er konvertible til grensesnitt typer hvis klassen bruker grensesnitt . Kaster konvertere et grensesnitt skriver inn i en klasse type. Metoder i java utføre funksjoner eller beregninger. Metoder kan trekke data fra ulike klassetrinn typer. Når Java -metoden forsøker å konvertere data fra en klasse til en annen ved hjelp kaster, er feil kastet .
    Årsaker

    Feil kan oppstå når data konverteringer og beregninger endre data til inkompatible datatyper . Hvis en referanse er støpt til en inkompatibel datatype eller ugyldig datatype er en ClassCastException generert av Java. ClassCastException oppstår også når et objekt referanse er støpt til en underklasse som det ikke er et eksempel. " SCJP Sun Certified Programmer for Java Platform" sier "mye av metodene i Java API Returner objekt typer som trenger å bli kastet til sin aktuelle barnet klassen type. " Endre klassen av data når behandles av metoden kan også føre ClassCastException feil .

    Inkompatible typer

    datoer og heltall er inkompatible datatyper . Tegn og numeriske datatyper er inkompatible. Boolske typer er uforenlig med tall. Kovariant retur typer er ikke kompatible med primitive typer . Strenger og objekt referanser er inkompatible typer. Flyttallsdata kan konverteres til heltall , og verdiene vil bli avkortet som følge av dette. Avkortede verdier kan være inkompatible i senere metode beregninger. Heltall og strenger er inkompatible datatyper .
    Forebygge feil

    Sørg for at variabler manipulert av den samme metoden har samme datatype . Kastet klassen inn et mål type med en større rekkevidde enn kilden for å forhindre avkutting . ClassCastException feil kan unngås ved å bruke ekte - falske sjekker. Legg til " hvis " uttalelser for å verifisere om datatyper er kompatible for å hindre ClassCastException feil og unntak håndtering instruksjoner om hva du skal gjøre hvis en datatype er uforenlig . Bruk avvikshåndtering logikken i metoden for klassen kastet unntak for å hindre feilmeldinger. Instanceof uttalelser hindre feil casting. Ifølge " SCJP Sun Certified Programmer for Java Platform ", " bruke instanceof operatør for å unngå classcast - unntak når du er usikker på de faktiske data type en referanse som trenger casting " " datastrukturer : abstraksjon og design Bruk Java" . " fordelen av generiske legemidler ( array- lister ) er at kompilatoren kan sikre at alle operasjoner som involverer gjenstander refereres av en generisk ArrayList er ' safe' og vil ikke føre til unntak under kjøring. "

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan få kolonnenavn i en database tabell i Java 
    ·Hvordan gjøre boolske Sammenligninger i Java 
    ·Hvordan lage en Typing Program 
    ·Hvordan bruke SQL Med Java 
    ·Slik konverterer Enum til String i Java 
    ·Hvordan bruke Animerte Sprites i Eclipse 
    ·Hvordan Sammenlign String Metoder Bruke Lengde og Chara…
    ·Slik konverterer Java String til en InputSource 
    ·Hvordan øke tekstfeltet Størrelse i en Java- applet 
    ·Hvordan øke hastigheten på en applet 
      Anbefalte artikler
    ·Slik søker du etter en fil i VB 
    ·Hvordan endre en MySQL Privilege Tabell 
    ·Hvordan sette en anførselstegn i en tekstlinje i Visua…
    ·Hvordan sette bind variabler på Oracle SQL 
    ·Slik Send en Int via et nettverk i Java 
    ·Slik starter en ny linje i Java bruker notisblokken 
    ·Hvordan bruke VBA til å hente Microsoft Windows Bruker…
    ·Hvordan bruke OpenGL for C Språk 
    ·Hvordan bruke VBA i Access Query Design Vis 
    ·Hva er Python 2.5 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/