commons.lang中有哪些常用的工具

cba09
commons.lang中有哪些常用的工具
导读:一、前言    Java码农不识Apache,敲尽一生也枉然。旗下的开源项目众多,各个都是吊炸天。今日且说Commons,轻轻点击此链接进入Apache Commons主页,Logging、Pool、Net、ONGL、EL、IO、DBCP、

一、前言

    Java码农不识Apache,敲尽一生也枉然。旗下的开源项目众多,各个都是吊炸天。今日且说Commons,轻轻点击此链接进入Apache Commons主页,Logging、Pool、Net、ONGL、EL、IO、DBCP、Email、Collection、Lang……等等项目中常用到的包。而这篇文章的主角Lang则是我们最常用的工具作为jdk的补充,怎能不去详细探究一番!

二、字符串的处理类(StringUtils)

    orgapachecommonslang3StringUtils 继承Object,Operations on String that are null safe。所谓的null safe就是对String进行操作不会出现NullPointerException异常,很实用有没有!以后再也不怕到处出现空指针异常了。先看看官方文档中这个类都有些什么 *** :

    这些 *** 基本上看 *** 名,就能猜出它大概的作用了。

//缩短到某长度,用结尾其实就是(substring(str, 0, max-3) + "")

        //public static String abbreviate(String str,int maxWidth)

        StringUtilsabbreviate("abcdefg", 6);// ---"abc"

         

        //字符串结尾的后缀是否与你要结尾的后缀匹配,若不匹配则添加后缀

        StringUtilsappendIfMissing("abc","xyz");//---"abcxyz"

        StringUtilsappendIfMissingIgnoreCase("abcXYZ","xyz");//---"abcXYZ"

         

        //首字母大小写转换

        StringUtilscapitalize("cat");//---"Cat"

        StringUtilsuncapitalize("Cat");//---"cat"

         

        //字符串扩充至指定大小且居中(若扩充大小少于原字符大小则返回原字符,若扩充大小为 负数则为0计算 )

        StringUtilscenter("abcd", 2);//--- "abcd"

        StringUtilscenter("ab", -1);//--- "ab"

        StringUtilscenter("ab", 4);//---" ab "

        StringUtilscenter("a", 4, "yz");//---"yayz"

        StringUtilscenter("abc", 7, "");//---"  abc  "

         

        //去除字符串中的"\n", "\r", or "\r\n"

        StringUtilschomp("abc\r\n");//---"abc"

         

        //判断一字符串是否包含另一字符串

        StringUtilscontains("abc", "z");//---false

        StringUtilscontainsIgnoreCase("abc", "A");//---true

         

        //统计一字符串在另一字符串中出现次数

        StringUtilscountMatches("abba", "a");//---2

         

        //删除字符串中的梭有空格

        StringUtilsdeleteWhitespace("   ab  c  ");//---"abc"

         

        //比较两字符串,返回不同之处。确切的说是返回第二个参数中与之一个参数所不同的字符串

        StringUtilsdifference("abcde", "abxyz");//---"xyz"

         

        //检查字符串结尾后缀是否匹配

        StringUtilsendsWith("abcdef", "def");//---true

        StringUtilsendsWithIgnoreCase("ABCDEF", "def");//---true

        StringUtilsendsWithAny("abcxyz", new String[] {null, "xyz", "abc"});//---true

         

        //检查起始字符串是否匹配

        StringUtilsstartsWith("abcdef", "abc");//---true

        StringUtilsstartsWithIgnoreCase("ABCDEF", "abc");//---true

        StringUtilsstartsWithAny("abcxyz", new String[] {null, "xyz", "abc"});//---true

         

        //判断两字符串是否相同

        StringUtilsequals("abc", "abc");//---true

        StringUtilsequalsIgnoreCase("abc", "ABC");//---true

         

        //比较字符串数组内的所有元素的字符序列,起始一致则返回一致的字符串,若无则返回""

        StringUtilsgetCommonPrefix(new String[] {"abcde", "abxyz"});//---"ab"

         

        //正向查找字符在字符串中之一次出现的位置

        StringUtilsindexOf("aabaabaa", "b");//---2

        StringUtilsindexOf("aabaabaa", "b", 3);//---5(从角标3后查找)

        StringUtilsordinalIndexOf("aabaabaa", "a", 3);//---1(查找第n次出现的位置)

         

        //反向查找字符串之一次出现的位置

        StringUtilslastIndexOf("aabaabaa", 'b');//---5

        StringUtilslastIndexOf("aabaabaa", 'b', 4);//---2

        StringUtilslastOrdinalIndexOf("aabaabaa", "ab", 2);//---1

         

        //判断字符串大写、小写

        StringUtilsisAllUpperCase("ABC");//---true

        StringUtilsisAllLowerCase("abC");//---false

         

        //判断是否为空(注:isBlank与isEmpty 区别)

        StringUtilsisBlank(null);StringUtilsisBlank("");StringUtilsisBlank(" ");//---true

        StringUtilsisNoneBlank(" ", "bar");//---false

         

        StringUtilsisEmpty(null);StringUtilsisEmpty("");//---true

        StringUtilsisEmpty(" ");//---false

        StringUtilsisNoneEmpty(" ", "bar");//---true

         

        //判断字符串数字

        StringUtilsisNumeric("123");//---false

        StringUtilsisNumeric("12 3");//---false (不识别运算符号、小数点、空格……)

        StringUtilsisNumericSpace("12 3");//---true

         

        //数组中加入分隔符号

        //StringUtilsjoin([1, 2, 3], ';');//---"1;2;3"

         

        //大小写转换

        StringUtilsupperCase("aBc");//---"ABC"

        StringUtilslowerCase("aBc");//---"abc"

        StringUtilsswapCase("The dog has a BONE");//---"tHE DOG HAS A bone"

         

        //替换字符串内容……(replacePattern、replceOnce)

        StringUtilsreplace("aba", "a", "z");//---"zbz"

        StringUtilsoverlay("abcdef", "zz", 2, 4);//---"abzzef"(指定区域)

        StringUtilsreplaceEach("abcde", new String[]{"ab", "d"},

                new String[]{"w", "t"});//---"wcte"(多组指定替换ab->w,d->t)

         

        //重复字符

        StringUtilsrepeat('e', 3);//---"eee"

         

        //反转字符串

        StringUtilsreverse("bat");//---"tab"

         

        //删除某字符

        StringUtilsremove("queued", 'u');//---"qeed"

         

        //分割字符串

        StringUtilssplit("abc", '');//---["a", "b", "c"]

        StringUtilssplit("ab:cd:ef", ":", 2);//---["ab", "cd:ef"]

        StringUtilssplitByWholeSeparator("ab-!-cd-!-ef", "-!-", 2);//---["ab", "cd-!-ef"]

        StringUtilssplitByWholeSeparatorPreserveAllTokens("ab::cd:ef", ":");//-["ab"," ","cd","ef"]

         

        //去除首尾空格,类似trim……(stripStart、stripEnd、stripAll、stripAccents)

        StringUtilsstrip(" ab c ");//---"ab c"

        StringUtilsstripToNull(null);//---null

        StringUtilsstripToEmpty(null);//---""

         

        //截取字符串

        StringUtilssubstring("abcd", 2);//---"cd"

        StringUtilssubstring("abcdef", 2, 4);//---"cd"

         

        //left、right从左(右)开始截取n位字符

        StringUtilsleft("abc", 2);//---"ab"

        StringUtilsright("abc", 2);//---"bc"

        //从第n位开始截取m位字符       n  m

        StringUtil *** id("abcdefg", 2, 4);//---"cdef"

         

        StringUtilssubstringBefore("abcba", "b");//---"a"

        StringUtilssubstringBeforeLast("abcba", "b");//---"abc"

        StringUtilssubstringAfter("abcba", "b");//---"cba"

        StringUtilssubstringAfterLast("abcba", "b");//---"a"

         

        StringUtilssubstringBetween("tagabctag", "tag");//---"abc"

        StringUtilssubstringBetween("yabczyabcz", "y", "z");//---"abc"

   

三、其它类简介

    RandomStringUtils:

   

        //随机生成n位数数字

        RandomStringUtilsrandomNumeric(n);

        //在指定字符串中生成长度为n的随机字符串

        RandomStringUtilsrandom(n, "abcdefghijk");

        //指定从字符或数字中生成随机字符串

        Systemoutprintln(RandomStringUtilsrandom(n, true, false));  

        Systemoutprintln(RandomStringUtilsrandom(n, false, true));

   

    NumberUtils:

        //从数组中选出更大值

        NumberUtil *** ax(new int[] { 1, 2, 3, 4 });//---4

        //判断字符串是否全是整数

        NumberUtilsisDigits("1534");//--false

        //判断字符串是否是有效数字

        NumberUtilsisNumber("03211");//---false

    ArrayUtils:

   

  

      //创建数组

        String[] array = ArrayUtilstoArray("1", "2");

        //判断两个数据是否相等,如果内容相同, 顺序相同 则返回 true

        ArrayUtilsisEquals(arr1,arr2);

        //判断数组中是否包含某一对象

        ArrayUtilscontains(arr, "33");

        //二维数组转换成MAP

        Map map = ArrayUtilstoMap(new String[][] { 

                { "RED", "#FF0000" }, { "GREEN", "#00FF00" }, { "BLUE", "#0000FF" } });

   

    DateUtils:

   

        //日期加n天

        DateUtilsaddDays(new Date(), n);

        //判断是否同一天

        DateUtilsisSameDay(date1, date2);

        //字符串时间转换为Date

        DateUtilsparseDate(str, parsePatterns);

   

四、结语

    本文只是简单的介绍了commons-lang中的一些常用工具类,还有许多挺实用的就不一一列举。还是要自己去查阅文档试用了才能体会到它的简便。

歪歪书吧提供玄幻小说、武侠小说、电脑同步阅读还可以下载电子书TXT,CHM,言情小说、网游小说等小说在线阅读、,“歪歪书吧”在塞班安家落户,免费手机阅读与免费电子书下载服务。歪歪书吧电子书下载 歪歪书吧首页_ 中国白领必读的职场修炼小说。电子书下载R玉仙缘歪歪书吧针对性管理并进一步规范和明确了相关业务办理要求在更加便利正常

之一种:通过U盘安装软件

1 首先通过电脑百度搜索电视猫视频,进入电视猫官网,下载最新版的安装包,并拷贝到U盘中;

2将U盘插入乐视电视的u *** 插口,会弹出提示框,然后选择查看“全部”,如果没有弹出这个对话框的用户,可以找到“文件管理”后,进入U盘,见下图;

3然后从U盘中找到刚才下载的“电视猫视频”安装包 ,点击遥控器“确定”键来安装“电视猫视频”

4之后会弹出一个对话框,然后点击“安装”按钮,就开始自动安装软件;

5安装完成之后电视“完成”就可以在桌面上找到“电视猫视频”的图标了

第二种:通过自带浏览器安装软件:

1、打开乐视自带的“浏览器”,在地址栏输入“wwwmoretvcomcn”,前往电视猫官网;

2、在电视猫官网中下载“电视猫视频”apk;

3、下载完成后,点击右上角的“设置”按钮,选择“下载管理”;

4进入“下载目录”,点击本地储存;

5在“已完成”中就可以找到刚刚下载的“电视猫视频”安装包啦,点击即可完成安装;

6点击“安装按钮”,之后就会自动安装了

7安装完之后就可以在桌面上找到“电视猫视频”图标了

安装好之后,打开电视猫就可以开始享受智能影音生活了!

品牌的复利

说起中国的运动品牌,你之一个会联想到的会是谁?

我想很多人答案,会和我一样,是李宁。

在中国的商业语境中,有两条规模化成长的路径,一种是成为大的企业,一种是成为大的品牌,前者对应的外生力,通过资本扩张,实现体量上的快速膨胀;后者对应的是内生力,是自己长起来的品牌,它不仅需要“规模效应”,更需要持续盈利能力。

“我一直希望做一个中国的运动品牌”,正如在一档采访节目中,李宁如是说道,“以我过去的经验来看,要做一家能赚钱的公司,不是很难,但做成一个品牌,真的很难。我们所等到的,是新生代成长起来了,他们并不拒绝国货,给了国货品牌发展的空间。”

这个世界上除了规模,有一些东西依然是有价值的。对于品牌而言,需要找到符合你的复利曲线和模式,把品牌的定位做到极致。

成立三十二年的李宁,正是在经历了四个不同阶段的竞争后,回归品牌价值定位,以及品牌的复利增长的模式。

品牌初创阶段:1990年-2003年,李宁以品牌化形象填补市场空白,在与以OEM起家的晋江系品牌的竞争中,快速崛起;

品牌发展阶段:2004年-2008年,以港交所上市为新起点,李宁在专业化、国际化的道路上高速发展,支持中国奥运代表团出征雅典,签约NBA知名球星奥尼尔,成为NBA官方合作伙伴,并逐步建立李宁运动科学研究中心,推动李宁品牌专业科技实力提升;

品牌转型阶段:2009年-2013年,在金融危机和行业周期波动的大背景下,李宁开始渠道变革,从批发模式向零售模式转型,经历了低谷阵痛期;

品牌焕新阶段:2014年至今,李宁不断追求“李宁式体验价值”,通过“三大聚焦、六大效率”,打造“肌肉型企业体质”,带动品牌重回增长高位。

或许,从短的时间周期来看,品牌的成长可以归因于外部红利。但如果把时间轴拉长,你会明白商业世界存在着客观规律。它会告诉我们,从发展到成熟,必须迈过过程中对路径的依赖,并迭代出全新的版本。

正如在当下不断涌现的,踩着时代和资本红利而起的新品牌中,只有那些真正相信和尊重客观规律、直面现实的,才能够穿越牛熊,蜕变成真正的品牌。

李宁,正是跨越成长周期的中国品牌样本。

回归增长曲线

在最新发布的2021财年年报中,我看到的是营收规模和经营能力双增长。

2021财年内,李宁集团收入达22572亿元人民币,较前一年同比上升561%。净利润4011亿元,同比增长1361%,整体毛利率为53%,同比上涨39个百分点。在营收和净利润增速上,分别约为耐克的295倍和108倍。

尤其在“国产替代国际品牌”的风潮中,李宁抓住了国货替代增量。据第三方统计数据显示,相比2018年,李宁2021的市场占有度上涨两个百分点。

或许单看数据,两个百分点的占比提升并不多,但放在整个中国运动服饰产业的规模来看,两个百分点的提升是非常大的,领先于其他国产品牌。

除了规模增速以外,另一个值得关注的指标是现金流储备,尤其是经营活动产生的现金净额。财报数据显示,李宁去年经营活动产生的现金净额为6525亿元人民币,相较于2020年的2763亿,增长了一倍有余。

经营活动现金流的回升,反馈出李宁在公司渠道收入的增长,以及新品销售的强劲。整体零售流水实现超50%-60%的高段增长,新品(国际市场和李宁YOUNG除外)的零售流水占比达86%。同样在流通环节的渠道存货结构上,新品(六个月或以下)占渠道存货的92%。

在线下渠道中,新品贡献的销售收入占比实现60%-70%的高段增长,占比提升7个百分点,新品在三个月、六个月的售罄率分别改善13%和14%。李宁集团现金周期维持在20天的健康水平,线下终端零售折扣改善超过35个百分点。

在10年前经历短暂的库存危机后,如今李宁的库存管理能力可谓强大。10年间的变化背后,是李宁企业“内功”的持续加强。

在渠道收入结构上,李宁的电商渠道持续发力,连续五年保持2473%的年均增长率,已经占整体销售收入的约30%。线下渠道持续拓展,2021年李宁销售点总数为5935家,同比增加23家,对比营收的高速增长,可以看出单店效率正在稳步增长。同时,儿童业务李宁YOUNG,正在呈现明显的扩张之势,销售点数较2020年新增181家,达到1202家。

销售点数量增长的同时,李宁也在渠道方面开始发力“大店”。2021年,李宁首次实现了之一家月零售流水超过千万元的大店,并将在未来持续完善大店矩阵,同步推进店铺结构优化,加速清理亏损、低效和微型面积店铺,让“高效大店”带动线下渠道的高增长。

在贯彻“单品牌、多品类、多渠道”的战略方向,以及 “三总部两基地”的战略落地,李宁巩固了业务发展,实现李宁式体验价值的同时,也打通了设计、研发、生产、物流等上下游环节,逐步完成了全产业链生态体系的建设。

而在经营效率上,李宁持续夯实“肌肉型企业”战略,聚焦消费者、市场、商品与卖场,不断提升全渠道、店铺运营、库存、商品经营、组织架构和成本六个效率指标。

这一战略的推进,也提升了企业资金利用率。在营收大幅增长561%的同时,运营资金占收入比例下降2个百分点,资金使用效率的提升,意味着经营效率的同比提升。

相较于财报上的量化指标,或许消费人群的变迁,以及“肌肉型企业”体质的打造,更能够呈现李宁“内生力”的一面。

商业的本质是人

商业的本质是人。不同年龄层的人群,所呈现出消费需求差距,形成了不同的品类机会,我称之为“代际红利”。回溯中国运动产业的三十年,人群的演变,也在影响着产业的竞争规则。

之一阶段:从90年代到2000年左右,体育用品的消费在初级阶段,供应不充分,那时只要你能做出产品,有渠道铺货,就能卖出去,产品功能方面并没有太大的需求;

第二阶段:2005年以后,市场逐步开始转变,供应变得越来越多,产品加工转移到了中国,富余的产能转向做国内市场。企业竞争策略都一样,推出类似的产品,拼的是渠道,你开一家店,我开两家店,再到价格战;

第三阶段:2017年至今,随着Z世代步入职场,对运动产品的需求影响着消费选择。他们不再有“国外国产”的品牌隔阂和消费包袱。

随着运动成为一种生活方式,运动鞋服已不单单是以功能性为主的“运动时候的选择"。运动品牌设计元素的多元化,使得在专业运动人群和运动爱好者之外,越来越受到Z世代人群的欢迎,被用于日常休闲穿搭。

新生代,就是新的消费力。

从1990年以原创品牌面世,到自我变革,重回增长曲线,李宁之所能如此抗周期,主要原因在于:

一方面,从专业运动和运动生活两个维度,将产品与运动及生活方式场景强挂钩,占领了核心用户心智。

另一方面,通过线上线 *** 验设计,综合服务、营销、店铺、电商等触点,诠释“产品体验+购买体验+运动体验”的李宁体验式价值,将“专业运动基因+运动潮流表达”的品牌记忆,传递给消费者,潜移默化地覆盖更大的消费范围。

这背后,离不开两个支撑点:

之一,李宁贯彻“单品牌、多品类、多渠道”的战略方向,丰富专业产品体系,搭建“䨻”和“弜”等专业科技平台,融合多元化运动潮流风格,并透过多品类矩阵及多渠道布局,优化生意模式。

李宁在各条产品线上实现均衡增长。其中,运动生活品类保持突出的表现,全年录得71%的零售流水增长;专业方面,跑步、篮球健身品类增速也显著提升。尽管运动生活品类高速增长,跑步、篮球、健身等组成的“专业运动品类群”,还是占据着李宁近60%的份额,专业运动依然是李宁的核心。

在品类颗粒度上,李宁正在深耕细分品类价值,正如李宁所说:“过去几年,我们一直持续着投入在篮球,如何让一双篮球鞋配得上CBA的球星,配得上NBA的球星;如何让一双跑鞋,配得上一个马拉松冠军;如何把一些科技功能材料,应用到我们的产品,我们的产品会成为同步于世界领先的科技水平和引领能力,过去几年我们在这方面的投入还是很有效的。”

在品牌认同上,李宁也将中国文化符号与专业产品进行融合,展现了品牌独特的驾驭能力。例如,通过 “反伍”系列,将街头篮球文化融入中国城市特色元素;以日进斗金、滑板和樱花等IP系列产品,连接运动与生活潮流,为消费者提供生活方式新选择;与传奇滑手Erik Ellington、法国艺术家DFT、成龙功夫等联名跨界合作,帮助品牌触达更多元的消费圈层。

第二,在运营效率的夯实上,李宁以“肌肉型企业”为锚,建立起高效的内外部协同,进一步控制不必要的费用开支,优化经营利润率。从而建立可持续发展、以及可持续提高盈利能力的经营体制,持续强化公司核心竞争力。

在商业观察中,我看到过很多企业,秉着“搏一把大的”的理念,通过资本、杠杆,能够快速撬动规模上的增长,这种增长模式是脆弱的、虚胖的,市场风口一转,就容易被内部经营效率拖垮。

李宁的“肌肉型企业”的实质,正是通过结构和流程优化,提升抗风险能力,实现规模增长、经营效率的同比提升。尤其在充满不确定性的当下,更考验企业的“内部修为”,李宁的“肌肉型企业”显得更为重要。

品牌从内生长

在拳击主题**《洛奇》中,有这么一段经典台词,“胜利的关键不是你可以打出多重的拳,而是你可以承受住多重的打击并且能够一直向前”。

同样,对于可持续向上增长的商业模式而言,看的不是长板,而是没有短板,它意味着全维度的经营能力。

李宁“肌肉型企业”所包含的,正是“三大聚焦、六大效率”,即聚焦消费者、商品与卖场、市场,往外延伸一层是追求全渠道、成本、组织架构、商品经营、库存和店铺运营的效率。

六大效率,组成了企业内生力的肌肉群,它们协同发力,支撑起“单品牌、多品类、多渠道”的战略落地,实现全品类的均衡增长。

下面,我来围绕商品、库存、渠道和供应链四个维度,逐个拆解李宁“肌肉型企业”的打造。

商品经营:强化商品运营管理,完善商品计划体系

具体来说,李宁缩小商品宽度,增加核心款深度,并建立起“月度计划、周度销售回顾”的敏捷反应的机制,快速将业务一线的问题,反馈到运营决策端,并通过短周期的计划,指导日常销售管理活动,针对性地调整折扣力度,加速当季商品的消化,克制打折的力度,提升售罄率。

此外,任何产品最终都要迈向“商品化”过程,它需要通过流通环节和终端转化情况的把控,来验证产品的商业化价值。李宁通过连通各环节数据反馈,能够进行快速验证和策略调整,进而充分实现商品的价值,并通过市场反馈加速迭代产品,保证用户的产品体验。

李宁有的放矢、快速优化,以“问题导向”实现决策的及时性和有效性,避免决策链路的“臃肿迟钝”。

库存效率:用合理的库存做更好生意

良好的库存管理,需要的是一个动态平衡,太多了,会造成库存积压,成本不可控,太少了,不能放大新品效能,影响收益,这背后需要克服更大不确定性——需求不确定性(预测的准确度、及时性),最终确定合理的库存。

这需要企业数字化能力,以及建立一条快速反应、实时共享的极致。

李宁每周会识别库存风险,建立起全公司库存共享的信息平台,及时消化老品和滞销新品,确保库存总额和结构处于合理水平。并根据月度计划,加强终端门店的调拨、集约和下沉,实现“需求”和“供给”之间的平衡,提升库存管理的灵活性。

这背后,是企业数字化和内部流程改造的结果,缺一不可。

渠道效率:拓展高质量可盈利店铺

在传统的认知里,“渠道”是商品流通的环节,而在李宁的语境中,“渠道”是“品牌触点”,是用户与品牌的连接,无论是亲身经历、身临其境,还是间接分享、一眼瞟过,人们与品牌的每次接触都会形成体验,形成感知、印象与记忆。

在明确由“直营高效店矩阵建立”到“批零协同升级”后,李宁正在加速“渠道”向“品牌触点”的转化。

对此,李宁加速优质店铺开设,于核心城市开设地标性旗舰店,持续改善店铺形象和店铺质量;零售运营方面,注重单店经营表现,打造一个个运动文化的“社区”。

供应链:变被动生产为主动生产

起势靠品牌力,成事供应链,稳定的供应链基础,能使品牌在版图扩展时更加游刃有余。

这需要品牌形成与供应商之间稳定的、长期的伙伴关系,持续评估、确定核心供应商,提升核心供应商的订单占比,和对产能、定制化需求的保障。截至年末,供应商数量增加4家,鞋增加7家,服减少3家,前三大供应商产能占比超45%。

而比起纯实物的消费升级,基于场景的体验经济更值得关注。

基于“肌肉型企业”的打造,李宁才能在与用户接触的每个MOT(Moment Of Truth),传递出“产品体验、购买体验和运动体验”的李宁体验式价值。

MOT(Moment Of Truth)是由北欧航空公司前总裁卡尔森提出的,他认为关键时刻是客户与企业的各种资源发生接触的那一刻,这个东西很重要。

比如洗车场景,我们公司楼下的洗车店,你去提车,往那一坐,主动提一瓶水,你洗完车,坐到车上,又发现两瓶水,其实这两瓶水一共就 4 块钱,用的还是农夫山泉,但却产生了 40 块都解决不了的感觉。

对于每一位用户而言,感受到的是一个“用运动点燃 *** ”的李宁。但在背后,李宁围绕消费者、市场和商品卖场,实现商品经营效率、库存效率、店铺运营效率、全渠道效率、成本效率、组织架构效率这六个方面的效率提升,是持续的、刻意练习的“练肌肉”的过程。

练肌肉是个特痛苦的事,每天都得坚持,一个星期不练,对手就能够察觉到,你只有不断去练,把它练成一种习惯,才能固化为企业的共识,为企业带来更多的成长动力。

专业主义者的胜利

近几年,国货崛起的声浪迭起,从表面上看,似乎是“雷声大雨点小”。但事实上,在潜移默化中,一些服饰品类如运动服饰行业,已经实现“华丽转身”。

抓住一轮轮行业景气度上升的机会,给坚实的品牌内核注入新的理解和活力,推动行业整体进入下一个增长周期。这个过程中,走得更早、更远的品牌,收获也更大。

森林里最能承受风暴的,往往是根基扎得够深够稳的那棵树,在事事讲究专业的竞技体育行业,运动品牌没有捷径可走。

在中国,在未来,谁才会获得成功?我想是专业主义者。那个只靠生意嗅觉,胆子大,酒桌文化就能赚到钱的时代,正在过去(不是说已经没钱赚,是正在式微)。专业主义者、掌握技术的人赚钱的时代到来了,它是基于对客观规律的理解和尊重,持续地做出系列的、大概率正确的决策。

从“单品牌、多品类、多渠道”的发展战略,到聚焦“产品、消费者、商品与卖场”打造肌肉型企业,这是基于对客观规律的理解,对品牌的不断改造和适应的过程。

或许,从伟大的企业,到伟大的品牌,以李宁为代表的中国品牌,正行走在路上。

编辑:Mark

总编:沈帅波

abaab bbabb aaaab abbbb abbbb aabaa babba babbb baaba babba ababa bbbba ababb abbab bbbba aabaa aacac aacbc abcba baaac

丁渝

最新的一届篮球亚锦赛是2015长沙亚锦赛,比赛一共16只球队参加。

2015年男篮亚锦赛共有16支球队参赛。

小组赛的分组,这16支球队分别是:

2015男篮亚锦赛A组:伊朗、日本、马来西亚、印度

2015男篮亚锦赛B组:菲律宾、巴勒斯坦、科威特、中国香港

2015男篮亚锦赛C组:韩国、约旦、中国、新加坡

2015男篮亚锦赛D组:中华台北、黎巴嫩、卡塔尔、哈萨克斯坦

您好,建议您按如下设置:

1,在桌面,选中网上邻居,右键,属性

2,双击本地连接,点属性

3,双击Internet协议(TCP/IP)

4,选“使用下面的DNS服务器地址”,在框框里输入8888,确定