Back to questions
Middle
86
questionbank
Как сериализовать объект вашего класса, если одно из его полей несериализуемо?
Sobes Copilot
Get answers in real time
Answer from AI
sobes.tech AI
Использовать @Transient аннотацию (если поле не нужно сохранять) или предоставить пользовательскую логику сериализации/десериализации с помощью @JsonAdapter, writeReplace/readResolve или кастомного TypeAdapter (например, в Gson).
Пример с @Transient в Kotlin (для Serializable):
import java.io.Serializable
data class User(
val id: Int,
@Transient val nonSerializableField: Any // Поле не будет сериализовано
) : Serializable
Пример с @JsonAdapter в Gson:
import com.google.gson.annotations.JsonAdapter;
class MyClass {
int id;
@JsonAdapter(NonSerializableFieldAdapter.class)
NonSerializableField nonSerializableField; // Поле будет сериализовано с помощью адаптера
}