Java casting resulting in run-time error instead of compilation error

'Type Casting Compile and Runtime Error' tutorial was cited in a pretagteam.com post in 2021.

The Type Casting Compile and Runtime Error tutorial was cited in a pretagteam.com post in 2021.

Subject: Java casting resulting in run-time error instead of compilation error
Date: 2021-10-27
Author: Pretag
Source: https://pretagteam.com/question
  /java-casting-resulting-in-runtime-error-instead-of-compilation-error

In general, that's what a cast means: it tells the compiler that even though
this assignment might fail, you're pretty certain that it won't. In exchange for
allowing the code to compile, you assume the risk of a run-time exception.,The
semantics of Java say that this must result in a run-time error. In this case
it's possible to look at the code and see that it will definitely throw an error
at runtime, but how does the compiler know that a ClassCastException isn't what
you wanted?,However, I know of no Java compiler that will do that analysis for
you. It's really only worthwhile in the simplest of cases. Instead, the behavior
is that the compiler sees the cast, and reasons that it is possible to cast a
Vehicle to a Bike, and so it allows it.,No. v is a Vehicle and it might be
possible to cast it to Bike. It's not the compiler's job to figure out the
actual runtime types of every object (especially because sometimes that's
impossible).

...

If you are trying to convert reference type to another type that is not
compatible, you will get a compiler error. Here is a simple example:

/* TypeCastingCompileError.java
 * Copyright (c) HerongYang.com. All Rights Reserved.
 */
import java.util.*;
class TypeCastingCompileError {
   public static void main(String[] a) {

      // Compiler error: Casting from Integer to Long is not allowed
      Integer myInteger = new Integer(777);
      Long myLong = (Long) myInteger;
   }
}

Table of Contents

 About This Book

 Reference Citations in 2023

 Reference Citations in 2022

Reference Citations in 2021

 Opción JVM -Xss: ¿Qué hace exactamente?

 如何在windows下安装"The Eric Python IDE"

 Button with hexagon shape not recognizing mouse click

 PHP的des加密+ECB方式+PKCS5 补齐

 javax.net.ssl.trustStore Option Behaviour

 JVM Run-Time Data Area

 关于Web服务:如何在Java中将Cookie手动添加到Web服务调用中

 java net Chapter 3 Net Working

 Encryptions in IRIS

 NOTES ON CYBER LAW - Digital Signature and Electronic Signature

 javap -s 查看java方法签名

 Transport level information does not match

 Deep analysis of GC logs - covering CMS, parallel GC, G1, ZGC, openj9

 简体中文Unicode表

 How do I insert a blob in SQL

 Hyperbolische Geometrie und Physik - Der Minkowski-Raum

Java casting resulting in run-time error instead of compilation error

 Kafka Consumer throwing "OutOfMemoryError: Java heap space" Error on SSL

 Character encoding for French Accents

 Bitcoin Core wallet spends BTC 0.07!! USD 4000!! to make two small dust sendings

 PHP on the fly flush xml to zipfile and push download

 java - 访问被拒绝(“java.net.SockerPermission”“irc.esper.net”“解决”)

 Reference Citations in 2020

 Reference Citations in 2019

 Reference Citations in 2018

 Reference Citations in 2017

 Reference Citations in 2016

 Reference Citations in 2015

 Reference Citations in 2014

 Reference Citations in 2013

 Reference Citations in 2012

 Reference Citations in 2011

 Reference Citations in 2010

 Reference Citations in 2009

 Reference Citations in 2008

 Reference Citations in 2007

 Reference Citations in 2006

 Reference Citations in 2005

 Reference Citations in 2004

 Reference Citations in 2003