gpt4 book ai didi

java - 我可以将 'byte' 用于 boolean 数组吗?

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:50 27 4
gpt4 key购买 nike

在我们正在制作的应用程序(iOS/Swift、Android)中,我们有一个设置页面用于用户何时想要接收推送通知。其中一项设置是供用户选择一周中的哪几天。

我的问题是关于如何将此选项存储为一个变量,而不是七个 boolean 值。该设置将被发送到服务器/数据库进行存储,我想我们可以简单地在数据库中使用一个字节字段。而不是 monday=true, tuesday=false, ...,我想使用例如“10001010”,其中 1 为真,0 为假,这将转换为 monday=true( 1), tuesday=false(0), 等等(假设星期一是一周的第一天,它是..)。

这是存储此类数据的有效方法吗?我可以创建这样的字节吗?还是使用字符串/字符[]“10001010”是一种更常用的做法?或者数据库(例如 MySQL)可以将 bool[] (10001010) 存储为一个字段吗?或者还有另一种更好的做法吗?用于权限的方法也想到了(你知道的,777,只是简化了)

当然,有些变体会要求服务器对变量使用相同的逻辑,但这在这种情况下没有问题。

简短说明,我需要七个 boolean 值,一个对应一周中的每一天,而且我想比每天一个变量更有效地存储它。是否有“最佳实践”?

最佳答案

这个问题“shreaks”过早优化:

  • 7 个 boolean 变量占用的空间可以忽略不计(可能是 7 x 4 字节)...除非您需要同时在内存中保存数十万个用户设置对象。

    <
  • 网络带宽的差异可以忽略不计......除非您要发送数百万条消息。

  • 数据库表空间的差异可以忽略不计......除非您在数据库中存储数百万条用户记录。


Is this a valid way to store such data?

定义“有效”。但是是的,它有效(大部分)。

I want to store it more efficiently than one variable per day

是的……但有必要这样做吗?您是否量化了这种(假设的)效率可能带来的 yield 。


就其值(value)而言,将多个 boolean 值打包成一个字节/字/其他内容会受到一些惩罚。这些包括:

关于java - 我可以将 'byte' 用于 boolean 数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36131826/

27 4 0
文章推荐: ios - 我如何使圆形 View 与桨碰撞
文章推荐: html - 使用 CSS 检测