<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>Udvikleren.dk - Seneste [casting] forum tråde</title>
    <description>De seneste forum tråde i [casting] på Udvikleren.dk</description>
    <link>http://www.udvikleren.dk/</link>
    <pubDate>Wed, 29 Apr 2026 07:47:35 GMT</pubDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Udvikleren.dk RSS Feeder</generator>
    <ttl>60</ttl>
    <item>
      <title>Hvorfor får jeg fejlen: "Unchecked cast from Object to E"?</title>
      <description>Hej allesammen :-)&lt;br /&gt;&lt;br /&gt;Jeg har skrevet følgende metode:&lt;br /&gt;&lt;br /&gt;&lt;div class="codeboxheader" id="code_127878267" onclick="ToggleCodeBox(this.id);"&gt;&lt;img id="code_127878267_arrow" src="/images/icons/codeboxarrow_down.gif" alt="Fold kodeboks ind/ud" title="Fold kodeboks ind/ud" /&gt;Java kode&amp;nbsp;&lt;/div&gt;&lt;pre id="code_127878267code" style="border-top: 0px; display: none;"&gt;&lt;ol&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;boolean&lt;/span&gt;&lt;span style="color: #000000;"&gt; remove(Object e) {&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;    Integer count &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; map.get(e);&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;    map.put((E)e, count&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Men eclipse kommer med følgende besked: "Type safety: Unchecked cast from Object to E" og markerer "(E)e". Hvordan kan det være?</description>
      <link>http://www.udvikleren.dk/forum/39229/hvorfor-faar-jeg-fejlen-unchecked-cast-from-object-to-e/</link>
      <pubDate>Sat, 01 Dec 2012 14:13:48 GMT</pubDate>
    </item>
    <item>
      <title>Type casting - Et problem?</title>
      <description>Hej udviklere.&lt;br /&gt;&lt;br /&gt;Jeg og en makker er i gang med et robotprojekt &lt;a href="http://hilde.fieldrobot.dk" rel="nofollow"&gt;Project Hilde&lt;/a&gt;, hvor vi er stødt på et problem som vi har lidt svært ved at debug'e. &lt;br /&gt;&lt;br /&gt;Robotten er opbygget som en tripod, hvor de to forreste hjul trækker robotten uafhængigt af hinanden. Det tredje hjul (baghjulet) er er fastgjort til en servo. Meningen er så at ved hjælp af vores manuelle kontrol kan styre hastighed ved hjælp af et potentiometer og vha et andet potentiometer kan vi styre forholdet mellem hastigheden på de to trækhjul. Når vi så justerer hastigheds-forholdet mellem trækhjulene er det meningen at baghjulet skal justeres trinløst, men den kode vi har brygget sammen virker ikke helt efter hensigten når den bruges på vores ATmega88 microcontroller.&lt;br /&gt;&lt;br /&gt;Koden nedenunder er de to funktioner vi bruger til at beregne en vinkel (Grader) med 1 grads nøjagtighed.&lt;br /&gt;&lt;br /&gt;Den første funktion tager et argument som er et tal mellem 0 og 110 og returnerer en vinkel i grader. Den beregner principielt omdrejningspunktet og den trekant som dannes af  omdrejningspunktet, baghjulet og punktet i mellem de to forhjul. Herved kan vinklen beregnes for baghjulet.&lt;br /&gt;&lt;br /&gt;Er klar over, at vi faktisk risikerer at dividere med nul, men det er ikke problemet.&lt;br /&gt;&lt;br /&gt;&lt;div class="codeboxheader" id="code_916353316" onclick="ToggleCodeBox(this.id);"&gt;&lt;img id="code_916353316_arrow" src="/images/icons/codeboxarrow_down.gif" alt="Fold kodeboks ind/ud" title="Fold kodeboks ind/ud" /&gt;C kode&amp;nbsp;&lt;/div&gt;&lt;pre id="code_916353316code" style="border-top: 0px; display: none;"&gt;&lt;ol&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #0000FF;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt; calculateAngle (&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt; adc_ratio)&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt; temp &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; adc_ratio &lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;110&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt; r &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt;)(WIDTH &lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt; ((&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; temp) &lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; temp));&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt; angle_rad &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; arcTan((&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt;)HEIGHT &lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt; r);&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; ((&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt;)(angle_rad &lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;57.2958&lt;/span&gt;&lt;span style="color: #000000;"&gt;));&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Funktionen nedenunder er en Lagrange interpolation af ArcTan ved 3 punkter. Den tager et argument som er forholdet mellem de to sidder i en trekant som står vinkelret på hinanden og returnerer en vinkel i radianer.&lt;br /&gt;&lt;br /&gt;&lt;div class="codeboxheader" id="code_1873236691" onclick="ToggleCodeBox(this.id);"&gt;&lt;img id="code_1873236691_arrow" src="/images/icons/codeboxarrow_down.gif" alt="Fold kodeboks ind/ud" title="Fold kodeboks ind/ud" /&gt;C kode&amp;nbsp;&lt;/div&gt;&lt;pre id="code_1873236691code" style="border-top: 0px; display: none;"&gt;&lt;ol&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt; arcTan (&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt; angle_ratio)&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;float&lt;/span&gt;&lt;span style="color: #000000;"&gt;)(angle_ratio &lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #800080;"&gt;1.04415&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #800080;"&gt;0.253662&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt; angle_ratio))); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Radians&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Meningen med koden er at beregne en vinkel i forhold til det forhold der er mellem hastighederne på forhjulene, og når denne justeres skal baghjulet gerne følge med. Der ved ønsker vi altså en trinløs justering. Denne trinløse justering opnår vi dog ikke, men vi kan kun stå i midterstilling og de to yderstillinger.&lt;br /&gt;&lt;br /&gt;Vi har snakket om hvad problemet er og vi er nået frem til vi muligvis mister noget information idet vi kun kan opnå yderstillingerne eller midterstillingen. Det virker som om vi mister alt decimal informationen, altså det tyder på at det er et casting problem, som om at ATmega'en ikke kan håndtere den kode jeg har postet her i tråden.&lt;br /&gt;&lt;br /&gt;Denne konklusion er baseret på, at vi har prøvet at kopiere vores to ovenstående funktioner og bruge dem i et konsol program hvor i sagtens kan beregne individuelle vinkler for et hvert tal fra 0 - 110, men på vores ATmega88 virker det ikke. Vu har sågar tjekket det ved at sende vinkel information til en terminal på computeren og den viser også at microcontrolleren kun kan beregne vinklerne for yderpositionerne og midten.&lt;br /&gt;&lt;br /&gt;Håber der er nogle herinde som har erfaring med microcontroller-programmering og kan hjælpe os.&lt;br /&gt;&lt;br /&gt;På forhånd tak.&lt;br /&gt;&lt;br /&gt;Med Venlig Hilsen&lt;br /&gt;Kent</description>
      <link>http://www.udvikleren.dk/forum/34298/type-casting-et-problem/</link>
      <pubDate>Thu, 05 May 2011 12:59:45 GMT</pubDate>
    </item>
  </channel>
</rss>