当我慢慢浏览java教程时,我遇到了java助手类。代码是
async def new_sleep():
await asyncio.sleep(2)
class Waiting:
def __await__(self):
@asyncio.coroutine
def wrapper(coro):
return (yield from coro)
return (yield from wrapper(new_sleep()))
但是,即使直接分配给辅助类,它也能正常工作。
public static void main(String args[]) {
char myLittleChar = 'b';
char myBigChar = Character.toUpperCase(myLittleChar);
System.out.println(myBigChar);
同样适用于短期或浮动式。
但是,我在任何教程或任何示例代码中都没有遇到过这么多,并且被声明为Character c = 'a';
System.out.println(c.toUpperCase(c));
,int
等。它被认为是一种不好的做法吗?如果是这样,为什么?
谢谢。
答案 0 :(得分:3)
Character将原始的双字节char包装在一个对象中。这是多余的。 你可以写
char myBigChar = Character.toUpperCase('b');
所以这是效率问题。
顺便说一句,String已经是一个对象了,并没有这种冗长。
答案 1 :(得分:3)
如果我理解你在问什么,你想知道包装器Object
类与其原始对应物的实用程序。
包装类有许多优点:
在你问题的另一面,有一个名为拳击/拆箱的概念。
当您:Character c = 'a';
时,您将 autoboxing 原始值'a'
添加到其包装器Character
类中。
如果您使用char a = c;
之类的内容执行该任务,则会自动将包装器的值拆箱到其原始对应项中。