Traduzindo para Java a partir de C++

Usando a linguagem de programação C++, os desenvolvedores podem acessar diretamente a memória que armazena uma determinada variável. Os ponteiros de memória fornecem esse acesso direto. Em Java, os ponteiros são manipulados para você.

Em Java, os tipos de dados compostos struct, union e typedef são manipulados exclusivamente por meio do uso de classes. Por exemplo, o tipo de dados C++ VARIANT mapeia para com.ms.com.Variant em Java.

Em C++, cadeias de caracteres são uma matriz de caracteres. Em Java, strings são objetos. Os métodos que atuam em cadeias de caracteres tratam a cadeia de caracteres como um objeto completo.

Os métodos COM retornam um valor conhecido como HRESULT, que é um código de erro de 32 bits. O suporte Java para o Microsoft Internet Explorer define uma classe, com.ms.com.ComException, que encapsula o código de erro HRESULT.

Java não suporta tipos de dados não assinados, exceto char, que é um inteiro não assinado de 16 bits. Métodos que aceitam ou retornam outros tipos de dados não assinados não podem ser usados a partir do Java.

Java não suporta matrizes multidimensionais. Métodos que aceitam ou retornam matrizes multidimensionais não estão disponíveis no Java.

Os valores booleanos em Java não podem ser convertidos em 0 e 1.

Traduzindo para Java