Java中如何实现类似C++的struct、Dephi的Type Record等结构体方法?

本文探讨了Java中如何实现类似C++ struct或Delphi record的功能,由于Java自身不支持struct,作者建议使用类来代替。通过创建类对象数组,可以达到类似操作结构体的效果。在Java中,类的使用可以实现结构体的功能,同时指出在处理大量复杂结构时,这种方式可能变得繁琐。
摘要由CSDN通过智能技术生成

众所周知C,C++中的struct结构体很好用,特别是在结构化数据封装网络传输、跨进程通信、数据交互上非常方便,Delphi中也有这个实现方法,叫record或者packet record,type record;

Delphi中的结构体定义及使用如下:

//定义结构体
type
  PMsg = ^TMsg;
  TMsg = record
      FontName      :string[20];
      FontColor     :Integer;
      FontSize      :Integer;
      FontStyle     :string[4];
      Content       :array[0..4096] of Char;   //不能超过UDP包长
  end;

//初始化(实例化)
procedure TForm1.btnSendClick(Sender: TObject);
var
  Smsg:TMsg;  //发送消息结构
begin
//....
Smsg.FontName:='宋体'
Smsg.XXX:=xxx;
....;
//取值则是:
XXX:=Smsg.FontName;
.....;
end;



//接收到的数据流直接可以传递给TMsg结构体,然后可以直接获取成员值
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
  Rmsg:TMsg;  //接收消息结构
  OldCount:integer;
begin
  AData.ReadBuffer(Rmsg,AData.Size);
  //RichEdit1.SelStart:=MaxInt;
  //RichEdit1.Para
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值