Articles of fundição em

exemplo de conversão de tipo explícito em java

Eu me deparei com este exemplo em http://www.javabeginner.com/learn-java/java-object-typecasting e na parte em que fala sobre a conversão explícita de tipos, há um exemplo que me confunde. O exemplo: class Vehicle { String name; Vehicle() { name = “Vehicle”; } } class HeavyVehicle extends Vehicle { HeavyVehicle() { name = “HeavyVehicle”; } } class Truck extends […]

Elenco Duplo para Inteiro em Java

Qualquer maneira de converter java.lang.Double para java.lang.Integer ? Ele lança uma exceção “java.lang.ClassCastException: java.lang.Double incompatível com java.lang.Integer”

Por que Java implicitamente (sem conversão) converte um `long` em um` float`?

Toda vez que acho que entendo sobre casting e conversões, encontro outro comportamento estranho. long l = 123456789L; float f = l; System.out.println(f); // outputs 1.23456792E8 Dado que um long tem maior profundidade de bits do que um float , eu esperaria que um casting explícito seria necessário para que isso compile. E não surpreendentemente, […]

Como converter um double para um int em Java, arredondando-o para baixo?

Eu preciso lançar um duplo para um int em Java, mas o valor numérico deve sempre arredondar para baixo. ou seja, 99,999999999 -> 99

Estilos de syntax de conversão de C ++

Uma pergunta relacionada ao lance regular vs. static_cast vs. dynamic_cast : Qual estilo de syntax de conversão você prefere em C ++? Sintaxe de conversão de estilo C: (int)foo Sintaxe de static_cast(foo) estilo C ++: static_cast(foo) syntax de construtor: int(foo) Eles podem não traduzir exatamente as mesmas instruções (não são?), Mas o efeito deles deve […]

Casting com segurança para int em Java

Qual é a maneira mais idiomática em Java para verificar se um casting de long para int não perde nenhuma informação? Esta é minha implementação atual: public static int safeLongToInt(long l) { int i = (int)l; if ((long)i != l) { throw new IllegalArgumentException(l + ” cannot be cast to int without changing its value.”); […]

Cast de matriz de objects para erro de matriz inteira

O que há de errado com o código a seguir? Object[] a = new Object[1]; Integer b=1; a[0]=b; Integer[] c = (Integer[]) a; O código tem o seguinte erro na última linha: Exceção no segmento “main” java.lang.ClassCastException: [Ljava.lang.Object; não pode ser convertido em [Ljava.lang.Integer;

Quando usar reinterpret_cast?

Estou pouco confuso com a aplicabilidade do reinterpret_cast vs static_cast . Pelo que li, as regras gerais são usar o casting estático quando os tipos podem ser interpretados em tempo de compilation, portanto, a palavra static . Este é o casting que o compilador C ++ usa internamente para conversões implícitas também. reinterpret_cast s são […]

Downcasting em Java

O upcasting é permitido em Java, no entanto, o downcasting gera um erro de compilation. O erro de compilation pode ser removido adicionando-se um casting mas, de qualquer forma, seria interrompido no tempo de execução. Nesse caso, por que o Java permite downcasting se não puder ser executado no tempo de execução? Existe algum uso […]

Por que usar static_cast (x) em vez de (int) x?

Ouvi dizer que a function static_cast deve ser preferida ao estilo C ou à conversão de estilo de function simples. Isso é verdade? Por quê?