Java record 中最多可以定义多少个属性?
我阅读了规范,https://openjdk.org/jeps/395。没有提到限制。
一些反复试验发现 254 是限制,截至 Java 21。
使用 255 个字段会导致 IntelliJ 2023.2 中出现错误,参数太多。
示例代码:
package work.basil.example.codegen;
public record MaxRec (
String x001 ,
String x002 ,
String x003 ,
String x004 ,
String x005 ,
String x006 ,
String x007 ,
String x008 ,
String x009 ,
String x010 ,
String x011 ,
String x012 ,
String x013 ,
String x014 ,
String x015 ,
String x016 ,
String x017 ,
String x018 ,
String x019 ,
String x020 ,
String x021 ,
String x022 ,
String x023 ,
String x024 ,
String x025 ,
String x026 ,
String x027 ,
String x028 ,
String x029 ,
String x030 ,
String x031 ,
String x032 ,
String x033 ,
String x034 ,
String x035 ,
String x036 ,
String x037 ,
String x038 ,
String x039 ,
String x040 ,
String x041 ,
String x042 ,
String x043 ,
String x044 ,
String x045 ,
String x046 ,
String x047 ,
String x048 ,
String x049 ,
String x050 ,
String x051 ,
String x052 ,
String x053 ,
String x054 ,
String x055 ,
String x056 ,
String x057 ,
String x058 ,
String x059 ,
String x060 ,
String x061 ,
String x062 ,
String x063 ,
String x064 ,
String x065 ,
String x066 ,
String x067 ,
String x068 ,
String x069 ,
String x070 ,
String x071 ,
String x072 ,
String x073 ,
String x074 ,
String x075 ,
String x076 ,
String x077 ,
String x078 ,
String x079 ,
String x080 ,
String x081 ,
String x082 ,
String x083 ,
String x084 ,
String x085 ,
String x086 ,
String x087 ,
String x088 ,
String x089 ,
String x090 ,
String x091 ,
String x092 ,
String x093 ,
String x094 ,
String x095 ,
String x096 ,
String x097 ,
String x098 ,
String x099 ,
String x100 ,
String x101 ,
String x102 ,
String x103 ,
String x104 ,
String x105 ,
String x106 ,
String x107 ,
String x108 ,
String x109 ,
String x110 ,
String x111 ,
String x112 ,
String x113 ,
String x114 ,
String x115 ,
String x116 ,
String x117 ,
String x118 ,
String x119 ,
String x120 ,
String x121 ,
String x122 ,
String x123 ,
String x124 ,
String x125 ,
String x126 ,
String x127 ,
String x128 ,
String x129 ,
String x130 ,
String x131 ,
String x132 ,
String x133 ,
String x134 ,
String x135 ,
String x136 ,
String x137 ,
String x138 ,
String x139 ,
String x140 ,
String x141 ,
String x142 ,
String x143 ,
String x144 ,
String x145 ,
String x146 ,
String x147 ,
String x148 ,
String x149 ,
String x150 ,
String x151 ,
String x152 ,
String x153 ,
String x154 ,
String x155 ,
String x156 ,
String x157 ,
String x158 ,
String x159 ,
String x160 ,
String x161 ,
String x162 ,
String x163 ,
String x164 ,
String x165 ,
String x166 ,
String x167 ,
String x168 ,
String x169 ,
String x170 ,
String x171 ,
String x172 ,
String x173 ,
String x174 ,
String x175 ,
String x176 ,
String x177 ,
String x178 ,
String x179 ,
String x180 ,
String x181 ,
String x182 ,
String x183 ,
String x184 ,
String x185 ,
String x186 ,
String x187 ,
String x188 ,
String x189 ,
String x190 ,
String x191 ,
String x192 ,
String x193 ,
String x194 ,
String x195 ,
String x196 ,
String x197 ,
String x198 ,
String x199 ,
String x200 ,
String x201 ,
String x202 ,
String x203 ,
String x204 ,
String x205 ,
String x206 ,
String x207 ,
String x208 ,
String x209 ,
String x210 ,
String x211 ,
String x212 ,
String x213 ,
String x214 ,
String x215 ,
String x216 ,
String x217 ,
String x218 ,
String x219 ,
String x220 ,
String x221 ,
String x222 ,
String x223 ,
String x224 ,
String x225 ,
String x226 ,
String x227 ,
String x228 ,
String x229 ,
String x230 ,
String x231 ,
String x232 ,
String x233 ,
String x234 ,
String x235 ,
String x236 ,
String x237 ,
String x238 ,
String x239 ,
String x240 ,
String x241 ,
String x242 ,
String x243 ,
String x244 ,
String x245 ,
String x246 ,
String x247 ,
String x248 ,
String x249 ,
String x250 ,
String x251 ,
String x252 ,
String x253 ,
String x254
// , String x255 // Error: too many parameters
) {}