java中的enum有啥用呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的enum有啥用呢?相关的知识,希望对你有一定的参考价值。
enum也就是枚举,像一个集合,只不过集合里面的内容都固定了.public enum Season3
SPRING("春天"),
SUMMER("夏天"),
AUTUMN("秋天"),
WINTER("冬天");
private String name;
private Season3(String name)
this.name = name;
public double getAvgTemp()
switch(this)
case SPRING:return 10.2;
case SUMMER:return 25.8;
case AUTUMN:return 19.6;
case WINTER:return -3.6;
return 0.0;
public String getName()
return name;
public class Test
public static void main(String[] args)
m3(Season3.SPRING);
public static void m3(Season3 season)
System.out.println(season.getName()+":"+season.getAvgTemp());
Season3[] allSeason = Season3.values();//返回枚举类中所有枚举值的一个数组
System.out.println(allSeason[0]);
参考技术A Enum一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用”==”来替换equals。是一种好的习惯。例如:
性别:
public enum SexEnum
male, female;
颜色:
public enum Color
RED, BLUE,GREEN,BLACK;
本质上 male=0,female=1;同理 RED=0,BLUE=1,GREEN=2,BLACK=3;但是用这种方式表达比直接用0,1,2,3要形象和富有意义。本回答被提问者采纳 参考技术B 这个是列举的意思,比如你想要一个星期几的随机数,你可以把星期几的七天放进enum里面,这样随机出来的只有星期几,没有其他的数据。
CGRectIntegral 有啥用呢?
【中文标题】CGRectIntegral 有啥用呢?【英文标题】:CGRectIntegral what is the usage of it?CGRectIntegral 有什么用呢? 【发布时间】:2012-04-02 11:02:53 【问题描述】:如何使用 CGRectIntegral 函数?我明白它的目的。
documentation 的具体用途尚不清楚。
【问题讨论】:
【参考方案1】:CGRectIntegral 将任何十进制值转换为等效整数 看图可能你就明白了
我该如何解决?
frame = CGRectIntegral(frame);
-或-
myTextView.frame = CGRectIntegral(myTextView.frame);
看到这个for more information of CGRectIntegral
【讨论】:
左边的图像有点模糊,因为框架设置在像素边界上。所以原点类似于 20.5、8.5。 CGRectIntegral 将其捕捉回 20, 8。 如果您想在 iOS 模拟器中以紫色突出显示模糊图像,请选择“调试”>“颜色未对齐的图像”。这样一来,您就不必四处眯着眼睛找出哪些东西是模糊的。 补充一点很重要:CGRectIntegral 用于填充/绘制像素缓冲区。描边形状以它们的坐标为中心,因此您实际上可能需要非整数(例如 1x 屏幕上的 0.5)坐标以使它们看起来清晰。更详细的解释见这里:orangejuiceliberationfront.com/…【参考方案2】:CGRectIntegral
方法用于创建整数 rect 。我的意思是假设如果您在应用程序中计算帧,您可能会在浮点数中获得帧值。
将浮点值设置为某些 UIElement(如 UILabel
)的框架会使文本看起来模糊。为了避免这种情况,我们使用CGRectIntegral
。请看下面的例子,
NSLog(@"%@",NSStringFromCGRect( CGRectIntegral(CGRectMake(0, 15.6, 16.1, 20.2))));
这将打印,0,15,17,21。
这个解释可以在头文件中找到。
/* Expand `rect' to the smallest rect containing it with integral origin and
size. */
【讨论】:
【参考方案3】:一种特殊用途是修复与屏幕像素不完全对齐的帧。
看到这个问题:UITextField blurred text
如果标签或文本字段在呈现到屏幕时具有未像素对齐的框架,则文本将显得模糊。如果您使用除法计算框架(例如在父视图中居中),就会发生这种情况。
CGRectIntegral
将删除帧的小数部分,从而解决此问题。但是请注意,对于视网膜显示,0.5 帧值是像素对齐的,但 CGRectIntgral 仍会删除小数部分。
【讨论】:
以上是关于java中的enum有啥用呢?的主要内容,如果未能解决你的问题,请参考以下文章