A “struct” do C# não existe no Java, embora tenha sido proposta. Em vez disso, defina uma classe que, no seu caso, deve implementar Cloneable.
public class ENV_INFO implements Cloneable {
public String szText;
public String szType;
public String szVersion;
protected Object clone() {
ENV_INFO obj = new ENV_INFO();
obj.szText = szText;
obj.szType = szType;
obj.szVersion = szVersion;
}
}
Se for passar um objeto dessa classe por referência (exemplo: void blablabla (ref ENV_INFO info) no C#), traduza por: void blablabla (ENV_INFO info). Se for passar por valor, passe um clone do objeto desejado. Exemplo: blablabla (env_info.clone());
Thiagosc, desculpe, mas a struct do c# não é a mesma coisa que uma class com campos publicos.
As structs tem outras propriedades, dentre elas, a que uma struct não é passada ao um método como referencia, e sim por tipo valor.
A struct do C# está dentro de uma classe.
Como terei que criar uma classe em java para substituir essa struct, terei que criar outro arquivo “.java” para conter essa classe? Não posso criar essa classe dentro da classe que estou trabalhando?
Uma classe no java tambem pode ser alocada na stack se o JIT for esperto o suficiente para detectar que o objeto só tem vida util naquele escopo… Esse é um dos motivos pelos quais o ajva nao tem struct, alem de evitar ter 10 maneiras de fazer a mesma coisa…
A struct do C# está dentro de uma classe.
Como terei que criar uma classe em java para substituir essa struct, terei que criar outro arquivo “.java” para conter essa classe? Não posso criar essa classe dentro da classe que estou trabalhando?[/quote]