Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでGsonを使用して@Sinceアノテーションを使用するにはどうすればよいですか?


@Sinceアノテーション setVersion()で使用できます GsonBuilderのメソッド クラス。このアノテーションは、Javaクラスのフィールドに適用でき、引数としてfloatを受け入れます。この引数は、フィールドがシリアル化されたバージョン番号を表します。同じことが逆シリアル化プロセスにも当てはまります。

構文

@Documented
@Retention(value=RUNTIME)
@Target(value={FIELD,TYPE})
public @interface Since
import com.google.gson.annotations.Since;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class GsonSinceAnnotationTest {
   public static void main(String[] args) {
      Employee emp = new Employee();
      emp.setEmployeeName("Raja Ramesh");
      emp.setEmployeeId(125);
      emp.setEmployeeTechnology("Java");
      emp.setEmploeeAddress("Hyderabad");
      System.out.println("Since version 0.5");
      GsonBuilder gsonBuilder = new GsonBuilder();
      Gson gson = gsonBuilder.setPrettyPrinting().setVersion(0.5).create();
      String jsonString = gson.toJson(emp);
      System.out.println(jsonString);
      System.out.println("Since version 1.0");
      gsonBuilder = new GsonBuilder();
      gson = gsonBuilder.setPrettyPrinting().setVersion(1.0).create();
      jsonString = gson.toJson(emp);
      System.out.println(jsonString);
      System.out.println("Since version 1.1");
      gsonBuilder = new GsonBuilder();
      gson = gsonBuilder.setPrettyPrinting().setVersion(1.1).create();
      jsonString = gson.toJson(emp);
      System.out.println(jsonString);
   }
}
// Employee class
class Employee {
   private String empName;
   private int empId;
   @Since(1.0)
   private String empTech;
   @Since(1.1)
   private String empAddress;
   public String getEmployeeName() {
      return empName;
   }
   public void setEmployeeName(String empName) {
      this.empName = empName;
   }
   public int getEmployeeId() {
      return empId;
   }
   public void setEmployeeId(int empId) {
      this.empId = empId;
   }
   public String getEmployeeTechnology() {
      return empTech;
   }
   public void setEmployeeTechnology(String empTech) {
      this.empTech = empTech;
   }
   public String getEmploeeAddress() {
      return empAddress;
   }
   public void setEmploeeAddress(String empAddress) {
      this.empAddress = empAddress;
   }
}

出力

Since version 0.5
{
   "empName": "Raja Ramesh",
   "empId": 125
}
Since version 1.0
{
   "empName": "Raja Ramesh",
   "empId": 125,
   "empTech": "Java"
}
Since version 1.1
{
   "empName": "Raja Ramesh",
   "empId": 125,
   "empTech": "Java",
   "empAddress": "Hyderabad"
}

  1. Javaを使用してSeleniumWebDriverで認証ポップアップを処理するにはどうすればよいですか?

    Javaを使用してSeleniumWebdriverで認証ポップアップを処理できます。これを行うには、URL内でユーザーの資格情報を渡す必要があります。 URLにユーザー名とパスワードを追加する必要があります。 構文- https://username:password@URL https://admin:admin@the-internet.herokuapp.com/basic_auth Here, the admin is the username and password. URL – www.the-internet.herokuapp.com/basic_auth L

  2. JavaでJWindowを使用してスプラッシュ画面を実装するにはどうすればよいですか?

    JWindow は、ユーザーのデスクトップのどこにでも表示できるコンテナです。 タイトルバーはありません 、ウィンドウ 管理 ボタン、 JFrameのようなものです。 JWindow JRootPaneが含まれています その唯一の子クラスとして。 contentPane JWindowの子の親になることができます 。 JFrameのように 、 JWindow は別のトップレベルのコンテナであり、装飾されていないJFrameとして機能します。 タイトルバー、ウィンドウメニューなどの機能はありません 、など。 JWindow スプラッシュ画面ウィンドウとして使用できます これ