篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6String str="i"与 String str=new String(“i”)一样吗?相关的知识,希望对你有一定的参考价值。
String str="i"会将起分配到常量池中,常量池中没有重复的元素,如果常量池中存中i,就将i的地址赋给变量,如果没有就创建一个再赋给变量。
String str=new String(“i”)会将对象分配到堆中,即使内存一样,还是会重新创建一个新的对象。
去除str首尾空格(切片)
## str长度 循环,判断
### [:i] [i:] 记录位置点
## 方法1
def trim2(s):
s2 = ""
start = 0
end = 0
# 找出第一个不为空的项的索引
for i in range(len(s)):
if s[:i] == (i + 1) * " " or s[:i] == (i + 1) * "":
pass
else:
start = i
break
# 找出最后一个不为空的项的索引
for i in range(len(s)):
if s[i:] == (len(s) - i) * " ":
pass
else:
end = i
print(s[start:end + 1])
return (s[start:end + 1])
trim2(" mao tai")
## 第二种方法
def trim3(s):
while s[:1] == ' ':
s = s[1:]
print(s)
while s[-1:]==' ':
s = s[:-1]
trim3(" maotai3 s ")